/* Ryan Smith Photography only (loaded by inc/rsp.php). */

/* The Ask a question chat (ask.js) reads these site colours. */
:root {
  --kit-primary: #2f343b;
  --kit-on-primary: #fff;
  --kit-page: #fcfcfc;
  --kit-paper: #fff;
  --kit-soft: #fdf6ee;
  --kit-ink: #3a3a3a;
  --kit-faint: #6b6b6b;
  --kit-line: #e6e1dc;
  --kit-focus: #06c;
  --rsp-field-line: #8c8278;
  --font-sans: var(--sc-sans);
  /* The sunset-orange hero button of the live site. */
  --sc-hero-button: #b35900;
  --sc-hero-button-hover: #934600;
  --sc-hero-button-shadow: #b3590059;
  /* Menu icons take the same sunset on hover and in the open sheet. */
  --sc-menu-icon-accent: #b35900;
}
/* Arrows on the hero's "Learn more" (down to the categories) and on contact buttons. */
.sc-managed-site .entry-content .wp-block-button__link:is([href^="#"], [href="/contact/"], [href$="ryansmithphotography.com/contact/"])::after { content: ""; flex-shrink: 0; width: .8em; height: .8em; background: currentColor; -webkit-mask: var(--sc-arrow-right) center / contain no-repeat; mask: var(--sc-arrow-right) center / contain no-repeat; }
.sc-managed-site .entry-content .wp-block-button__link[href^="#"]::after { -webkit-mask-image: var(--sc-arrow-down); mask-image: var(--sc-arrow-down); }
/* Above the theme's site header (z-index 100), which the chat's own 61 sits under. */
#rsp-ask-launcher { z-index: 110; }
#rsp-ask-panel { z-index: 111; }
/* The launcher becomes an icon at the theme's phone width. */
@media (max-width: 640px) {
  #rsp-ask-launcher { width: 48px; padding: 0; justify-content: center; right: max(12px, env(safe-area-inset-right)); bottom: max(12px, env(safe-area-inset-bottom)); }
  #rsp-ask-launcher span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
}

/* The call to action line the rsp-blog-cta mu-plugin adds after each post. */
.sc-managed-site .entry-content > .rsp-post-cta { margin-top: 64px; padding: 32px 36px; border: 0; border-radius: 22px; background: var(--sc-blog-soft); font-size: 18px; text-align: center; box-shadow: 0 0 0 1px var(--sc-line); }
.sc-managed-site .rsp-post-cta p { margin: 0; }
.sc-managed-site .rsp-post-cta a { color: var(--sc-heading); }
@media (max-width: 640px) {
  .sc-managed-site .entry-content > .rsp-post-cta { padding-inline: 24px; }
}

/* The live home keeps its four category photos in one row on tablets. */
@media (min-width: 641px) and (max-width: 1024px) {
  .sc-managed-site .entry-content .wp-block-columns.is-style-sc-category-links.sc-two-up-tablet { flex-wrap: nowrap !important; gap: 40px 16px; }
  .sc-managed-site .entry-content .wp-block-columns.is-style-sc-category-links.sc-two-up-tablet > .wp-block-column { flex-basis: 0 !important; flex-grow: 1; }
}
/* The live site's phone body size. */
@media (max-width: 640px) {
  body.sc-managed-site { font-size: 16px; }
}

/* Pages laid out like the live site (RyanSmithPhotography-Site page chrome).
   The title card (page.php, shootcal_page_chrome) carries a page's opening text. */
