/* Green refinement: full-width frame, sans-serif type and icon-led offer. */
:root {
  --rzym-ink: #263326;
  --rzym-muted: #637064;
  --rzym-forest: #314b2f;
  --rzym-leaf: #708b32;
  --rzym-leaf-dark: #536b1f;
  --rzym-petal: #f76a0c;
  --rzym-petal-dark: #c44e00;
  --rzym-cream: #fbf8f0;
  --rzym-sage: #edf1e2;
  --rzym-line: #dde3d7;
  --rzym-white: #fff;
}
body { background: #fff; color: var(--rzym-ink); font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; line-height: 1.6; }
.wp-site-blocks { width: 100%; max-width: none; box-shadow: none; overflow: clip; }
.wp-site-blocks > main { width: 100%; max-width: none; margin-inline: auto; padding-inline: clamp(20px, 5vw, 76px) !important; }
.wp-site-blocks > main.rzym-home { padding-bottom: 0 !important; }
.wp-site-blocks > main > * { max-width: 1200px; }
.wp-site-blocks h1, .wp-site-blocks h2, .wp-site-blocks h3 { font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; font-weight: 600; letter-spacing: -.025em; line-height: 1.18; }
.wp-site-blocks h1 { font-size: clamp(2.5rem, 3.8vw, 3.7rem); }
.wp-site-blocks h2 { font-size: clamp(1.9rem, 2.7vw, 2.75rem); }
.wp-site-blocks h3 { font-size: clamp(1.25rem, 1.55vw, 1.5rem); }
.rzym-section { padding-block: clamp(70px, 8vw, 112px); }
.rzym-section-head { margin-bottom: clamp(28px, 3vw, 44px); }
.rzym-section:has(.rzym-offers) .rzym-section-head { text-align: center; margin-inline: auto; }
.rzym-section:has(.rzym-offers) .rzym-section-head .rzym-lede { margin-inline: auto; }

/* Full-width header, with a bounded and legible inner row. */
.rzym-header { width: 100%; max-width: none !important; margin-inline: 0 !important; background: #fff; }
.rzym-topbar { width: 100%; max-width: none !important; min-height: 40px; padding-inline: clamp(20px, 5vw, 76px); background: var(--rzym-petal); }
.rzym-brand { display: grid !important; grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); align-items: center !important; max-width: 1280px; margin-inline: auto; padding: 20px clamp(20px, 5vw, 76px); }
.rzym-brand figure { order: 0; justify-self: center; margin: 0 auto; }
.rzym-brand-copy { display: block; justify-self: start; }
.rzym-brand-action { justify-self: end; }
.rzym-brand img { width: clamp(235px, 21vw, 300px); }
.rzym-brand-action { display: grid; justify-items: end; gap: 9px; text-align: right; }
.rzym-call-prompt { display: block; color: var(--rzym-forest); font-size: clamp(.95rem, 1.05vw, 1.1rem); font-weight: 700; line-height: 1.35; }
.rzym-brand-action .rzym-phone-button { font-size: 1.12rem; letter-spacing: .01em; white-space: nowrap; }
.rzym-phone-button, .rzym-cta .wp-block-button__link { min-height: 48px; border-radius: 7px; box-shadow: none; background: var(--rzym-petal); }
.rzym-phone-button:hover, .rzym-cta .wp-block-button__link:hover { background: var(--rzym-petal-dark); }
.rzym-nav { width: 100%; max-width: none !important; background: #f1f5e9; border-color: #d9e3cf; }
.rzym-nav .wp-block-navigation { max-width: 1200px; margin-inline: auto; }
.rzym-nav .wp-block-navigation__container { width: 100%; }
.rzym-nav .wp-block-navigation__container > .wp-block-navigation-item { flex: 1 1 0; min-width: 0; justify-content: center; }
.rzym-nav .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content { display: flex; justify-content: center; width: 100%; padding: 18px 12px; font-size: 1rem; text-align: center; }
.rzym-nav .wp-block-navigation__container > .wp-block-navigation-item { border-right: 1px solid var(--rzym-line); }
.rzym-nav .wp-block-navigation__container > .wp-block-navigation-item:first-child { border-left: 1px solid var(--rzym-line); }
.rzym-nav .wp-block-navigation__container > .wp-block-navigation-item:hover > .wp-block-navigation-item__content,
.rzym-nav .wp-block-navigation__container > .wp-block-navigation-item:focus-within > .wp-block-navigation-item__content,
.rzym-nav .wp-block-navigation__container > .current-menu-item > .wp-block-navigation-item__content { background: #b2c92e; color: #f76a0c; }
.rzym-nav .wp-block-navigation__container > .current-menu-item:not(:hover):not(:focus-within) > .wp-block-navigation-item__content { color: var(--rzym-ink); }
.rzym-nav .wp-block-navigation__submenu-container { border-radius: 0; }

/* A full-bleed opening, then restrained four-column services. */
.rzym-hero { display: flex !important; flex-direction: column; gap: 0 !important; width: auto; max-width: none !important; min-height: 0; margin-inline: calc(clamp(20px, 5vw, 76px) * -1) !important; background: var(--rzym-cream); }
.rzym-hero > * { width: 100%; max-width: none !important; }
.rzym-hero-copy { display: grid; grid-template-columns: minmax(0, .88fr) minmax(0, 1.12fr); gap: 0 clamp(34px, 5vw, 90px); align-items: center; padding: clamp(35px, 4vw, 58px) clamp(20px, 5vw, 76px); }
.rzym-hero-copy .rzym-eyebrow { grid-column: 1; align-self: end; }
.rzym-hero-copy h1 { grid-column: 1; grid-row: 2 / 4; max-width: 14ch; margin: 0; }
.rzym-hero-copy .rzym-lede { grid-column: 2; grid-row: 1 / 3; max-width: 52ch; margin: 0 0 18px; }
.rzym-hero-copy .rzym-actions { grid-column: 2; grid-row: 3; align-self: start; }
.rzym-hero-media, .rzym-hero-media a { display: block; width: 100%; }
.rzym-hero-media img { display: block; width: 100%; height: auto; min-height: 0; aspect-ratio: 1170 / 400; object-fit: cover; object-position: center; }
.rzym-actions .wp-block-button__link { min-height: 50px; border-radius: 7px; padding: .85rem 1.25rem; }
.rzym-actions .is-style-fill .wp-block-button__link { background: var(--rzym-petal); }
.rzym-actions .wp-block-button:not(.is-style-outline) .wp-block-button__link { background: var(--rzym-petal); color: #fff; }
.rzym-actions .is-style-outline .wp-block-button__link { border-color: var(--rzym-forest); color: var(--rzym-forest); }
.rzym-trust { max-width: none !important; margin-inline: calc(clamp(20px, 5vw, 76px) * -1) !important; padding: 23px clamp(20px, 5vw, 76px); background: var(--rzym-forest); }
/* Four green offer tiles, echoing the original staging's icon menu. Stretch
   the existing links invisibly
   across each card so mouse, touch and keyboard share one destination. */
.rzym-offers .rzym-card { position: relative; border-radius: 0 !important; background: #5f7a22; border-color: #5f7a22; color: #fff; box-shadow: none; }
.rzym-offers .rzym-card:hover { background: #536b1f; border-color: #536b1f; box-shadow: 0 12px 30px rgb(35 53 34 / 18%); }
.wp-site-blocks .rzym-offers h3, .wp-site-blocks .rzym-offers p, .wp-site-blocks .rzym-offers .rzym-card-link { color: #fff; }
.rzym-offers .rzym-card-link { text-decoration: underline; text-underline-offset: .2em; }
.rzym-offers .rzym-offer-icon img { filter: brightness(0) invert(1); }
.rzym-offers .rzym-card-link::after { content: ""; position: absolute; inset: 0; }
.rzym-offers .rzym-card:focus-within { outline: 3px solid var(--rzym-petal); outline-offset: 3px; }

/* Varied section rhythm, rather than identical stacked white boxes. */
.rzym-showcase { max-width: none !important; margin-inline: calc(clamp(20px, 5vw, 76px) * -1) !important; border-radius: 0; padding: clamp(70px, 8vw, 112px) clamp(20px, 5vw, 76px); background: var(--rzym-sage); }
.rzym-showcase > * { max-width: 1200px; margin-inline: auto; }
.rzym-gallery-links { width: 100%; max-width: 1200px !important; grid-template-columns: repeat(3, minmax(0, 1fr)); align-items: stretch; gap: clamp(16px, 2vw, 28px); }
.rzym-gallery-links > .rzym-gallery-link { display: block; width: 100%; max-width: none !important; min-width: 0; min-height: 300px; margin: 0 !important; border-radius: 8px; }
.rzym-gallery-link a { display: block; width: 100%; height: 100%; }
.rzym-gallery-link img { display: block; width: 100%; height: 300px; object-fit: cover; }
.rzym-steps { width: 100%; max-width: 1200px !important; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(24px, 3vw, 44px); }
.rzym-steps > .rzym-step { width: 100%; max-width: none !important; min-width: 0; margin: 0 !important; }
.rzym-section:has(.rzym-steps) .rzym-section-head { width: 100%; max-width: 1200px !important; }
.rzym-step { border-top-width: 2px; padding-top: 22px; }
.rzym-step-number { width: 80px; height: 80px; margin-bottom: 6px; background: var(--rzym-sage); color: var(--rzym-forest); font-size: 2rem; line-height: 1; }
.rzym-step h3 { margin-top: 18px; }
.rzym-home-posts { max-width: none !important; margin-inline: calc(clamp(20px, 5vw, 76px) * -1) !important; padding: clamp(70px, 8vw, 112px) clamp(20px, 5vw, 76px); background: #f9f9f5; }
.rzym-home-posts > * { max-width: 1200px; margin-inline: auto; }
.rzym-home-posts .wp-block-post { border-radius: 9px; }
.rzym-home-posts .wp-block-post-featured-image img { border-radius: 8px 8px 0 0; }
.rzym-home-posts .wp-block-post:not(:has(img)) { border-top: 3px solid var(--rzym-leaf); padding-top: 20px; }
.rzym-site-cta { max-width: none !important; margin-inline: calc(clamp(20px, 5vw, 76px) * -1) !important; margin-top: 0 !important; border-radius: 0; padding: clamp(54px, 7vw, 88px) clamp(20px, 5vw, 76px); background: var(--rzym-forest); color: #fff; text-align: center; }
.rzym-site-cta > * { max-width: 760px; margin-inline: auto !important; }
.wp-site-blocks .rzym-site-cta h2, .wp-site-blocks .rzym-site-cta p { color: #fff; }
.wp-site-blocks .rzym-site-cta .rzym-eyebrow { color: #f2c8a9; }
.rzym-site-cta h2 { max-width: none; }
.rzym-site-cta .wp-block-buttons { justify-content: center; }

/* Interior pages: smaller titles, stable sidebars and readable post lists. */
.rzym-page-hero { margin-inline: calc(clamp(20px, 5vw, 76px) * -1) !important; margin-bottom: clamp(20px, 2.5vw, 34px) !important; padding: clamp(28px, 3.5vw, 48px) clamp(20px, 5vw, 76px); background: linear-gradient(115deg, var(--rzym-cream), var(--rzym-sage)); }
.rzym-page-hero > :where(.rzym-eyebrow, h1, .rzym-lede, .wp-block-post-date) { width: min(100%, 1100px); max-width: 1100px !important; margin-inline: auto !important; }
.wp-site-blocks .rzym-page-hero h1 { max-width: 1100px !important; font-size: clamp(2.15rem, 3vw, 3.25rem); line-height: 1.12; text-wrap: balance; }
.rzym-page-hero .rzym-eyebrow { margin-block: 0 .4rem; }
.rzym-page-hero .rzym-lede { margin-block: .6rem 0; font-size: clamp(1rem, 1.35vw, 1.15rem); line-height: 1.45; }
/* AI-generated decorative banners. The left side of every image is intentionally quiet for readable live text. */
.rzym-page-hero:not(.rzym-contact-hero) { --rzym-banner-image: url("banner-ai-wishes.webp"); background-color: var(--rzym-cream); background-image: linear-gradient(90deg, #fbf8f0 0%, rgb(251 248 240 / 96%) 31%, rgb(251 248 240 / 72%) 56%, transparent 84%), var(--rzym-banner-image); background-position: center, right center; background-size: 100% 100%, auto 150%; background-repeat: no-repeat; }
.rzym-page-hero:not(.rzym-contact-hero) .rzym-lede { padding-right: min(24vw, 400px); }
body.page-id-1366 .rzym-page-hero, body.page-id-256 .rzym-page-hero, body.postid-414 .rzym-page-hero { --rzym-banner-image: url("banner-ai-memorial-v4.webp"); background-color: #edf1e2; background-image: linear-gradient(90deg, #edf1e2 0%, rgb(237 241 226 / 96%) 32%, rgb(237 241 226 / 66%) 59%, transparent 87%), var(--rzym-banner-image); }
body.page-id-520 .rzym-page-hero, body.single-post .rzym-page-hero, body.blog .rzym-page-hero, body.archive .rzym-page-hero { --rzym-banner-image: url("banner-ai-journal.webp"); }
body.page-id-250 .rzym-page-hero, body.postid-130 .rzym-page-hero { --rzym-banner-image: url("banner-ai-wedding.webp"); }
body.page-id-346 .rzym-page-hero { --rzym-banner-image: url("banner-ai-communion.webp"); }
.rzym-sidebar { border-radius: 9px; }
.rzym-blog-list .wp-block-post-template { display: grid; grid-template-columns: 1fr; gap: 0; }
.rzym-blog-list .wp-block-post { display: flex; flex-direction: column; gap: 7px; border-bottom: 1px solid var(--rzym-line); padding: 24px 0; }
.rzym-blog-list .wp-block-post:has(.wp-block-post-featured-image img) { display: grid; grid-template-columns: minmax(0, 220px) minmax(0, 1fr); gap: 7px 24px; align-items: start; }
.rzym-blog-list .wp-block-post-featured-image { width: 100%; grid-column: 1; grid-row: 1 / 4; }
.rzym-blog-list .wp-block-post-featured-image img { width: 100%; aspect-ratio: 4/3; border-radius: 8px; }
.rzym-blog-list .wp-block-post:has(.wp-block-post-featured-image img) > :not(.wp-block-post-featured-image) { grid-column: 2; }
.rzym-blog-list .wp-block-post-title { margin: 0; }
.rzym-blog-list .wp-block-post-excerpt { grid-column: auto; margin: 0; }
/* Photographs keep straight edges on every template, including post lists. */
.wp-site-blocks img, .wp-site-blocks .wp-block-image, .wp-site-blocks .gallery .gallery-item,
.wp-site-blocks .rzym-gallery-link, .wp-site-blocks .rzym-home-posts .wp-block-post,
.wp-site-blocks .rzym-blog-list .wp-block-post-featured-image { border-radius: 0 !important; }
.rzym-contact-layout { max-width: 1200px !important; grid-template-columns: minmax(0, 1.18fr) minmax(0, .82fr); gap: clamp(18px, 3vw, 38px); align-items: stretch; padding-top: clamp(34px, 5vw, 66px); }
.rzym-contact-card { display: flex; flex-direction: column; justify-content: center; min-height: 400px; border-radius: 0; border-top: 5px solid var(--rzym-petal); }
.rzym-contact-card .rzym-phone-big { display: inline-block; margin-block: 10px 20px; font-size: clamp(2rem, 4vw, 3.4rem); line-height: 1.1; white-space: nowrap; text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: .17em; }
.rzym-contact-card .rzym-phone-big:hover { color: #f4c6a7 !important; }
.rzym-contact-card .rzym-contact-secondary { margin-top: 20px; font-size: .95rem; }
.wp-site-blocks .rzym-contact-card h2, .wp-site-blocks .rzym-contact-card h3, .wp-site-blocks .rzym-contact-card a, .wp-site-blocks .rzym-contact-card p { color: #fff; }
.wp-site-blocks .rzym-contact-card .rzym-eyebrow { color: #e9c3a7; }
.rzym-contact-details { border-radius: 0; background: var(--rzym-cream); }
.rzym-contact-details h3 { margin-top: 30px; }
.rzym-contact-checklist { max-width: 1200px !important; padding-block: clamp(52px, 7vw, 82px); }
.rzym-contact-checklist .wp-block-columns { gap: clamp(18px, 3vw, 34px); margin-top: 28px; }
.rzym-contact-checklist .wp-block-column { border-top: 3px solid var(--rzym-leaf); padding-top: 20px; }
.rzym-contact-checklist .wp-block-column h3 { margin-top: 0; }
.rzym-contact { border-radius: 0; }
/* Contact: real shop photography, one primary phone action and a clear route. */
.rzym-contact-hero { display: flex; flex-direction: column; justify-content: center; min-height: 490px; max-width: none !important; color: #fff; background: linear-gradient(90deg, rgb(19 39 20 / 89%) 0%, rgb(19 39 20 / 76%) 48%, rgb(19 39 20 / 28%) 100%), url("/wp-content/uploads/2014/08/IMGP4579-e1420278679534.jpg") center 48% / cover no-repeat; }
.rzym-contact-hero > * { width: 100%; max-width: min(680px, 100%); margin-inline: 0 !important; }
.wp-site-blocks .rzym-contact-hero h1, .wp-site-blocks .rzym-contact-hero p { color: #fff; }
.rzym-contact-hero h1 { max-width: 15ch; text-wrap: balance; }
.rzym-contact-hero .rzym-eyebrow { color: #ffe0b9 !important; }
.rzym-contact-hero .rzym-lede { margin-block: 20px 27px; font-size: clamp(1.05rem, 1.4vw, 1.25rem); }
.rzym-contact-hero-actions .wp-block-button__link { min-height: 52px; padding: .85rem 1.4rem; border-radius: 0; background: var(--rzym-petal); color: #fff; font-weight: 700; }
.rzym-contact-hero-actions .wp-block-button__link:hover { background: var(--rzym-petal-dark); }
.rzym-contact-hero-actions .wp-block-button__link:focus-visible, .rzym-contact-hero-directions a:focus-visible { outline: 3px solid #fff; outline-offset: 4px; }
.rzym-contact-hero-directions { margin-top: 17px; }
.rzym-contact-hero-directions a { color: #fff; font-weight: 600; text-decoration: underline; text-underline-offset: .22em; }
.rzym-owner { display: grid; grid-template-columns: minmax(250px, .82fr) minmax(0, 1.18fr); gap: clamp(26px, 5vw, 70px); align-items: center; max-width: 1200px !important; padding-block: clamp(55px, 7vw, 90px); border-bottom: 1px solid var(--rzym-line); }
.rzym-owner-photo { width: 100%; max-width: none !important; margin: 0 !important; }
.rzym-owner-photo img { display: block; width: 100%; height: min(35vw, 420px); min-height: 320px; object-fit: cover; object-position: 50% 38%; border-radius: 0 !important; }
.rzym-owner-copy { max-width: 650px; }
.rzym-owner-copy h2 { max-width: 19ch; }
.rzym-owner-quote { margin: 24px 0 0; padding: 0; border: 0; color: var(--rzym-ink); }
.rzym-owner-quote p { font-size: clamp(1.08rem, 1.4vw, 1.28rem); font-style: italic; line-height: 1.75; }
.rzym-owner-quote cite { display: block; margin-top: 20px; color: var(--rzym-forest); font-family: "Segoe Script", "Brush Script MT", "Comic Sans MS", cursive; font-size: clamp(1.5rem, 2vw, 2rem); font-style: italic; line-height: 1.3; }
.rzym-map-section { width: auto; max-width: none !important; margin-inline: calc(clamp(20px, 5vw, 76px) * -1) !important; padding-bottom: clamp(65px, 8vw, 110px); scroll-margin-top: 24px; }
.rzym-map-heading { max-width: 1200px; margin: 0 auto 24px !important; padding-inline: clamp(20px, 5vw, 76px); }
.rzym-map-frame { width: 100%; max-width: none !important; margin-inline: 0 !important; border: 0; background: var(--rzym-sage); }
.rzym-map-frame iframe { display: block; width: 100%; height: 440px; max-width: none; border: 0; border-radius: 0; }
.rzym-map-link { max-width: 1200px; margin: 16px auto 0 !important; padding-inline: clamp(20px, 5vw, 76px); }
.rzym-map-link a { color: var(--rzym-forest); font-weight: 700; text-decoration: underline; text-underline-offset: .2em; }
.rzym-footer { background: #253a27; }
.wp-site-blocks .rzym-footer a { color: #fff; }
.wp-site-blocks .rzym-footer a:hover { color: #f3d0b7; }
.rzym-footer .wp-block-columns { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: clamp(20px, 2.5vw, 38px); }
.rzym-footer .wp-block-column { min-width: 0; margin: 0 !important; }
.rzym-footer-qr { display: inline-flex; flex-direction: column; align-items: flex-start; gap: 7px; max-width: 150px; font-size: .8rem; text-decoration: none; }
.rzym-footer-qr img { display: block; width: 128px; height: 128px; max-width: 100%; padding: 5px; border-radius: 6px; background: #fff; }
.rzym-footer-qr:focus-visible { outline: 3px solid var(--rzym-petal); outline-offset: 4px; }
@media (max-width: 1050px) { .rzym-footer .wp-block-columns { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 700px) { .rzym-footer .wp-block-columns { grid-template-columns: 1fr; } }

/* Funeral gallery: wide editorial grid with stable, square catalogue tiles. */
.page-id-256 .rzym-page-hero h1 { width: max-content; max-width: none !important; margin-inline: auto !important; text-align: center; white-space: nowrap; font-size: clamp(2.15rem, 3vw, 3.45rem); }
.page-id-256 .rzym-content > .gallery { width: 100%; max-width: 1200px !important; margin-inline: auto !important; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px; }
.page-id-256 .gallery .gallery-item { display: flex; flex-direction: column; min-width: 0; margin: 0 !important; border: 1px solid var(--rzym-line); border-radius: 0; background: #fff; }
.page-id-256 .gallery .gallery-icon, .page-id-256 .gallery .gallery-icon a { display: block; width: 100%; }
.page-id-256 .gallery .gallery-icon img { display: block; width: 100%; height: auto; aspect-ratio: 1; object-fit: cover; border-radius: 0 !important; }
.page-id-256 .gallery .gallery-caption { display: flex; flex-direction: column; justify-content: center; align-items: flex-start; min-height: 68px; margin-top: auto; padding: 10px 13px; color: var(--rzym-forest); background: #fff; font-size: .88rem; font-weight: 700; line-height: 1.3; }
.page-id-256 .gallery .rzym-photo-code { color: var(--rzym-muted); font-size: .72rem; font-weight: 600; }

/* Original, locally hosted sunflower artwork appears only in wide gutters. */
@media (min-width: 1280px) {
  body { background: #82a82a url("/wp-content/uploads/2016/10/body.jpg") left top repeat; }
  .wp-site-blocks { width: calc(100% - clamp(140px, 12vw, 280px)); margin-inline: auto; box-shadow: 0 14px 48px rgb(25 43 15 / 18%); }
}

@media (max-width: 900px) {
  .rzym-brand { grid-template-columns: minmax(0,1fr) auto minmax(0,1fr); }
  .rzym-brand-copy { display: none; }
  .rzym-brand figure { grid-column: 2; }
  .rzym-brand-action { grid-column: 3; }
  .rzym-hero { min-height: 0; }
  .rzym-hero-copy { order: 0; }
  .rzym-hero-media { order: 1; }
  .rzym-hero-media, .rzym-hero-media img { min-height: 0; }
  .rzym-gallery-links { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .rzym-steps { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .page-id-256 .rzym-content > .gallery { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (min-width: 701px) and (max-width: 900px) {
  .rzym-nav .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content { padding-inline: 8px; font-size: .9rem; }
  .rzym-hero-copy { gap: 0 28px; padding: 38px; }
}
@media (max-width: 700px) {
  .rzym-brand { display: flex !important; justify-content: center !important; padding-block: 15px; }
  .rzym-brand figure { margin-inline: auto; }
  .rzym-brand img { width: 245px; }
  .rzym-brand-action { display: none; }
  .rzym-nav .wp-block-navigation__responsive-container-open { display: inline-flex; align-items: center; }
  .rzym-nav .wp-block-navigation__responsive-container-open::after { content: "Menu"; margin-left: 8px; font-weight: 700; }
  .rzym-hero { margin-inline: -20px !important; }
  .rzym-hero-copy { display: flex; flex-direction: column; align-items: flex-start; gap: 0; padding: 42px 24px; }
  .rzym-hero-copy h1 { max-width: 14ch; }
  .rzym-hero-copy .rzym-lede { margin-block: 20px 27px; }
  .rzym-hero-media, .rzym-hero-media img { min-height: 0; }
  .rzym-hero-media img { height: 220px; aspect-ratio: auto; object-fit: cover; object-position: 70% 50%; }
  .rzym-trust { margin-inline: -20px !important; padding-block: 20px; }
  .rzym-section { padding-block: 66px; }
  .rzym-showcase, .rzym-home-posts, .rzym-site-cta { margin-inline: -20px !important; padding-inline: 20px; }
  .wp-site-blocks h1 { font-size: clamp(2.25rem, 9vw, 3rem); }
  .wp-site-blocks h2 { font-size: clamp(1.75rem, 7vw, 2.1rem); }
  .wp-site-blocks h3 { font-size: 1.3rem; }
  .rzym-gallery-links, .rzym-steps { grid-template-columns: 1fr; }
  .rzym-gallery-link, .rzym-gallery-link img { min-height: 260px; height: 260px; }
  .rzym-page-hero { margin-inline: -20px !important; margin-top: -28px !important; padding-block: 24px 28px; }
  .wp-site-blocks .rzym-page-hero h1 { font-size: clamp(1.95rem, 7.5vw, 2.5rem); }
  .rzym-page-hero:not(.rzym-contact-hero) { background-image: linear-gradient(90deg, rgb(251 248 240 / 94%), rgb(251 248 240 / 72%)), var(--rzym-banner-image); background-size: 100% 100%, auto 115%; background-position: center, right center; }
  .rzym-page-hero:not(.rzym-contact-hero) .rzym-lede { padding-right: 0; }
  body.page-id-1366 .rzym-page-hero, body.page-id-256 .rzym-page-hero, body.postid-414 .rzym-page-hero { background-image: linear-gradient(90deg, rgb(237 241 226 / 96%), rgb(237 241 226 / 78%)), var(--rzym-banner-image); }
  .rzym-blog-list .wp-block-post:has(.wp-block-post-featured-image img) { display: flex; flex-direction: column; }
  .rzym-contact-layout { grid-template-columns: 1fr; }
  .rzym-contact-card { min-height: 0; }
  .rzym-contact-card .rzym-phone-big { font-size: clamp(1.8rem, 8vw, 2.7rem); }
  .rzym-contact-hero { min-height: 450px; padding-block: 70px; background-image: linear-gradient(90deg, rgb(19 39 20 / 88%), rgb(19 39 20 / 65%)), url("/wp-content/uploads/2014/08/IMGP4579-e1420278679534.jpg"); background-position: center; }
  .rzym-owner { grid-template-columns: 1fr; padding-block: 55px; }
  .rzym-owner-photo img { height: auto; min-height: 0; max-height: 450px; aspect-ratio: 4 / 3; }
  .rzym-map-frame iframe { height: 350px; }
  .rzym-mobile-call { border-radius: 8px; background: var(--rzym-petal); }
  .page-id-256 .rzym-page-hero h1 { width: auto; max-width: 100% !important; margin-inline: 0 !important; text-align: left; white-space: normal; font-size: clamp(2rem, 8vw, 2.7rem); }
  .page-id-256 .rzym-content > .gallery { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 12px; }
  .page-id-256 .gallery .gallery-caption { min-height: 62px; padding: 9px 10px; font-size: .8rem; }
}

/* Larger, responsive category galleries. WordPress serves medium images for 250/253. */
.page-id-250 .rzym-content > .gallery, .page-id-253 .rzym-content > .gallery, .page-id-256 .rzym-content > .gallery { width: 100%; max-width: 1200px !important; margin-inline: auto !important; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.page-id-250 .gallery .gallery-item, .page-id-253 .gallery .gallery-item, .page-id-256 .gallery .gallery-item { display: flex; flex-direction: column; min-width: 0; margin: 0 !important; border: 1px solid var(--rzym-line); border-radius: 8px; overflow: hidden; background: #fff; }
.page-id-250 .gallery .gallery-icon, .page-id-253 .gallery .gallery-icon, .page-id-256 .gallery .gallery-icon,
.page-id-250 .gallery .gallery-icon a, .page-id-253 .gallery .gallery-icon a, .page-id-256 .gallery .gallery-icon a { display: block; width: 100%; }
.page-id-250 .gallery .gallery-icon img, .page-id-253 .gallery .gallery-icon img { display: block; width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; }
.page-id-256 .gallery .gallery-icon img { aspect-ratio: 1; }
.page-id-250 .gallery .gallery-caption, .page-id-253 .gallery .gallery-caption, .page-id-256 .gallery .gallery-caption { display: block; min-height: 0; margin-top: auto; padding: 12px 14px; color: var(--rzym-forest); background: #fff; font-size: .9rem; font-weight: 700; line-height: 1.35; }
@media (max-width: 900px) { .page-id-250 .rzym-content > .gallery, .page-id-253 .rzym-content > .gallery, .page-id-256 .rzym-content > .gallery { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; } }
@media (max-width: 520px) { .page-id-250 .rzym-content > .gallery, .page-id-253 .rzym-content > .gallery { grid-template-columns: 1fr !important; gap: 18px; } .page-id-256 .rzym-content > .gallery { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 12px; } }