/* UpRYT Community theme v2: photography-led, warm, hospitality feel. Tokens come from theme.json. */
:root {
	--c-base: var(--wp--preset--color--base);
	--c-surface: var(--wp--preset--color--surface);
	--c-tint: var(--wp--preset--color--tint);
	--c-sand: var(--wp--preset--color--sand);
	--c-ink: var(--wp--preset--color--ink);
	--c-muted: var(--wp--preset--color--muted);
	--c-accent: var(--wp--preset--color--accent);
	--c-deep: var(--wp--preset--color--accent-dark);
	--c-hi: var(--wp--preset--color--highlight);
	--c-line: var(--wp--preset--color--line);
	--r-sm: 12px;
	--r-md: 20px;
	--r-lg: 28px;
	--shadow: 0 24px 60px -30px color-mix(in srgb, var(--c-deep) 55%, transparent);
	--shadow-sm: 0 10px 30px -18px color-mix(in srgb, var(--c-deep) 45%, transparent);
	--s-section: clamp(3.5rem, 7vw, 6.5rem);
	--f-head: var(--wp--preset--font-family--heading);
}
html { scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } * { transition: none !important; animation: none !important; } }
body { -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }
:where(a, button, summary, input, select, textarea):focus-visible { outline: 3px solid var(--c-accent); outline-offset: 3px; border-radius: 4px; }
.wp-site-blocks > * { margin-block-start: 0; }
main.wp-block-group > * { margin-block-start: 0; }
main p, main li { max-width: 66ch; }
main .wp-block-columns p, main .wp-block-columns li, main .wp-block-cover p { max-width: none; }
h1 em, h2 em { font-style: italic; font-weight: 400; color: var(--c-accent); }
.is-style-section-deep h2 em, .wp-block-cover h1 em, .wp-block-cover h2 em { color: var(--c-hi); }