.sc-page > .sc-title-card-wrap { margin-bottom: 40px; }
.sc-managed-site .sc-title-card__lead { max-width: 780px; color: var(--sc-text); font-size: inherit; }
.sc-title-card__lead > * { margin-block: 0 16px; }
.sc-title-card__lead .wp-block-buttons { justify-content: center; margin-top: 24px; }
/* A full-width section that opens a page with its own H1 is that title card. */
.sc-page .entry-content > .is-style-sc-boxed-full:first-child:has(> h1) { width: min(var(--sc-wide), calc(100% - 2 * var(--sc-gutter))); margin: 24px auto 40px; padding: 56px; border-radius: 32px; background: linear-gradient(110deg, var(--sc-paper) 0%, var(--sc-blog-card-tint) 100%); box-shadow: 0 0 0 1px var(--sc-line), var(--sc-shadow); text-align: center; }
.sc-page .entry-content > .is-style-sc-boxed-full:first-child:has(> h1) > * { max-width: 780px; }
/* A boxed section at the top level is a white card. */
/* Ryan, 2026-11-05: live's 1100px card, with the text filling it at 940px (no empty band on the
   right) and a little more room above the heading. */
.sc-page .entry-content > .is-style-sc-boxed { width: min(1100px, calc(100% - 2 * var(--sc-gutter))); margin-block: 24px; padding: 72px 80px 48px; border-radius: 22px; background: var(--sc-paper); box-shadow: 0 0 0 1px var(--sc-line), 0 1px 2px #2f2a240a, 0 18px 44px #2f2a2414; }
.sc-page .entry-content > .is-style-sc-boxed > :not(.sc-narrow) { max-width: none; }
.sc-page .entry-content > .is-style-sc-boxed > :is(:not(p, h1, h2, h3, h4, ul, ol), .wp-block-latest-posts) { max-width: none; }
.sc-page .entry-content > :is(.is-style-sc-boxed, .is-style-sc-boxed-full:first-child) > h1 { margin-bottom: 32px; font-size: clamp(36px, 2.4vw + 16px, 56px); line-height: 1.08; text-align: center; }
.sc-page .entry-content > :is(.is-style-sc-boxed, .is-style-sc-boxed-full:first-child) > h1::after { content: ""; display: block; width: 56px; height: 1px; margin: 24px auto 0; background: var(--sc-accent); }
/* A section title opens a full-width section centred over the accent hairline. */
.sc-page .entry-content > .is-style-sc-boxed-full > h2:first-child { text-align: center; }
.sc-page .entry-content > .is-style-sc-boxed-full > h2:first-child::after { content: ""; display: block; width: 56px; height: 1px; margin: 22px auto 0; background: var(--sc-accent); }
/* A tinted box right after a full-width section joins its wash (live: no box). */
.sc-page .entry-content > .is-style-sc-boxed-full:has(+ .is-style-sc-tinted) { padding-bottom: 0; }
.sc-page .entry-content > .is-style-sc-boxed-full + .is-style-sc-tinted { max-width: none; margin-block: 0; padding: 48px 0 96px; border-radius: 0; background: #fdf6ee; box-shadow: 0 0 0 100vmax #fdf6ee; clip-path: inset(0 -100vmax); }
/* Latest posts: photo cards with serif titles. */
.sc-page .wp-block-latest-posts.is-grid { gap: 24px; margin-block: 24px; padding: 0; }
.sc-page .wp-block-latest-posts.is-grid li { margin: 0; }
/* As on live: the photo fills its rounded card (no inline-link strip or underline below it) and the
   title sits 16px under it. Specific enough to beat core's .aligncenter margin. */
.sc-page .wp-block-latest-posts li > .wp-block-latest-posts__featured-image { margin: 0 0 16px; overflow: hidden; border-radius: 12px; box-shadow: var(--sc-shadow); }
.sc-page .wp-block-latest-posts__featured-image > a { display: block; padding: 0; background: none; }
.sc-page .wp-block-latest-posts__featured-image img { display: block; width: 100%; height: auto; aspect-ratio: 3 / 2; object-fit: cover; transition: transform .7s var(--sc-ease); }
.sc-page .wp-block-latest-posts li:hover .wp-block-latest-posts__featured-image img { transform: scale(1.04); }
.sc-page a.wp-block-latest-posts__post-title { display: block; color: var(--sc-heading); font: 400 21px/1.375 var(--sc-serif); text-decoration: none; }
.sc-page a.wp-block-latest-posts__post-title:hover { text-decoration: underline; text-underline-offset: 3px; }
/* Page heroes keep the live height (the short variant too). */
@media (min-width: 1025px) {
  :is(.entry-content, .editor-styles-wrapper) .is-style-sc-page-hero.sc-hero-short { min-height: max(600px, 80svh); }
}
/* The reviews form trigger is the charcoal button; the older plain link beside it goes. */
.sc-page .entry-content p:has(> a[href="#review-form-dialog"]:only-child):has(+ .sct-form-trigger-wrap) { display: none; }
.sc-page .entry-content .sct-form-trigger-wrap { text-align: center; }
.sc-managed-site .sc-page .entry-content a.sct-form-trigger { display: inline-flex; min-height: 48px; align-items: center; padding: 10px 22px; border: 0; border-radius: 999px; background: var(--sc-button); color: #fff; font-size: 16px; font-weight: 650; text-decoration: none; box-shadow: 0 6px 16px #2f343b26; }
.sc-managed-site .sc-page .entry-content a.sct-form-trigger:hover { background: var(--sc-button-hover); color: #fff; }
@media (max-width: 1024px) {
  .sc-page .entry-content > .is-style-sc-boxed { padding: 56px 40px 40px; }
  .sc-page .wp-block-latest-posts.is-grid { gap: 20px 16px; }
}
@media (max-width: 640px) {
  .sc-page .entry-content > .is-style-sc-boxed { padding: 36px 20px 28px; border-radius: 18px; }
  /* Phones: the opening title section sits flat on the page, like the live site. */
  .sc-page .entry-content > :is(.is-style-sc-boxed, .is-style-sc-boxed-full):first-child:has(> h1) { padding: 40px 0 24px; border-radius: 0; background: none; box-shadow: none; }
  .sc-page .wp-block-latest-posts.is-grid { grid-template-columns: minmax(0, 1fr); }
}
/* Imported logos marked "thumbnail" show at the live site's 300px. */
.sc-page .entry-content .wp-block-image.size-thumbnail img { width: min(300px, 100%); height: auto; border-radius: 12px; box-shadow: 0 10px 30px -12px #0000004d; }
/* A small left/right image (the Sony lens) floats at live's 200px and the text wraps beside it.
   An explicit width stops the float growing to the photo's natural size. Phones: right-aligned, no wrap. */
.sc-page .entry-content .wp-block-image.size-thumbnail:is(.alignright, .alignleft) { width: min(200px, 42%); margin-block: 6px 16px; }
.sc-page .entry-content .wp-block-image.size-thumbnail.alignright { float: right; margin-inline: 28px 0; }
.sc-page .entry-content .wp-block-image.size-thumbnail.alignleft { float: left; margin-inline: 0 28px; }
.sc-page .entry-content .wp-block-image.size-thumbnail:is(.alignright, .alignleft) img { width: 100%; }
@media (max-width: 640px) {
  .sc-page .entry-content .wp-block-image.size-thumbnail:is(.alignright, .alignleft) { float: none; width: 200px; max-width: 100%; margin: 0 0 24px auto; }
  .sc-page .entry-content .wp-block-image.size-thumbnail.alignleft { margin: 0 auto 24px 0; }
}
/* A hero's second-line h2 reads as a sans subtitle, as on the live pages. */
.sc-managed-site .entry-content .is-style-sc-glass-card h2.sc-headline-sub { margin-top: 12px; font: 400 19px/1.3 var(--sc-sans); letter-spacing: normal; color: #3a3a3acc; }
@media (max-width: 767px) {
  .sc-managed-site .entry-content .is-style-sc-glass-card h2.sc-headline-sub { font-size: 17px; }
}

/* The feature rows' highlight panel, as on live (RowBand, .rsp-row-band-fill: white at 70%, #303030
   in dark mode). core-layouts.css draws it in the photo's column and navigation.js grows it out
   from its outer edge as the row scrolls up the screen. */
:root { --sc-photo-band-highlight: rgb(255 255 255 / .7); }

/* Live's blog post text measure (RyanSmithPhotography-Site blog.jsx MEASURE). */
.single-post { --sc-reading: 760px; }

/* Dark mode, as on the live site: inc/rsp-head.php marks <html class="dark"> when the visitor's system
   prefers dark, before the page draws. Live's dark tokens (RyanSmithPhotography-Site site.css .dark),
   then the Editorial surfaces that are drawn in white. */
html.dark {
  color-scheme: dark;
  --kit-primary: #ece6df;
  --kit-on-primary: #161616;
  --kit-page: #121212;
  --kit-paper: #242424;
  --kit-soft: #1e1e1e;
  --kit-ink: #ededed;
  --kit-faint: #a9a9a9;
  --kit-line: #454545;
  --kit-focus: #b6d0fa;
  --sc-bg: #121212;
  --sc-paper: #242424;
  --sc-card-bg: #242424;
  --sc-text: #ededed;
  --sc-heading: #f5f5f5;
  --sc-muted: #a9a9a9;
  --sc-link: #f5f5f5;
  --sc-line: #454545;
  --sc-band: #1e1e1e;
  --sc-glass: rgb(36 36 36 / .8);
  --sc-shadow: 0 1px 2px #0003, 0 10px 30px #00000040;
  --sc-blog-card-tint: #2a241e66;
  --sc-blog-soft: #1e1e1e;
  --sc-blog-current: #2a241eb3;
  --sc-blog-current-line: #4a3a28;
  --sc-blog-button: #ece6df;
  --sc-blog-button-ink: #161616;
  --sc-boxed-full-bg: #1e1e1e;
  --sc-ed-line: #a8743f66;
  --sc-button: #ece6df;
  --sc-button-hover: #fff;
  --sc-photo-band-highlight: #303030;
}
html.dark .sc-brand img { filter: invert(1) hue-rotate(180deg); }
html.dark .sc-nav-shell { border-color: rgb(255 255 255 / .2); background: rgb(36 36 36 / .8); }
html.dark .sc-menu a:hover, html.dark .sc-menu a[aria-current="page"] { background: rgb(255 255 255 / .06); }
html.dark .sc-menu ul { background: rgb(36 36 36 / .96); }
html.dark .sc-skip-link { background: #242424; }
html.dark .sc-hero:not(.sc-hero--starter) .sc-hero__content,
html.dark :is(.entry-content, .editor-styles-wrapper) .is-style-sc-glass-card { border-color: rgb(255 255 255 / .2); background: rgb(48 48 48 / .65); }
html.dark :is(.entry-content, .editor-styles-wrapper) .is-style-sc-glass-card .sc-lead { color: rgb(237 237 237 / .85); }
html.dark :is(.entry-content, .editor-styles-wrapper) .is-style-sc-glass-card .sc-headline-sub { color: rgb(237 237 237 / .8); }
html.dark .sc-split__content { border-color: rgb(255 255 255 / .12); background: linear-gradient(to left, rgb(36 36 36 / .92) 0 62%, rgb(36 36 36 / .4)); box-shadow: 0 18px 44px #00000040; }
html.dark .sc-split--right .sc-split__content { background: linear-gradient(to right, rgb(36 36 36 / .92) 0 62%, rgb(36 36 36 / .4)); }
html.dark .sc-page .entry-content .is-style-sc-photo-band .wp-block-columns:has(> .wp-block-column .is-style-sc-feature-photo) > .wp-block-column:not(:has(.is-style-sc-feature-photo)) { background: linear-gradient(to var(--sc-ed-to), rgb(36 36 36 / .92) 0 62%, rgb(36 36 36 / .4) 100%); box-shadow: inset 0 0 0 1px rgb(255 255 255 / .08), 0 1px 2px #0003, 0 18px 44px #00000040; }
html.dark .sc-page .entry-content > .is-style-sc-boxed { box-shadow: 0 0 0 1px var(--sc-line), 0 1px 2px #0003, 0 18px 44px #00000040; }
html.dark .sc-page .entry-content > .is-style-sc-boxed-full + .is-style-sc-tinted { background: #1e1e1e; box-shadow: 0 0 0 100vmax #1e1e1e; }
html.dark .sc-managed-site .sc-page .entry-content a.sct-form-trigger,
html.dark .sc-managed-site .sc-page .entry-content a.sct-form-trigger:hover { color: #161616; box-shadow: none; }
@media (max-width: 640px) {
  html.dark .sc-page .entry-content .is-style-sc-photo-band .wp-block-columns:has(> .wp-block-column .is-style-sc-feature-photo) > .wp-block-column:not(:has(.is-style-sc-feature-photo)) { background: rgb(36 36 36 / .92); }
  html.dark .sc-split__content, html.dark .sc-split--right .sc-split__content { background: rgb(36 36 36 / .94); }
}

/* Live's phone header: the envelope to the contact page beside Menu (inc/rsp-head.php). */
.sc-nav-contact { display: none; }
@media (max-width: 1024px) {
  .sc-nav-ready .sc-nav-contact { display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; width: 44px; height: 44px; margin-left: auto; margin-right: -4px; border-radius: 999px; background: rgb(0 0 0 / .06); color: var(--sc-text); transition: background-color .15s; }
  .sc-nav-contact:hover { background: rgb(0 0 0 / .1); }
  .sc-nav-contact__icon { width: 18px; height: 18px; }
}
html.dark .sc-nav-contact, html.dark .sc-nav-toggle { background: rgb(237 237 237 / .06); color: var(--sc-text); }
html.dark .sc-nav-contact:hover, html.dark .sc-nav-toggle:hover { background: rgb(237 237 237 / .1); }

/* Instagram feed (ShootCal Social Feed) as on live: soft rounded tiles, 12px gaps, 48px pills,
   the left-to-right Instagram gradient. Specificity beats the plugin's lazily loaded feed.css. */
.sc-managed-site .shootcal-instagram-feed-shell {
  --scif-tile-background: var(--kit-soft);
  --scif-tile-border: 0;
  --scif-tile-radius: 12px;
  --scif-button-font: 600 16px/1.65 var(--sc-sans);
  --scif-follow-background: linear-gradient(to right, #833ab4, #e1306c 50%, #f77737);
  --rsp-quiet-line: #c9c3bd;
  --rsp-quiet-hover: #f4efe9;
}
html.dark .sc-managed-site .shootcal-instagram-feed-shell { --rsp-quiet-line: #686868; --rsp-quiet-hover: #303030; }
.sc-managed-site .shootcal-instagram-feed { gap: 12px; }
/* The theme's img { height: auto } must not pull a landscape photo to the top of its tile. */
.sc-managed-site .shootcal-instagram-feed__item > .shootcal-instagram-feed__image { width: 100%; height: 100%; }
.sc-managed-site .shootcal-instagram-feed-shell .shootcal-instagram-feed__more-button,
.sc-managed-site .shootcal-instagram-feed-shell .shootcal-instagram-feed__follow-link { min-height: 48px; letter-spacing: normal; }
.sc-managed-site .shootcal-instagram-feed-shell .shootcal-instagram-feed__more-button { border-color: var(--rsp-quiet-line); background-color: var(--kit-paper); color: var(--kit-ink); }
.sc-managed-site .shootcal-instagram-feed-shell .shootcal-instagram-feed__more-button:hover { border-color: var(--rsp-quiet-line); background-color: var(--rsp-quiet-hover); }
.sc-managed-site .shootcal-instagram-feed-shell .shootcal-instagram-feed__follow-link { box-shadow: 0 6px 16px #2f343b26; }
html.dark .sc-managed-site .shootcal-instagram-feed-shell .shootcal-instagram-feed__follow-link { box-shadow: none; }
@media (max-width: 640px) { .sc-managed-site .shootcal-instagram-feed { gap: 8px; } }
/* RSP's imported pages carry the old site's spacing tokens (mts/mtl -> sc-mt-s/-l) on ten
   headings. Live www ignores them: a heading after body content gets the normal heading room
   (h2 56px, h3/h4 36px; 44/30 on phones), never 24px or 112px. Headings first in their box or
   right under another heading keep the token. RSP only; other sites keep the editor presets. */
.sc-managed-site .entry-content h2[class*="sc-mt-"]:not(:first-child):not(:is(h1, h2, h3, h4, h5, h6) + *) { margin-top: 56px !important; }
.sc-managed-site .entry-content :is(h3, h4)[class*="sc-mt-"]:not(:first-child):not(:is(h1, h2, h3, h4, h5, h6) + *) { margin-top: 36px !important; }
@media (max-width: 640px) {
  .sc-managed-site .entry-content h2[class*="sc-mt-"]:not(:first-child):not(:is(h1, h2, h3, h4, h5, h6) + *) { margin-top: 44px !important; }
  .sc-managed-site .entry-content :is(h3, h4)[class*="sc-mt-"]:not(:first-child):not(:is(h1, h2, h3, h4, h5, h6) + *) { margin-top: 30px !important; }
}
/* Card grids. RSP's old GenerateBlocks grids were imported as core Columns with no widths and no
   style class, and core keeps every column on one row above 782px (23 venue columns 12px wide).
   Live shows them as a wrapping grid: 3 across on desktop, 2 on tablets, 1 on phones, short rows
   left-aligned, up to the wide measure. Matched by shape (columns holding a card group, or a
   photo with its title), so classed Columns (category links, price tables, photo bands, stacked
   splits), sized columns and photo-only rows keep their own layouts. A section can ask for a
   different count with --sc-grid-cols (desktop) and --sc-grid-cols-tablet. */
.sc-managed-site .entry-content .wp-block-columns:not([class*="is-style-"], [class*="sc-"], .are-vertically-aligned-center):not(:has(> .wp-block-column[style*="flex-basis"])):has(> .wp-block-column > :is(.wp-block-group, .wp-block-image + .wp-block-heading)) {
  display: grid; grid-template-columns: repeat(var(--sc-grid-cols, 3), minmax(0, 1fr)); gap: 40px 24px;
  max-width: var(--sc-wide); margin-inline: auto;
}
.sc-managed-site .entry-content .wp-block-columns:not([class*="is-style-"], [class*="sc-"], .are-vertically-aligned-center):not(:has(> .wp-block-column[style*="flex-basis"])):has(> .wp-block-column > :is(.wp-block-group, .wp-block-image + .wp-block-heading)) > .wp-block-column { min-width: 0; margin: 0; }
/* The section around a card grid widens with it; its heading and text keep the reading measure. */
.sc-managed-site .entry-content .wp-block-group:not(.sc-items-center):has(> .wp-block-columns:not([class*="is-style-"], [class*="sc-"], .are-vertically-aligned-center) > .wp-block-column:not([style*="flex-basis"]) > :is(.wp-block-group, .wp-block-image + .wp-block-heading)) { max-width: var(--sc-wide); }
.sc-managed-site .entry-content > .is-style-sc-location-cards:has(.wp-block-columns:not([class*="is-style-"], [class*="sc-"], .are-vertically-aligned-center) > .wp-block-column:not([style*="flex-basis"]) > :is(.wp-block-group, .wp-block-image + .wp-block-heading)) { max-width: var(--sc-wide); }
/* Card titles read as titles, like live: the serif at card size in ink, not a gold underlined link. */
.sc-managed-site .entry-content :not(.sc-items-center) > .wp-block-columns:not([class*="is-style-"], [class*="sc-"], .are-vertically-aligned-center):not(:has(> .wp-block-column[style*="flex-basis"])):has(> .wp-block-column > :is(.wp-block-group, .wp-block-image + .wp-block-heading)) .wp-block-heading { font-size: clamp(21px, 1.6vw, 24px); line-height: 1.2; margin: 16px 0 12px; }
.sc-managed-site .entry-content :not(.sc-items-center) > .wp-block-columns:not([class*="is-style-"], [class*="sc-"], .are-vertically-aligned-center):not(:has(> .wp-block-column[style*="flex-basis"])):has(> .wp-block-column > :is(.wp-block-group, .wp-block-image + .wp-block-heading)) .wp-block-heading a { color: inherit; text-decoration: none; }
.sc-managed-site .entry-content :not(.sc-items-center) > .wp-block-columns:not([class*="is-style-"], [class*="sc-"], .are-vertically-aligned-center):not(:has(> .wp-block-column[style*="flex-basis"])):has(> .wp-block-column > :is(.wp-block-group, .wp-block-image + .wp-block-heading)) .wp-block-heading a:hover { text-decoration: underline; text-underline-offset: 3px; }
.sc-managed-site .entry-content .wp-block-columns:not([class*="is-style-"], [class*="sc-"], .are-vertically-aligned-center):not(:has(> .wp-block-column[style*="flex-basis"])):has(> .wp-block-column > :is(.wp-block-group, .wp-block-image + .wp-block-heading)) .wp-block-image { margin: 0; }
.sc-managed-site .entry-content .wp-block-columns:not([class*="is-style-"], [class*="sc-"], .are-vertically-aligned-center):not(:has(> .wp-block-column[style*="flex-basis"])):has(> .wp-block-column > :is(.wp-block-group, .wp-block-image + .wp-block-heading)) .wp-block-image img { width: 100%; height: auto; }
.sc-managed-site .entry-content .wp-block-columns:not([class*="is-style-"], [class*="sc-"], .are-vertically-aligned-center):not(:has(> .wp-block-column[style*="flex-basis"])):has(> .wp-block-column > :is(.wp-block-group, .wp-block-image + .wp-block-heading)) .wp-block-column > .wp-block-group > * { max-width: none; }
@media (max-width: 1024px) {
  .sc-managed-site .entry-content .wp-block-columns:not([class*="is-style-"], [class*="sc-"], .are-vertically-aligned-center):not(:has(> .wp-block-column[style*="flex-basis"])):has(> .wp-block-column > :is(.wp-block-group, .wp-block-image + .wp-block-heading)) { grid-template-columns: repeat(var(--sc-grid-cols-tablet, 2), minmax(0, 1fr)); gap: 32px 24px; }
}
@media (max-width: 640px) {
  .sc-managed-site .entry-content .wp-block-columns:not([class*="is-style-"], [class*="sc-"], .are-vertically-aligned-center):not(:has(> .wp-block-column[style*="flex-basis"])):has(> .wp-block-column > :is(.wp-block-group, .wp-block-image + .wp-block-heading)) { grid-template-columns: minmax(0, 1fr); gap: 32px; }
}
/* Contact (and the wedding-story page): live's About section is the photo and the text side by
   side, with Office Location as a full-width row under them, as wide as the card like the
   calendar above it. */
.sc-managed-site .entry-content .sc-items-center:has(> .wp-block-columns) { max-width: none; }
.sc-managed-site .entry-content .sc-items-center > .wp-block-columns { --sc-grid-cols: 2; --sc-grid-cols-tablet: 1; max-width: none; column-gap: 48px; }
.sc-managed-site .entry-content .sc-items-center > .wp-block-columns > .wp-block-column > .wp-block-group > * { max-width: none; }
.sc-managed-site .entry-content .sc-items-center > .wp-block-columns > .wp-block-column:nth-child(3):last-child { grid-column: 1 / -1; }
.sc-managed-site .entry-content .sc-items-center > .wp-block-columns > .wp-block-column:first-child figure { display: block; margin-inline: 0; }
.sc-managed-site .entry-content .sc-items-center > .wp-block-columns > .wp-block-column:first-child figcaption { display: block; }
.sc-managed-site .entry-content .sc-items-center > .wp-block-columns > .wp-block-column:first-child img { width: 100%; height: auto; border-radius: 10px; }
@media (max-width: 1024px) { .sc-managed-site .entry-content .sc-items-center > .wp-block-columns > .wp-block-column:first-child figure { max-width: 560px; margin-inline: auto; text-align: center; } }
/* Dividers: a faded hairline with room around it, as on live, not a 2px bar. */
.sc-managed-site .entry-content hr.wp-block-separator:not(.is-style-dots) { border: 0; border-top: 1px solid currentColor; height: 0; opacity: .18; margin-block: 48px; }