/* ---------- Header ---------- */
.site-utility { background: var(--c-deep); color: #fff; font-size: .95rem; }
.site-utility a { color: #fff; }
.site-utility .wp-block-group, .site-utility > * { padding-block: .5rem; }
header.wp-block-template-part { position: sticky; top: 0; z-index: 80; }
.site-header { background: var(--c-surface); border-bottom: 1px solid var(--c-line); }
.site-header > .wp-block-group { padding-block: .7rem; gap: 1.5rem; }
.site-header .wp-block-site-logo img { height: 92px; width: auto; max-width: 300px; object-fit: contain; border-radius: 8px; }
.site-header .wp-block-site-title a { display: inline-block; max-width: 14ch; }
.site-header .wp-block-site-logo + .wp-block-site-title { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.site-header .wp-block-navigation { gap: 1.5rem; }
.site-header .wp-block-navigation .wp-block-navigation-item__content { padding: .4rem 0; color: var(--c-ink); position: relative; }
.site-header .wp-block-navigation .wp-block-navigation-item__content::after { content: ""; position: absolute; left: 0; right: 100%; bottom: 0; height: 2px; background: var(--c-hi); transition: right .25s ease; }
.site-header .wp-block-navigation .wp-block-navigation-item__content:hover::after,
.site-header .wp-block-navigation .current-menu-item > .wp-block-navigation-item__content::after { right: 0; }
.site-header .wp-block-navigation__submenu-container { border: 1px solid var(--c-line) !important; border-radius: var(--r-sm); padding: .5rem .75rem; min-width: 240px !important; box-shadow: var(--shadow-sm); }
.site-header .wp-block-navigation .nav-cta > .wp-block-navigation-item__content { background: var(--c-accent); color: #fff; padding: .7rem 1.4rem; border-radius: 999px; font-weight: 600; transition: background .2s ease; }
.site-header .wp-block-navigation .nav-cta > .wp-block-navigation-item__content::after { display: none; }
.site-header .wp-block-navigation .nav-cta > .wp-block-navigation-item__content:hover { background: var(--c-deep); }
.wp-block-navigation__responsive-container.is-menu-open { background: var(--c-base) !important; padding: 1.5rem !important; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content { font-family: var(--f-head); font-size: 1.6rem; padding: .55rem 0; }
@media (max-width: 1100px) { .site-header .wp-block-navigation { gap: 1.05rem; font-size: .95rem; } .site-header .wp-block-site-logo img { height: 60px; } }
@media (max-width: 600px) { header.wp-block-template-part { position: static; } .site-header .wp-block-site-logo img { height: 54px; max-width: 190px; } }

/* ---------- Sections ---------- */
.wp-block-group[class*="is-style-section"] { padding-block: var(--s-section); margin-block: 0 !important; position: relative; }
.wp-block-group.is-style-section-tint { background: var(--c-tint); }
.wp-block-group.is-style-section-sand { background: var(--c-sand); }
.wp-block-group.is-style-section-surface { background: var(--c-surface); }
.wp-block-group.is-style-section-deep { background: var(--c-deep); color: #fff; overflow: hidden; }
.wp-block-group.is-style-section-deep::before { content: ""; position: absolute; width: 520px; height: 520px; right: -180px; top: -220px; border-radius: 50%; border: 1px solid color-mix(in srgb, var(--c-hi) 45%, transparent); box-shadow: 0 0 0 70px color-mix(in srgb, var(--c-hi) 7%, transparent), 0 0 0 150px color-mix(in srgb, var(--c-hi) 4%, transparent); pointer-events: none; }
.is-style-section-deep > * { position: relative; }
.is-style-section-deep :where(h1, h2, h3, h4, a, cite, summary, p, li) { color: #fff; }
.wp-block-post-content > * + * { margin-block-start: 0; }
.wp-block-post-content > :not([class*="is-style-section"]):not(.alignfull) { margin-block: 1.25rem; }
section.wp-block-group h2:first-child, .is-style-card h3:first-child { margin-top: 0; }
h1, h2 { text-wrap: balance; }
section.wp-block-group > h2 { max-width: 28ch; margin-left: max(0px, calc((100% - var(--wp--style--global--wide-size)) / 2)) !important; }
section.wp-block-group.is-layout-constrained > h2 + p { margin-left: max(0px, calc((100% - var(--wp--style--global--wide-size)) / 2)) !important; max-width: 62ch; font-size: 1.1875rem; color: var(--c-muted); }
section.wp-block-group.text-narrow.is-layout-constrained > h2, section.wp-block-group.text-narrow.is-layout-constrained > h2 + p { margin-left: auto !important; margin-right: auto !important; max-width: var(--wp--style--global--content-size) !important; }
section.wp-block-group.text-narrow.is-layout-constrained > h2 + p { font-size: inherit; color: inherit; }
.is-style-section-deep.wp-block-group > h2 + p { color: #fff; opacity: .9; }
.wp-block-columns { gap: clamp(1.75rem, 4vw, 4rem); }
.wp-block-columns.are-vertically-aligned-center, .v-center.wp-block-columns { align-items: center; }
.eyebrow { font-weight: 600; font-size: .875rem; letter-spacing: .14em; text-transform: uppercase; color: var(--c-accent); margin-bottom: .75rem; display: flex; align-items: center; gap: .75rem; }
.eyebrow::before { content: ""; width: 34px; height: 2px; background: var(--c-hi); }
.wp-block-cover .eyebrow, .is-style-section-deep .eyebrow { color: #fff; }

/* ---------- Home hero (cover) ---------- */
.wp-block-cover.is-style-hero-cover { min-height: min(78vh, 720px); padding-block: clamp(3rem, 8vw, 6rem) clamp(6rem, 12vw, 9rem); margin-block: 0 !important; }
.is-style-hero-cover .wp-block-cover__background { background: linear-gradient(90deg, color-mix(in srgb, var(--c-deep) 92%, transparent) 0%, color-mix(in srgb, var(--c-deep) 72%, transparent) 42%, color-mix(in srgb, var(--c-deep) 8%, transparent) 100%) !important; opacity: 1 !important; }
.is-style-hero-cover .wp-block-cover__inner-container { width: 100%; max-width: var(--wp--style--global--wide-size); margin-inline: auto; }
.is-style-hero-cover .wp-block-cover__inner-container { max-width: none; }
.is-style-hero-cover .wp-block-cover__inner-container > * { max-width: 640px; margin-left: max(0px, calc((100% - var(--wp--style--global--wide-size)) / 2)) !important; margin-right: auto !important; color: #fff; }
.site-footer .wp-block-column:has(.ucc-footer-logo) .wp-block-site-title { display: none; }
.is-style-hero-cover h1 { color: #fff; margin-bottom: 1.25rem; text-wrap: balance; }
.is-style-hero-cover p.has-large-font-size { opacity: .95; margin-bottom: 2rem; }
.wp-block-cover .wp-block-button__link { background: #fff; color: var(--c-deep); }
.wp-block-cover .wp-block-button__link:hover { background: var(--c-hi); color: var(--c-deep); }
.wp-block-cover .wp-block-button.is-style-outline .wp-block-button__link { background: transparent; color: #fff; border: 2px solid rgba(255,255,255,.85); }
.wp-block-cover .wp-block-button.is-style-outline .wp-block-button__link:hover { background: #fff; color: var(--c-deep); }
@media (max-width: 781px) {
	.is-style-hero-cover .wp-block-cover__background { background: linear-gradient(180deg, color-mix(in srgb, var(--c-deep) 78%, transparent) 0%, color-mix(in srgb, var(--c-deep) 88%, transparent) 100%) !important; }
	.wp-block-cover.is-style-hero-cover { min-height: 0; padding-block: 3rem 6.5rem; }
}

/* ---------- Floating fact card ---------- */
.wp-block-group.is-style-float-card { background: var(--c-surface); border-radius: var(--r-lg); box-shadow: var(--shadow); padding: clamp(1.25rem, 3vw, 2.25rem) clamp(1.25rem, 3vw, 2.75rem); margin-top: clamp(-5.5rem, -8vw, -4rem) !important; position: relative; z-index: 5; max-width: var(--wp--style--global--wide-size); margin-inline: auto !important; }
.float-wrap.wp-block-group { padding-bottom: 0 !important; padding-top: 0 !important; margin: 0 !important; }
.wp-block-columns.is-style-fact-strip { gap: 0; margin: 0; }
.is-style-fact-strip > .wp-block-column { padding: .5rem clamp(1rem, 2.5vw, 2.25rem); }
.is-style-fact-strip > .wp-block-column + .wp-block-column { border-left: 1px solid var(--c-line); }
.is-style-fact-strip .fact-figure { font-family: var(--f-head); font-weight: 500; font-size: clamp(2.1rem, 3.6vw, 3rem); line-height: 1; letter-spacing: -.02em; color: var(--c-deep); margin: 0 0 .5rem; }
.is-style-fact-strip p { margin: 0; font-size: 1.03rem; color: var(--c-muted); }
.is-style-section-tint .is-style-fact-strip, .is-style-section-sand .is-style-fact-strip { background: var(--c-surface); border-radius: var(--r-lg); padding: clamp(1rem, 2.5vw, 2rem) 0; box-shadow: var(--shadow-sm); margin-block: 2rem; }
@media (max-width: 781px) { .is-style-fact-strip > .wp-block-column + .wp-block-column { border-left: 0; border-top: 1px solid var(--c-line); padding-top: 1.25rem; margin-top: .25rem; } }

/* ---------- Images ---------- */
.wp-block-image { margin: 0; }
.wp-block-image img { border-radius: var(--r-md); display: block; width: 100%; height: auto; }
.wp-block-image.is-style-arch img { border-radius: 999px 999px var(--r-md) var(--r-md); }
.wp-block-image.is-style-framed { position: relative; padding: 0 0 1.5rem 1.5rem; }
.wp-block-image.is-style-framed::before { content: ""; position: absolute; left: 0; bottom: 0; width: 72%; height: 78%; background: var(--c-tint); border-radius: var(--r-md); z-index: 0; }
.is-style-section-tint .wp-block-image.is-style-framed::before { background: var(--c-surface); }
.wp-block-image.is-style-framed img { position: relative; z-index: 1; box-shadow: var(--shadow-sm); }
.wp-block-image.is-style-arch { position: relative; }
.wp-block-image.is-style-arch::after { content: ""; position: absolute; inset: -14px; border: 1.5px solid var(--c-hi); border-radius: 999px 999px calc(var(--r-md) + 12px) calc(var(--r-md) + 12px); opacity: .7; pointer-events: none; }
.wp-block-image figcaption { font-size: .95rem; color: var(--c-muted); text-align: left; margin-top: .6rem; }
.img-stack { position: relative; }
.img-stack > .wp-block-image:nth-child(2) { width: 58%; margin: -28% 0 0 auto !important; position: relative; z-index: 2; }
.img-stack > .wp-block-image:nth-child(2) img { border: 8px solid var(--c-base); box-shadow: var(--shadow-sm); }
.img-stack > .wp-block-image:first-child { width: 86%; }

/* ---------- Page hero (inner pages) ---------- */
.wp-block-group.is-style-page-hero { background: linear-gradient(180deg, var(--c-sand) 0%, var(--c-base) 100%); padding-block: clamp(2.5rem, 5vw, 4.5rem); margin-block: 0 !important; overflow: hidden; }
.is-style-page-hero h1 { font-size: clamp(2.3rem, 4.4vw, 3.4rem); text-wrap: balance; margin-bottom: 1rem; }
.is-style-page-hero .wp-block-columns { align-items: center; margin: 0; }
.is-style-page-hero .wp-block-buttons { margin-top: 1.75rem; }
.is-style-page-hero > h1, .is-style-page-hero > p { max-width: 760px; margin-left: max(0px, calc((100% - var(--wp--style--global--wide-size)) / 2)) !important; }
.single .is-style-page-hero > *, .page-template-default .is-style-page-hero > * { margin-left: auto !important; max-width: var(--wp--style--global--content-size); }
.is-style-page-hero .wp-block-image.is-style-arch { max-width: 420px; margin-left: auto; margin-right: 14px; }
.is-style-page-hero .wp-block-image.is-style-arch img { aspect-ratio: 4 / 5; object-fit: cover; }

/* ---------- Cards ---------- */
.wp-block-group.is-style-card { background: var(--c-surface); border: 1px solid var(--c-line); border-radius: var(--r-md); padding: clamp(1.35rem, 2.5vw, 2.1rem); box-shadow: var(--shadow-sm); }
.wp-block-group.is-style-card > :first-child { margin-top: 0; }
.wp-block-group.is-style-photo-card { background: var(--c-surface); border-radius: var(--r-md); overflow: hidden; box-shadow: var(--shadow-sm); height: 100%; transition: transform .25s ease, box-shadow .25s ease; display: flex; flex-direction: column; }
.wp-block-group.is-style-photo-card:hover { transform: translateY(-4px); box-shadow: var(--shadow); }
.is-style-photo-card > .wp-block-image img { border-radius: 0; aspect-ratio: 16 / 10; object-fit: cover; }
.is-style-photo-card > :not(.wp-block-image) { margin-inline: clamp(1.25rem, 2.2vw, 2rem); }
.is-style-photo-card > h3 { margin-top: 1.5rem; margin-bottom: .5rem; }
.is-style-photo-card > :last-child { margin-bottom: 1.75rem; }
.is-style-photo-card a { font-weight: 600; text-decoration: none; }
.is-style-photo-card a::after { content: " \2192"; }
.wp-block-group.is-style-rule-top { border-top: 2px solid var(--c-hi); padding-top: 1.25rem; }
.wp-block-group.is-style-panel { background: var(--c-surface); border-radius: var(--r-lg); padding: clamp(1.5rem, 4vw, 3.25rem); box-shadow: var(--shadow-sm); }

/* ---------- Placeholders (only where no real photo exists yet) ---------- */
.wp-block-group.is-style-photo-placeholder { aspect-ratio: 16 / 9; width: 100%; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; padding: 1.25rem; border-radius: var(--r-md); color: var(--c-muted); background: radial-gradient(120% 120% at 20% 10%, var(--c-surface) 0%, var(--c-tint) 60%, color-mix(in srgb, var(--c-hi) 28%, var(--c-tint)) 100%); position: relative; }
.wp-block-group.is-style-photo-placeholder::before { content: ""; width: 54px; height: 54px; margin-bottom: .6rem; background: var(--c-accent); opacity: .55; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='14' rx='2.5'/%3E%3Ccircle cx='9' cy='10' r='1.6'/%3E%3Cpath d='m4 17 5-4.5 3.5 3 3-2.5L21 17'/%3E%3C/svg%3E") center/contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='14' rx='2.5'/%3E%3Ccircle cx='9' cy='10' r='1.6'/%3E%3Cpath d='m4 17 5-4.5 3.5 3 3-2.5L21 17'/%3E%3C/svg%3E") center/contain no-repeat; }
.is-style-photo-placeholder.ratio-4x3 { aspect-ratio: 4 / 3; }
.is-style-photo-placeholder.ratio-3x2 { aspect-ratio: 3 / 2; }
.is-style-photo-placeholder.ratio-4x5 { aspect-ratio: 4 / 5; }
.is-style-photo-placeholder.ratio-21x9 { aspect-ratio: 21 / 9; }
.is-style-photo-placeholder.ratio-1x1 { aspect-ratio: 1 / 1; border-radius: 50%; max-width: 220px; margin-inline: auto; }
.is-style-photo-placeholder.ratio-1x1::before { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.4' stroke-linecap='round'%3E%3Ccircle cx='12' cy='9' r='3.6'/%3E%3Cpath d='M4.5 20c1.2-4 4-5.8 7.5-5.8s6.3 1.8 7.5 5.8'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.4' stroke-linecap='round'%3E%3Ccircle cx='12' cy='9' r='3.6'/%3E%3Cpath d='M4.5 20c1.2-4 4-5.8 7.5-5.8s6.3 1.8 7.5 5.8'/%3E%3C/svg%3E"); width: 72px; height: 72px; margin: 0; }
.is-style-photo-placeholder p { margin: 0; max-width: 30ch; font-size: .95rem; line-height: 1.35; }
.is-style-photo-placeholder p:first-child { font-weight: 600; letter-spacing: .08em; text-transform: uppercase; font-size: .8rem; }
html:not(.ucc-review) .is-style-photo-placeholder p:nth-child(2) { display: none; }
html:not(.ucc-review) .is-style-photo-placeholder.ratio-1x1 p { display: none; }

/* ---------- Review mode: open client items are hidden from the public view ---------- */
html:not(.ucc-review) p.is-style-verify,
html:not(.ucc-review) .wp-block-group.is-style-verify,
html:not(.ucc-review) mark.has-inline-color,
html:not(.ucc-review) .ucc-verify-inline,
html:not(.ucc-review) .ucc-review-only { display: none !important; }
html.ucc-review .ucc-public-only { display: none !important; }
p.is-style-verify, .wp-block-group.is-style-verify { background: var(--wp--preset--color--verify); color: #4a3c00; border-left: 4px solid #d9a400; border-radius: var(--r-sm); padding: .8rem 1rem; font-size: 1rem; line-height: 1.45; max-width: none; }
p.is-style-verify::before { content: "Open item: "; font-weight: 700; }
mark.has-inline-color, .ucc-verify-inline { background: var(--wp--preset--color--verify) !important; color: #4a3c00 !important; padding: 0 .3em; border-radius: 4px; font-weight: 600; }
html.ucc-review .ucc-review-only { outline: 2px dashed #d9a400; outline-offset: 6px; }

/* ---------- Tables ---------- */
.wp-block-table { overflow-x: auto; margin-block: 1.75rem; border-radius: var(--r-md); box-shadow: var(--shadow-sm); background: var(--c-surface); }
.wp-block-table table { border-collapse: collapse; width: 100%; min-width: 520px; border: 0; }
.wp-block-table th, .wp-block-table td { border: 0; border-bottom: 1px solid var(--c-line); padding: 1.05rem 1.35rem; text-align: left; vertical-align: top; }
.wp-block-table tbody tr:last-child td { border-bottom: 0; }
.wp-block-table thead { border-bottom: 0; }
.wp-block-table thead th { background: var(--c-deep); color: #fff; font-weight: 600; font-size: .95rem; letter-spacing: .04em; text-transform: uppercase; }
.wp-block-table td:first-child { font-weight: 600; color: var(--c-ink); }
.wp-block-table td:last-child { font-family: var(--f-head); font-size: 1.2rem; white-space: nowrap; }
.wp-block-table figcaption { text-align: left; margin: 0; padding: .9rem 1.35rem 1.1rem; background: var(--c-surface); border-top: 1px solid var(--c-line); }

/* ---------- FAQ ---------- */
.wp-block-details { background: var(--c-surface); border: 1px solid var(--c-line); border-radius: var(--r-sm); padding: 1.15rem 1.4rem; margin-top: 0 !important; margin-bottom: .8rem !important; transition: box-shadow .2s ease; }
.wp-block-details[open] { box-shadow: var(--shadow-sm); }
.wp-block-details summary { font-family: var(--f-head); font-weight: 500; font-size: 1.35rem; line-height: 1.3; cursor: pointer; list-style: none; position: relative; padding-right: 3rem; color: var(--c-ink); }
.wp-block-details summary::-webkit-details-marker { display: none; }
.wp-block-details summary::after { content: "+"; position: absolute; right: 0; top: 50%; transform: translateY(-50%); width: 2.1rem; height: 2.1rem; border-radius: 50%; background: var(--c-tint); color: var(--c-deep); display: grid; place-items: center; font-family: var(--wp--preset--font-family--body); font-size: 1.4rem; line-height: 1; }
.wp-block-details[open] summary::after { content: "\2212"; background: var(--c-accent); color: #fff; }
.wp-block-details > :not(summary) { margin-top: .9rem; color: var(--c-muted); }
.is-style-section-deep .wp-block-details :where(summary, p) { color: var(--c-ink); }

/* ---------- Lists ---------- */
ul.is-style-checks { list-style: none; padding-left: 0; }
ul.is-style-checks li { position: relative; padding-left: 2.4rem; margin-bottom: .8rem; }
ul.is-style-checks li::before { content: ""; position: absolute; left: 0; top: .2em; width: 1.5rem; height: 1.5rem; border-radius: 50%; background: var(--c-tint); }
ul.is-style-checks li::after { content: ""; position: absolute; left: .48rem; top: .62em; width: .55rem; height: .3rem; border-left: 2px solid var(--c-accent); border-bottom: 2px solid var(--c-accent); transform: rotate(-45deg); }
.is-style-section-tint ul.is-style-checks li::before { background: var(--c-surface); }
.is-style-section-deep ul.is-style-checks li::before { background: rgba(255,255,255,.16); }
.is-style-section-deep ul.is-style-checks li::after { border-color: #fff; }
ul.is-style-plain { list-style: none; padding-left: 0; }
ul.is-style-plain li { margin-bottom: .5rem; }

/* ---------- Buttons ---------- */
.wp-block-button__link { transition: background .2s ease, color .2s ease, transform .15s ease; }
.wp-block-button__link:hover { transform: translateY(-1px); }
.wp-block-button.is-style-outline .wp-block-button__link { background: transparent; color: var(--c-deep); border: 2px solid var(--c-deep); padding: calc(.95rem - 2px) calc(1.75rem - 2px); }
.wp-block-button.is-style-outline .wp-block-button__link:hover { background: var(--c-deep); color: #fff; }
.is-style-section-deep .wp-block-button__link { background: #fff; color: var(--c-deep); }
.is-style-section-deep .wp-block-button__link:hover { background: var(--c-hi); color: var(--c-deep); }
.wp-block-group.is-style-section-deep .wp-block-button.is-style-outline .wp-block-button__link { background: transparent; color: #fff; border-color: rgba(255,255,255,.85); }
.wp-block-group.is-style-section-deep .wp-block-button.is-style-outline .wp-block-button__link:hover { background: #fff; color: var(--c-deep); }

/* ---------- Reviews ---------- */
.wp-block-quote { margin: 0; padding: 0; position: relative; }
.wp-block-quote::before { content: "\201C"; font-family: var(--f-head); font-size: 6rem; line-height: .8; color: var(--c-hi); display: block; height: 2.6rem; }
.wp-block-quote p { font-family: var(--f-head); font-size: clamp(1.3rem, 2vw, 1.6rem); line-height: 1.45; font-style: italic; }
.wp-block-quote cite { display: block; margin-top: 1rem; font-size: .85rem; font-style: normal; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; opacity: .8; font-family: var(--wp--preset--font-family--body); }

/* ---------- CTA cover band ---------- */
.wp-block-cover.is-style-cta-cover { min-height: 440px; margin-block: 0 !important; padding-block: clamp(3.5rem, 7vw, 6rem); text-align: center; }
.is-style-cta-cover .wp-block-cover__background { background: var(--c-deep) !important; opacity: .82 !important; }
.is-style-cta-cover .wp-block-cover__inner-container { max-width: 760px; margin-inline: auto; color: #fff; }
.is-style-cta-cover h2 { color: #fff; font-size: clamp(2rem, 4vw, 3rem); }
.is-style-cta-cover .wp-block-buttons { justify-content: center; margin-top: 1.75rem; }

/* ---------- Breadcrumbs ---------- */
.ucc-breadcrumbs { font-size: .95rem; color: var(--c-muted); padding-block: .85rem; background: var(--c-sand); margin: 0 !important; }
.ucc-breadcrumbs ol { list-style: none; display: flex; flex-wrap: wrap; gap: .4rem; margin: 0 auto; padding: 0; max-width: var(--wp--style--global--wide-size); }
.ucc-breadcrumbs li + li::before { content: "\203A"; margin-right: .4rem; }
.ucc-breadcrumbs a { color: var(--c-muted); }

/* ---------- Posts ---------- */
.post-meta { color: var(--c-muted); font-size: 1rem; gap: .4rem; }
.post-meta p { margin: 0; }
.wp-block-post-template.is-layout-grid { gap: 1.75rem; }
.wp-block-post-template > li { background: var(--c-surface); border-radius: var(--r-md); padding: 1.75rem 1.9rem; box-shadow: var(--shadow-sm); border-top: 3px solid var(--c-hi); }
.wp-block-post-template .wp-block-post-title { font-size: 1.55rem; margin-bottom: .6rem; }
.wp-block-post-template .wp-block-post-title a { text-decoration: none; color: var(--c-ink); }
.wp-block-post-template .wp-block-post-title a:hover { color: var(--c-accent); }
.wp-block-post-excerpt__more-link { font-weight: 600; text-decoration: none; }
.single .wp-block-post-content > *, .page-template-default .wp-block-post-content > * { margin-block: 1.25rem; }
.wp-block-post-content h2 { margin-top: 2.5rem; }
.single .wp-block-post-content > p:first-child { font-family: var(--f-head); font-size: 1.5rem; line-height: 1.45; color: var(--c-ink); }

/* ---------- Footer ---------- */
.site-footer { background: var(--c-deep); color: #fff; font-size: 1.03rem; margin-top: 0 !important; }
.site-footer :where(h2, h3, h4, a) { color: #fff; }
.site-footer h3 { font-family: var(--wp--preset--font-family--body); font-size: .85rem; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; opacity: .75; margin-bottom: 1rem; }
.site-footer a { text-decoration: none; }
.site-footer a:hover { text-decoration: underline; }
.site-footer .footer-main { padding-block: var(--s-section) 2.5rem; }
.site-footer .footer-legal { border-top: 1px solid rgba(255,255,255,.18); padding-block: 1.5rem 2rem; font-size: .95rem; }
.site-footer .wp-block-site-title a { color: #fff; font-size: 1.7rem; }
.site-footer .ucc-footer-logo { max-width: 230px; height: auto; display: block; margin-bottom: 1.25rem; border-radius: 8px; }
.site-footer .ucc-footer-logo + * { margin-top: 0; }
body.has-ucc-mobile-bar .site-footer { padding-bottom: 4.5rem; }
@media (min-width: 782px) { body.has-ucc-mobile-bar .site-footer { padding-bottom: 0; } }

/* ---------- Small screens ---------- */
@media (max-width: 781px) {
	.wp-block-columns { gap: 1.75rem; }
	.wp-block-group.is-style-photo-card { height: auto; }
	.is-style-page-hero .wp-block-image.is-style-arch { max-width: 320px; margin-inline: auto; }
	.img-stack > .wp-block-image:first-child { width: 100%; }
	.reverse-mobile.wp-block-columns { flex-direction: column-reverse; }
}
@media (max-width: 600px) {
	.wp-block-table table { min-width: 0; font-size: 1rem; }
	.wp-block-table table.has-fixed-layout { table-layout: auto; }
	.wp-block-table th, .wp-block-table td { padding: .75rem .7rem; }
	.wp-block-table td:last-child { white-space: normal; font-size: 1.05rem; }
	.wp-block-details summary { font-size: 1.2rem; }
}

/* ================= Responsive pass (2026-09-20) ================= */
/* Covers: side padding matches the page gutter, content aligns to the 1180 grid at every width. */
.wp-block-cover.is-style-hero-cover, .wp-block-cover.is-style-cta-cover { padding-inline: var(--wp--style--root--padding-left, clamp(1.1rem, 4vw, 2.5rem)); }
.wp-block-cover.is-style-hero-cover .wp-block-cover__inner-container { width: 100% !important; max-width: var(--wp--style--global--wide-size) !important; margin-inline: auto !important; padding-inline: 0 !important; }
.wp-block-cover.is-style-hero-cover .wp-block-cover__inner-container > * { margin-left: 0 !important; }
.wp-block-cover.is-style-cta-cover .wp-block-cover__inner-container { padding-inline: 0 !important; }

/* Header: real button beside the nav. The nav link version only shows inside the open mobile menu. */
.site-header .header-cta { margin: 0; flex: 0 0 auto; }
.site-header .header-cta .wp-block-button__link { padding: .7rem 1.4rem; font-size: 1rem; white-space: nowrap; }
.site-header .wp-block-navigation .nav-cta { display: none; }
.site-header .wp-block-navigation__responsive-container.is-menu-open .nav-cta { display: flex; margin-top: 1rem; }
.site-header .wp-block-navigation__responsive-container.is-menu-open .nav-cta > .wp-block-navigation-item__content { font-family: var(--wp--preset--font-family--body); font-size: 1.1rem; padding: .9rem 1.6rem; color: #fff; }
.site-header > .wp-block-group { flex-wrap: nowrap; }
.site-header .wp-block-navigation { margin-left: auto; }

/* Collapse the nav to the menu button below 1100px (core switches at 600px, where six links cannot fit). */
@media (max-width: 1099px) {
	.site-header .wp-block-navigation__responsive-container:not(.is-menu-open) { display: none !important; }
	.site-header .wp-block-navigation__responsive-container-open { display: flex !important; }
	.site-header .wp-block-navigation { order: 3; margin-left: 0; }
	.site-header .header-cta { margin-left: auto; }
}
.wp-block-navigation__responsive-container-open, .wp-block-navigation__responsive-container-close { width: 46px; height: 46px; align-items: center; justify-content: center; border-radius: 50%; background: var(--c-tint); color: var(--c-deep); }
.wp-block-navigation__responsive-container-open svg, .wp-block-navigation__responsive-container-close svg { width: 26px; height: 26px; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container { padding-left: 1rem !important; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content { font-size: 1.25rem; font-family: var(--wp--preset--font-family--body); }
@media (max-width: 781px) { .site-header .header-cta { display: none; } .site-header .wp-block-navigation { margin-left: auto; } }

/* Tablet: two-column splits keep working down to 782px, so tighten gaps and type there. */
@media (min-width: 782px) and (max-width: 1099px) {
	.wp-block-columns { gap: 2rem; }
	.is-style-fact-strip > .wp-block-column { padding-inline: 1rem; }
	.is-style-fact-strip .fact-figure { font-size: 2rem; }
	.is-style-photo-card > :not(.wp-block-image) { margin-inline: 1.1rem; }
	.wp-block-image.is-style-arch::after { inset: -10px; }
}

/* Phones */
@media (max-width: 781px) {
	.wp-block-cover.is-style-hero-cover { padding-block: 2.5rem 6.5rem; }
	.is-style-hero-cover h1 { font-size: clamp(2.1rem, 8.4vw, 2.7rem); }
	.is-style-hero-cover p.has-large-font-size { font-size: 1.125rem; margin-bottom: 1.5rem; }
	.wp-block-buttons { gap: .75rem; }
	.is-style-hero-cover .wp-block-button, .is-style-page-hero .wp-block-button, .is-style-cta-cover .wp-block-button { flex: 1 1 auto; }
	.is-style-hero-cover .wp-block-button__link, .is-style-page-hero .wp-block-button__link, .is-style-cta-cover .wp-block-button__link { display: block; text-align: center; }
	.wp-block-group.is-style-float-card { margin-top: -4.5rem !important; padding: 1.25rem 1.35rem; border-radius: var(--r-md); }
	.is-style-fact-strip > .wp-block-column { padding: .35rem 0; }
	.is-style-fact-strip .fact-figure { font-size: 2.1rem; }
	.wp-block-image.is-style-framed { padding: 0 0 1rem 1rem; }
	.wp-block-image.is-style-arch::after { inset: -8px; }
	.img-stack > .wp-block-image:nth-child(2) { width: 52%; margin-top: -22% !important; }
	.is-style-page-hero .wp-block-columns { gap: 2.25rem; }
	.wp-block-quote p { font-size: 1.25rem; }
	.wp-block-cover.is-style-cta-cover { min-height: 0; }
	.site-footer .footer-main { gap: 2rem; }
	.ucc-form { border-radius: var(--r-md); }
	section.wp-block-group > h2 { max-width: none; }
}
@media (max-width: 480px) {
	.site-utility { font-size: .875rem; }
	.wp-block-details { padding: 1rem 1.1rem; }
	.wp-block-details summary { padding-right: 2.6rem; }
	.wp-block-table td:first-child { min-width: 7.5rem; }
}
/* Very wide screens: keep the hero from becoming a letterbox and the text column readable. */
@media (min-width: 1600px) {
	.wp-block-cover.is-style-hero-cover { min-height: 760px; }
	.wp-block-cover.is-style-hero-cover .wp-block-cover__image-background { object-position: center 40%; }
}
/* Fixed heading sizes so fluid scaling never drops card titles below body size on phones. */
h3.wp-block-heading { font-size: clamp(1.4rem, 1.1rem + 1vw, 1.6rem); }
h4.wp-block-heading { font-size: 1.25rem; }
.site-footer h3.wp-block-heading, .ucc-sisters h3 { font-size: .85rem; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content { padding-top: 3.5rem; align-items: flex-start !important; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container { align-items: flex-start !important; gap: .25rem; width: 100%; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item { align-items: flex-start !important; }


/* launch-pass: portraits. Until real staff photos exist, portrait placeholders show only in review mode and the bio takes the full row. */
html:not(.ucc-review) .wp-block-column:has(> .is-style-photo-placeholder.ratio-1x1) { display: none !important; }
html:not(.ucc-review) .wp-block-columns:has(> .wp-block-column > .is-style-photo-placeholder.ratio-1x1) > .wp-block-column { flex-basis: 100% !important; max-width: 760px; margin-inline: auto !important; flex-grow: 0 !important; }
