/* Wright Choice: component styles that theme.json can't express. Spacing uses the theme.json scale only. */

:root {
	--wcc-section: var(--wp--preset--spacing--60);
	--wcc-radius: 4px;
	--wcc-line: rgba(225, 225, 225, 0.18);
	--wcc-ease: cubic-bezier(.2, .7, .2, 1);
}

html { scroll-behavior: smooth; scroll-padding-top: 6rem; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
body { -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }
img { height: auto; }
:where(.wp-site-blocks) > * { margin-block-start: 0; }
.wp-site-blocks { padding: 0; }
main { margin-top: 0 !important; }
::selection { background: var(--wp--preset--color--accent); color: #fff; }
:focus-visible { outline: 2px solid var(--wp--preset--color--taupe); outline-offset: 3px; }
.screen-reader-text:focus { clip: auto; }

/* ---------- Sections: one rhythm everywhere ---------- */
.wcc-section {
	padding-block: var(--wcc-section);
}
.wcc-section:not(.has-background) + .wcc-section:not(.has-background):not(.wcc-flush) { padding-block-start: 0; }
.wcc-section.is-tight { padding-block: var(--wp--preset--spacing--50); }
.wcc-flush { padding-block: 0; }
.wcc-section > .wp-block-heading:first-child { margin-block-end: var(--wp--preset--spacing--50); }
.wcc-eyebrow {
	font-family: var(--wp--preset--font-family--accent);
	font-style: italic;
	text-transform: uppercase;
	letter-spacing: .12em;
	font-size: var(--wp--preset--font-size--small);
	color: var(--wp--preset--color--taupe);
}
.wcc-rule {
	width: 64px;
	margin-inline: auto !important;
	border: 0;
	border-top: 1px solid var(--wp--preset--color--taupe) !important;
	opacity: .7;
}
.has-sand-background-color, .has-taupe-background-color { color: var(--wp--preset--color--base); }
.has-sand-background-color :is(h1, h2, h3, h4, a), .has-taupe-background-color :is(h1, h2, h3, h4, a) { color: var(--wp--preset--color--base); }
.has-sand-background-color .wp-element-button:hover, .has-taupe-background-color .wp-element-button:hover {
	background: var(--wp--preset--color--base); color: var(--wp--preset--color--white);
}

/* ---------- Buttons ---------- */
.wp-element-button, .wp-block-button__link { transition: background-color .25s var(--wcc-ease), color .25s var(--wcc-ease); text-decoration: none; }
.wcc-arrow .wp-block-button__link::after { content: "\2192"; margin-inline-start: .6em; display: inline-block; transition: transform .25s var(--wcc-ease); }
.wcc-arrow .wp-block-button__link:hover::after { transform: translateX(3px); }
.wp-block-button.is-style-fill .wp-block-button__link { background: var(--wp--preset--color--contrast); color: var(--wp--preset--color--base); }

/* ---------- Header ---------- */
.wcc-header {
	position: fixed; inset: 0 0 auto; z-index: 50;
	transition: background-color .3s var(--wcc-ease), box-shadow .3s var(--wcc-ease);
}
.admin-bar .wcc-header { top: var(--wp-admin--admin-bar--height, 32px); }
/* The blur sits on a pseudo-element: backdrop-filter on the header itself would make it the containing block
   for the fixed mobile menu, which then opens squeezed into the header bar once the page is scrolled. */
.wcc-header.is-scrolled { box-shadow: 0 1px 0 var(--wcc-line); }
.wcc-header.is-scrolled::before { content: ""; position: absolute; inset: 0; z-index: -1; background: rgba(39, 36, 35, .94); backdrop-filter: blur(8px); }
.wcc-header__inner {
	display: grid !important; grid-template-columns: 1fr auto 1fr; align-items: center;
	padding-block: 1rem; transition: padding .3s var(--wcc-ease);
}
.wcc-header.is-scrolled .wcc-header__inner { padding-block: .5rem; }
.wcc-header__inner > :first-child { justify-self: start; }
.wcc-header__inner > :last-child { justify-self: end; }
.wcc-header .wp-block-site-logo img { width: 72px; transition: width .3s var(--wcc-ease); }
.wcc-header.is-scrolled .wp-block-site-logo img { width: 54px; }
.wcc-header .wp-block-navigation a { text-decoration: none; }
.wcc-header .wp-block-navigation a:hover { color: var(--wp--preset--color--white); }
.wcc-header__actions .wp-block-button__link { font-size: .8125rem; padding: .6em 1.3em; }
.wcc-header .wp-block-navigation__responsive-container.is-menu-open {
	background: var(--wp--preset--color--base-2) !important; padding: var(--wp--preset--spacing--50);
}
.wcc-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container {
	font-family: var(--wp--preset--font-family--display); font-size: var(--wp--preset--font-size--x-large); gap: 1rem;
}
@media (max-width: 1279px) {
	.wcc-header__inner { grid-template-columns: auto 1fr; }
	.wcc-header__inner > .wcc-header__logo { order: -1; }
	.wcc-header__inner > .wcc-header__nav { justify-self: end; order: 1; }
	.wcc-header__actions { display: none !important; }
	.wcc-header .wp-block-site-logo img { width: 56px; }
}
@media (min-width: 1280px) {
	.wcc-header .wp-block-navigation__responsive-container-open { display: none; }
	.wcc-header .wp-block-navigation__responsive-container:not(.is-menu-open) { display: block; position: static; background: none; }
}

/* ---------- Hero ---------- */
.wcc-hero { min-height: 100svh !important; padding-block: 8rem var(--wp--preset--spacing--60) !important; }
.wcc-hero.is-short { min-height: 55svh !important; }
.wcc-hero h1 { text-shadow: 0 2px 24px rgba(0, 0, 0, .35); }
.wcc-hero .wcc-tagline {
	font-family: var(--wp--preset--font-family--accent); font-style: italic; text-transform: uppercase;
	letter-spacing: .14em; font-size: var(--wp--preset--font-size--large);
}
.wcc-bgvideo { overflow: hidden; }
.wcc-bgvideo__frame {
	position: absolute; top: 50%; left: 50%; border: 0; pointer-events: none; z-index: 0;
	width: max(100%, 177.78vh); height: max(100%, 56.25vw); transform: translate(-50%, -50%);
	opacity: 0; transition: opacity 1.2s ease;
}
.wcc-bgvideo__frame.is-playing { opacity: 1; }
.wcc-bgvideo .wp-block-cover__background { z-index: 1; }
.wcc-bgvideo .wp-block-cover__inner-container { z-index: 2; }

/* ---------- Media ---------- */
.wcc-section .wp-block-image img, .wcc-section .wp-block-gallery img { border-radius: var(--wcc-radius); }
.wp-block-gallery.has-nested-images figure.wp-block-image img { aspect-ratio: 4 / 3; object-fit: cover; }
.wp-block-gallery.is-tall figure.wp-block-image img { aspect-ratio: 3 / 4; }
.wp-block-gallery.columns-1 figure.wp-block-image img { aspect-ratio: 16 / 9; }

.wcc-video { position: relative; aspect-ratio: 16 / 9; margin: 0; background: var(--wp--preset--color--base-2); border-radius: var(--wcc-radius); overflow: hidden; }
.wcc-video iframe, .wcc-video__play, .wcc-video__play img { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.wcc-video__play { padding: 0; cursor: pointer; background: none; }
.wcc-video__play img { object-fit: cover; transition: transform .6s var(--wcc-ease), filter .3s; }
.wcc-video__play:hover img { transform: scale(1.03); filter: brightness(.9); }
.wcc-video__icon {
	position: absolute; top: 50%; left: 50%; width: 76px; height: 76px; transform: translate(-50%, -50%);
	border: 1px solid rgba(255, 255, 255, .9); border-radius: 50%; background: rgba(49, 46, 45, .45); backdrop-filter: blur(4px);
}
.wcc-video__icon::after {
	content: ""; position: absolute; top: 50%; left: 54%; transform: translate(-50%, -50%);
	border-style: solid; border-width: 11px 0 11px 18px; border-color: transparent transparent transparent #fff;
}

/* ---------- Split (text + media) ---------- */
.wcc-split { gap: var(--wp--preset--spacing--50) !important; align-items: center !important; }
.wcc-split h3 { margin-block-start: 0; }

/* ---------- Cards ---------- */
.wcc-card { position: relative; overflow: hidden; border-radius: var(--wcc-radius); }
.wcc-card .wp-block-cover__image-background { transition: transform .8s var(--wcc-ease); }
.wcc-card:hover .wp-block-cover__image-background { transform: scale(1.04); }
.wcc-card h3, .wcc-card h4 { margin: 0; }
.wcc-card a::after { content: ""; position: absolute; inset: 0; z-index: 3; }
.wcc-card a { text-decoration: none; }
.wcc-card p { margin-block-start: .35rem; }

/* Team grid */
.wcc-team { display: grid !important; grid-template-columns: repeat(auto-fill, minmax(min(100%, 260px), 1fr)); gap: var(--wp--preset--spacing--40) !important; }
.wcc-team > * { margin: 0 !important; }
.wcc-person figure { margin: 0; overflow: hidden; border-radius: var(--wcc-radius); background: linear-gradient(180deg, #3c3837, #292625); }
.wcc-person img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; object-position: top; transition: transform .8s var(--wcc-ease); }
.wcc-person:hover img { transform: scale(1.03); }
.wcc-person h3 { font-size: var(--wp--preset--font-size--large); margin-block: 1rem .15rem; }
.wcc-person h3 a { text-decoration: none; }
.wcc-person h3 a::after { content: ""; position: absolute; inset: 0; }
.wcc-person { position: relative; }
.wcc-person p { margin: 0; color: var(--wp--preset--color--muted); font-size: var(--wp--preset--font-size--small); letter-spacing: .08em; text-transform: uppercase; }

/* Bio modal (<dialog>) */
dialog.wcc-modal {
	width: min(960px, calc(100vw - 2rem)); max-height: calc(100svh - 2rem); padding: var(--wp--preset--spacing--50);
	border: 0; border-radius: 6px; background: var(--wp--preset--color--base); color: var(--wp--preset--color--contrast);
	overflow: auto; box-shadow: 0 30px 80px rgba(0, 0, 0, .5);
}
dialog.wcc-modal::backdrop { background: rgba(20, 18, 18, .75); backdrop-filter: blur(3px); }
dialog.wcc-modal[open] { animation: wcc-fade .3s var(--wcc-ease); }
.wcc-modal__closeform { position: sticky; top: 0; height: 0; text-align: right; z-index: 2; }
.wcc-modal__close {
	width: 44px; height: 44px; margin: -1.5rem -1.5rem 0 0; border: 1px solid var(--wcc-line); border-radius: 50%;
	background: var(--wp--preset--color--base); color: inherit; font-size: 1.6rem; line-height: 1; cursor: pointer;
}
.wcc-modal .wp-block-columns { align-items: center; }
.wcc-modal img { max-height: 70svh; width: 100%; object-fit: contain; }
@keyframes wcc-fade { from { opacity: 0; transform: translateY(12px); } }

/* ---------- Carousel (CSS scroll-snap; arrows added by site.js) ---------- */
.wcc-carousel { position: relative; }
.wcc-carousel__track {
	display: grid !important; grid-auto-flow: column; grid-auto-columns: min(85%, 560px);
	gap: var(--wp--preset--spacing--40) !important; overflow-x: auto; scroll-snap-type: x mandatory;
	scrollbar-width: none; padding-bottom: .25rem;
}
.wcc-carousel__track.is-wide { grid-auto-columns: 100%; }
.wcc-carousel__track.is-small { grid-auto-columns: min(80%, 300px); }
.wcc-carousel__track::-webkit-scrollbar { display: none; }
.wcc-carousel__track > * { scroll-snap-align: start; margin: 0 !important; }
.wcc-carousel__nav { display: flex; justify-content: flex-end; gap: .5rem; margin-top: var(--wp--preset--spacing--30); }
.wcc-carousel__btn {
	width: 48px; height: 48px; border-radius: 3px; border: 1px solid var(--wcc-line); background: transparent;
	color: var(--wp--preset--color--contrast); font-size: 1.1rem; cursor: pointer; transition: background .2s, color .2s;
}
.wcc-carousel__btn:hover { background: var(--wp--preset--color--contrast); color: var(--wp--preset--color--base); }

/* ---------- Quote band ---------- */
.wcc-quote { text-align: center; }
.wcc-quote blockquote, .wcc-quote .wp-block-quote { margin-inline: auto; max-width: 900px; }
.wcc-quote .wp-block-quote p { font-size: var(--wp--preset--font-size--xx-large); line-height: 1.2; color: var(--wp--preset--color--white); }
.wcc-quote .wp-block-quote cite {
	display: block; margin-top: var(--wp--preset--spacing--30); font-family: var(--wp--preset--font-family--accent);
	font-style: italic; font-size: var(--wp--preset--font-size--small); letter-spacing: .14em; text-transform: uppercase; color: var(--wp--preset--color--taupe);
}

/* ---------- Home stats ---------- */
.wcc-stats { display: grid !important; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: var(--wp--preset--spacing--40) !important; text-align: center; }
.wcc-stats > * { margin: 0 !important; padding: var(--wp--preset--spacing--40) var(--wp--preset--spacing--30); border: 1px solid var(--wcc-line); border-radius: var(--wcc-radius); }
.wcc-stats .wcc-stat__num { font-size: var(--wp--preset--font-size--xx-large); line-height: 1; color: var(--wp--preset--color--white); margin: 0; }
.wcc-stats .wcc-stat__label { margin: .5rem 0 0; font-size: var(--wp--preset--font-size--small); text-transform: uppercase; letter-spacing: .12em; color: var(--wp--preset--color--muted); }

/* ---------- Portfolio grid (query loop of child pages) ---------- */
.wcc-portfolio .wp-block-post-template { gap: var(--wp--preset--spacing--30) !important; }
.wcc-portfolio .wp-block-post { position: relative; overflow: hidden; border-radius: var(--wcc-radius); }
.wcc-portfolio .wp-block-post-featured-image { margin: 0; }
.wcc-portfolio .wp-block-post-featured-image img { aspect-ratio: 4 / 3; object-fit: cover; transition: transform .8s var(--wcc-ease), filter .4s; }
.wcc-portfolio .wp-block-post:hover img { transform: scale(1.04); filter: brightness(.8); }
.wcc-portfolio .wp-block-post-title {
	position: absolute; inset: auto 0 0; margin: 0; padding: 3rem 1.25rem 1.1rem;
	background: linear-gradient(transparent, rgba(30, 28, 27, .85)); font-size: var(--wp--preset--font-size--large);
}
.wcc-portfolio .wp-block-post-title a { text-decoration: none; }
.wcc-portfolio .wp-block-post-title a::after { content: ""; position: absolute; inset: 0; }

/* ---------- Pillars / anchor tiles ---------- */
.wcc-tiles { display: grid !important; grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr)); gap: var(--wp--preset--spacing--30) !important; }
.wcc-tiles > * { margin: 0 !important; }
.wcc-tiles .wp-block-cover { min-height: 340px !important; border-radius: var(--wcc-radius); }

/* ---------- Contact / form box ---------- */
.wcc-formbox {
	background: var(--wp--preset--color--white); color: var(--wp--preset--color--base); border-radius: 8px;
	padding: clamp(1rem, 4vw, 2.5rem); box-shadow: 0 20px 60px rgba(0, 0, 0, .35); max-width: 760px; margin-inline: auto;
}
.wcc-formbox iframe { display: block; width: 100%; border: 0; }
.wcc-contact-list h3 { font-size: var(--wp--preset--font-size--small); letter-spacing: .14em; color: var(--wp--preset--color--taupe); margin-bottom: .25rem; }
.wcc-contact-list p { margin-top: 0; }

/* ---------- Footer ---------- */
.wcc-footer { border-top: 1px solid var(--wcc-line); font-size: var(--wp--preset--font-size--small); }
.wcc-footer h3 { font-size: var(--wp--preset--font-size--small); letter-spacing: .16em; color: var(--wp--preset--color--taupe); margin-block-end: 1rem; }
.wcc-footer a { text-decoration: none; }
.wcc-footer a:hover { text-decoration: underline; }
.wcc-footer .wp-block-navigation__container { gap: .4rem; }
.wcc-footer__legal { border-top: 1px solid var(--wcc-line); padding-top: var(--wp--preset--spacing--30); color: var(--wp--preset--color--muted); }
.wcc-cta-band p { max-width: 60ch; margin-inline: auto; }

/* ---------- Review page ---------- */
.wcc-review-links .wp-block-button__link { min-width: 280px; }

/* ---------- Misc ---------- */
.wcc-legal h2 { font-family: var(--wp--preset--font-family--serif); font-size: var(--wp--preset--font-size--large); margin-block-start: var(--wp--preset--spacing--50); }
.wcc-legal .wcc-toc { border: 1px solid var(--wcc-line); padding: var(--wp--preset--spacing--40); border-radius: var(--wcc-radius); }
@media (max-width: 781px) {
	.wcc-section { --wcc-section: var(--wp--preset--spacing--50); }
	.wcc-hero { padding-block: 7rem var(--wp--preset--spacing--50) !important; }
}

.wcc-header__inner { padding-inline: clamp(1rem, 5vw, 3rem); }
@media (min-width: 1280px) { .wcc-header .wcc-mobile-only { display: none !important; } }
.wcc-404 { padding-top: 12rem; min-height: 70svh; }
.has-text-align-center + .wp-block-buttons, .wcc-cta-band .wp-block-buttons { justify-content: center; }

/* Collapse the header menu below 900px (core's own breakpoint is 600px). */
@media (max-width: 1279px) {
	.wcc-header .wp-block-navigation__responsive-container-open:not(.always-shown) { display: flex !important; }
	.wcc-header .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) { display: none !important; }
}
.wcc-tiles .wp-block-image { margin: 0; }
.wcc-tiles .wp-block-image img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; }
.wcc-header .wcc-header__nav { font-size: .8125rem; letter-spacing: .1em; gap: 1.4rem; }
.wcc-header .wcc-header__nav .wp-block-navigation__container { gap: 1.4rem; flex-wrap: nowrap; }
.wcc-team { grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 260px)); justify-content: center; }
h2.wcc-eyebrow { font-family: var(--wp--preset--font-family--accent); font-size: var(--wp--preset--font-size--large); letter-spacing: .14em; color: var(--wp--preset--color--taupe); }
h3.wcc-label { font-family: var(--wp--preset--font-family--accent); font-style: italic; font-size: var(--wp--preset--font-size--small); letter-spacing: .14em; color: var(--wp--preset--color--taupe); margin-block: var(--wp--preset--spacing--40) .25rem; }
h3.wcc-label + p { margin-top: 0; }
.wcc-formbox iframe { min-height: 640px; }
.wcc-tiles:has(> .wp-block-image) { grid-template-columns: repeat(auto-fit, minmax(min(45%, 200px), 1fr)); }

/* Header: every column shares one vertical center (flow layout was adding top margins to logo/actions). */
.wcc-header__inner > *, .wcc-header__actions > * { margin: 0 !important; }
.wcc-header__inner { align-items: center; }
.wcc-header .wp-block-site-logo, .wcc-header .wp-block-site-logo a { display: flex; line-height: 0; }
.wcc-header__actions { align-items: center; gap: 1.25rem !important; }
.wcc-header__social { gap: .75rem !important; }
.wcc-header__social .wp-social-link a { padding: 2px; }
.wcc-header__social .wp-social-link:hover { transform: none; opacity: .75; }
.wcc-header .wp-block-navigation .wp-block-social-links { margin-top: 1rem; gap: 1rem; }
@media (min-width: 1280px) { .wcc-header .wp-block-social-links.wcc-mobile-only { display: none !important; } }

/* ---------- Privacy Policy page ---------- */
.wcc-legal { padding-top: calc(var(--wcc-section) + 7rem); }
.wcc-legal h1 { font-size: var(--wp--preset--font-size--xx-large); }
.wcc-legal__lead { font-size: var(--wp--preset--font-size--large); line-height: 1.6; color: var(--wp--preset--color--white); max-width: 60ch; margin-inline: auto; }
.wcc-legal .wcc-rule { margin-block: var(--wp--preset--spacing--50) !important; }
.wcc-toc { border: 1px solid var(--wcc-line); border-radius: 3px; padding: var(--wp--preset--spacing--40); margin-block-end: var(--wp--preset--spacing--50); }
.wcc-toc h2.wcc-toc__title { margin: 0 0 1rem; font-family: var(--wp--preset--font-family--accent); font-style: italic; font-size: var(--wp--preset--font-size--small); letter-spacing: .14em; color: var(--wp--preset--color--taupe); }
.wcc-toc ul { list-style: none; margin: 0; padding: 0; columns: 2 16rem; column-gap: var(--wp--preset--spacing--40); }
.wcc-toc li { margin: 0 0 .5rem; break-inside: avoid; }
.wcc-toc a { text-decoration: none; text-transform: uppercase; letter-spacing: .06em; font-size: var(--wp--preset--font-size--small); }
.wcc-toc a:hover { text-decoration: underline; }
.wcc-legal__item { padding-block: var(--wp--preset--spacing--40); border-top: 1px solid var(--wcc-line); margin-block: 0 !important; }
.wcc-legal__item h2 { font-family: var(--wp--preset--font-family--serif); font-size: var(--wp--preset--font-size--large); letter-spacing: .08em; margin: 0 0 1rem; scroll-margin-top: 7rem; }
.wcc-legal__item p { margin-block: 0 .75rem; }
.wcc-legal__item ul { margin: 0; padding-left: 1.25rem; }
.wcc-legal__item li { margin-bottom: .35rem; }
.wcc-legal__item li::marker { color: var(--wp--preset--color--taupe); }
.wcc-legal__email { display: inline-block; margin-top: .5rem !important; padding: .75rem 1.25rem; border: 1px solid var(--wcc-line); border-radius: 3px; }
.wcc-legal__email a { text-decoration: none; }
.wcc-header .wcc-header__nav .wp-block-navigation-item__content { white-space: nowrap; }
.wcc-header__actions .wp-block-button__link { white-space: nowrap; }
.wcc-header__inner { grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); }
@media (max-width: 1279px) { .wcc-header__inner { grid-template-columns: minmax(0, 1fr) auto; } }
.wcc-header .wcc-header__nav .wp-block-navigation__container, .wcc-header .wcc-header__nav { gap: 1.1rem; }
/* Hero tagline: upright and a step larger (Literata is only loaded in italic, so use Playfair). */
.wcc-hero .wcc-tagline { font-family: var(--wp--preset--font-family--accent); font-style: normal; font-size: clamp(1.25rem, 2.2vw, 1.75rem); letter-spacing: .16em; }
.wcc-hero .wp-block-cover__inner-container > .wcc-tagline { max-width: none; }
@media (max-width: 600px) { .wcc-hero .wcc-tagline { letter-spacing: .08em; } }

/* Header buttons: identical box (core's outline style adds a 2px border and different padding). */
.wcc-header__actions .wp-block-button__link,
.wcc-header__actions .is-style-outline > .wp-block-button__link {
	border: 1px solid var(--wp--preset--color--contrast);
	padding: .6em 1.3em;
	min-width: 9.5rem;
	text-align: center;
	line-height: 1.3;
	box-sizing: border-box;
}

/* ---------- Section backgrounds ---------- */
.wcc-section.has-base-2-background-color { box-shadow: inset 0 1px 0 var(--wcc-line), inset 0 -1px 0 var(--wcc-line); }
.has-taupe-background-color { --wcc-line: rgba(49, 46, 45, .2); }
.has-taupe-background-color, .has-taupe-background-color p, .has-taupe-background-color li { color: var(--wp--preset--color--base); }
.has-taupe-background-color .wp-element-button { color: var(--wp--preset--color--base); border-color: var(--wp--preset--color--base); }
.has-taupe-background-color .wp-element-button:hover { background: var(--wp--preset--color--base); color: var(--wp--preset--color--white); }
.has-taupe-background-color .wcc-eyebrow,
.wcc-quote.has-taupe-background-color .wp-block-quote cite { color: var(--wp--preset--color--accent); }
.wcc-quote.has-taupe-background-color .wp-block-quote p { color: var(--wp--preset--color--base); }

/* Short accent line under centered section titles. */
.wcc-section > h2.has-text-align-center:first-child::after {
	content: ""; display: block; width: 56px; height: 1px; margin: var(--wp--preset--spacing--30) auto 0;
	background: var(--wp--preset--color--taupe);
}
.has-taupe-background-color > h2.has-text-align-center:first-child::after { background: var(--wp--preset--color--base); }
/* Header social icons: a step up from core's "small" (16px). */
.wcc-header .wcc-header__social .wp-social-link,
.wcc-header .wp-block-navigation .wp-block-social-links .wp-social-link { font-size: 21px; }
.wcc-header .wcc-header__social { gap: .9rem !important; }
/* Mobile menu overlay: light text on the dark panel (core defaults the overlay to dark text). */
.wcc-header .wp-block-navigation__responsive-container.is-menu-open,
.wcc-header .wp-block-navigation__responsive-container.is-menu-open a,
.wcc-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content,
.wcc-header .wp-block-navigation__responsive-container-close,
.wcc-header .wp-block-navigation__responsive-container-open { color: var(--wp--preset--color--contrast) !important; }
.wcc-header .wp-block-navigation__responsive-container.is-menu-open a:hover { color: var(--wp--preset--color--white) !important; }
.wcc-header .wp-block-navigation__responsive-container.is-menu-open .wp-social-link svg { fill: var(--wp--preset--color--contrast); }
/* People carousels (home Leadership): a static row on tablet/desktop, swipe carousel only on phones. */
@media (min-width: 782px) {
	.wcc-carousel__track.is-small { grid-auto-flow: row; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); grid-auto-columns: auto; overflow: visible; }
	.wcc-carousel:has(> .wcc-carousel__track.is-small) .wcc-carousel__nav { display: none; }
}
/* Quote over a home photo (home page Cedar Fox band). */
.wcc-quote.wp-block-cover .wp-block-quote p { text-shadow: 0 2px 20px rgba(0, 0, 0, .45); }
.wcc-quote.wp-block-cover .wp-block-quote cite { color: var(--wp--preset--color--taupe); }
.wcc-quote.wp-block-cover .wp-block-buttons { margin-top: var(--wp--preset--spacing--50); }
.wcc-quote.wp-block-cover .wp-element-button { background: rgba(39, 36, 35, .35); backdrop-filter: blur(2px); }
.wcc-quote.wp-block-cover .wp-element-button:hover { background: var(--wp--preset--color--contrast); }

/* ---------- Footer CTA band ---------- */
.wcc-cta-band { position: relative; isolation: isolate; overflow: hidden; }
.wcc-cta-band::before {
	content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none;
	background: url(../img/cta-texture.webp) center 60% / cover no-repeat;
	opacity: .065; filter: grayscale(1) contrast(1.1); mix-blend-mode: multiply;
}
.wcc-cta-band > h2.has-text-align-center::after {
	content: ""; display: block; width: 56px; height: 1px; margin: var(--wp--preset--spacing--30) auto 0;
	background: var(--wp--preset--color--base);
}
.wcc-cta-band p { max-width: 55ch; }
.wcc-cta-band .wcc-contact-pills { gap: .6rem; margin-top: var(--wp--preset--spacing--40); }
.wcc-cta-band .wcc-cta-band__main { margin-top: var(--wp--preset--spacing--40); }

/* Call / Text / Email pills */
.wcc-pill .wp-block-button__link {
	display: inline-flex; align-items: center; gap: .5em;
	padding: .5em 1.15em; font-size: .8125rem; letter-spacing: .12em;
	border: 1px solid rgba(49, 46, 45, .45); color: var(--wp--preset--color--base); background: transparent;
}
.wcc-pill .wp-block-button__link::before {
	content: ""; width: 1em; height: 1em; background: currentColor; flex: none;
	-webkit-mask: var(--wcc-icon) center / contain no-repeat; mask: var(--wcc-icon) center / contain no-repeat;
}
.wcc-pill--call { --wcc-icon: 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.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 16.9v3a2 2 0 0 1-2.2 2 19.8 19.8 0 0 1-8.6-3.1 19.5 19.5 0 0 1-6-6A19.8 19.8 0 0 1 2.1 4.2 2 2 0 0 1 4.1 2h3a2 2 0 0 1 2 1.7c.1.9.4 1.8.7 2.7a2 2 0 0 1-.5 2.1L8 9.8a16 16 0 0 0 6 6l1.3-1.3a2 2 0 0 1 2.1-.4c.9.3 1.8.6 2.7.7a2 2 0 0 1 1.7 2z'/%3E%3C/svg%3E"); }
.wcc-pill--text { --wcc-icon: 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.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z'/%3E%3C/svg%3E"); }
.wcc-pill--email { --wcc-icon: 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.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='2' y='4' width='20' height='16' rx='2'/%3E%3Cpath d='m22 6-10 7L2 6'/%3E%3C/svg%3E"); }
.wcc-cta-band .wcc-pill .wp-block-button__link:hover { background: var(--wp--preset--color--base); color: var(--wp--preset--color--white); border-color: var(--wp--preset--color--base); }

/* Dark solid button (main CTA on light bands) */
.wcc-btn-dark .wp-block-button__link,
.has-sand-background-color .wcc-btn-dark .wp-block-button__link {
	background: var(--wp--preset--color--base); color: var(--wp--preset--color--white); border-color: var(--wp--preset--color--base);
	padding: .95em 2.2em;
}
.wcc-btn-dark .wp-block-button__link:hover,
.has-sand-background-color .wcc-btn-dark .wp-block-button__link:hover {
	background: #4a4544; border-color: #4a4544; color: var(--wp--preset--color--white);
}

/* Footer: full horizontal logo */
.wcc-footer .wcc-footer__logo { margin: 0 0 1.25rem; }
.wcc-footer .wcc-footer__logo img { width: 260px; max-width: 100%; height: auto; border-radius: 0; }
.wcc-footer .wcc-footer__logo a:hover { opacity: .85; }

/* "Design Your Dream Home": one line where it fits; otherwise "Design Your / Dream Home" (nbsp keeps the pair together). */
.wcc-cta-band > h2 { max-width: var(--wp--style--global--wide-size) !important; text-wrap: balance; }

@media (max-width: 600px) {
	/* Keep "Character | Craftsmanship | Community" on one line on phones. */
	.wcc-hero .wcc-tagline { font-size: clamp(.8rem, 3.6vw, 1rem); letter-spacing: .06em; white-space: nowrap; }
}

/* ---------- Team photos: studio backdrop, centered cards, large photo in bio popup ---------- */
:root {
	/* Soft taupe "seamless paper" backdrop behind the transparent headshot cutouts. */
	--wcc-studio: radial-gradient(ellipse 85% 75% at 50% 38%, #e9e2dc 0%, #d6cac1 48%, #b8a597 100%);
}
.wcc-person { text-align: center; }
.wcc-person figure { background: var(--wcc-studio); box-shadow: inset 0 -40px 60px -40px rgba(49, 46, 45, .25); }
.wcc-person img { aspect-ratio: 4 / 5; object-fit: cover; object-position: 50% 0%; }
.wcc-person h3, .wcc-person p { text-align: center; }

/* Bio popup: wider, photo as a large portrait beside the bio. */
dialog.wcc-modal { width: min(1040px, calc(100vw - 2rem)); max-width: none !important; padding: 0; overflow: hidden; }
dialog.wcc-modal[open] { display: block; }
dialog.wcc-modal > .wp-block-columns { margin: 0; gap: 0; align-items: stretch !important; max-height: calc(100svh - 2rem); }
dialog.wcc-modal > .wp-block-columns > .wp-block-column:first-child { background: var(--wcc-studio); display: flex; align-items: flex-end; justify-content: center; overflow: hidden; }
dialog.wcc-modal > .wp-block-columns > .wp-block-column:first-child .wp-block-image { margin: 0; width: 100%; height: 100%; }
dialog.wcc-modal > .wp-block-columns > .wp-block-column:first-child img {
	width: 100%; height: 100%; max-height: none; min-height: 520px; object-fit: cover; object-position: 50% 0%; border-radius: 0;
}
dialog.wcc-modal > .wp-block-columns > .wp-block-column:last-child { padding: var(--wp--preset--spacing--50); overflow-y: auto; max-height: calc(100svh - 2rem); }
dialog.wcc-modal .wcc-modal__closeform { position: absolute; top: 1rem; right: 1rem; height: auto; z-index: 3; }
dialog.wcc-modal .wcc-modal__close { margin: 0; background: rgba(49, 46, 45, .85); }
@media (max-width: 781px) {
	dialog.wcc-modal { overflow-y: auto; }
	dialog.wcc-modal > .wp-block-columns { max-height: none; flex-direction: column; }
	dialog.wcc-modal > .wp-block-columns > .wp-block-column:first-child img { min-height: 0; height: auto; aspect-ratio: 1 / 1; }
	dialog.wcc-modal > .wp-block-columns > .wp-block-column:last-child { max-height: none; overflow: visible; }
}

/* ---------- Team photo centering ----------
   --cx = horizontal position of each person's head in their cutout (0-1, measured from the image's transparency).
   Each crop shifts so the head lands in the middle: offset = (cx - visible/2) / (1 - visible),
   where "visible" is the share of the 4:3 photo's width that the frame shows. */
.wp-image-6 { --cx: 0.508; } /* Daniel-Wright */
.wp-image-7 { --cx: 0.506; } /* Curtis-Davis */
.wp-image-8 { --cx: 0.462; } /* John-Wright */
.wp-image-9 { --cx: 0.463; } /* Sage-Richardson */
.wp-image-10 { --cx: 0.484; } /* Frankie-McManus */
.wp-image-11 { --cx: 0.519; } /* Luke-Davis */
.wp-image-12 { --cx: 0.505; } /* Christian-Pettibone */
.wp-image-13 { --cx: 0.531; } /* Alex-Braud */
.wp-image-14 { --cx: 0.483; } /* Miguel-Saenz */
.wp-image-15 { --cx: 0.489; } /* Dave-Worthington */
.wp-image-16 { --cx: 0.488; } /* Matthew-Wright */
.wp-image-17 { --cx: 0.5; } /* Josiah-DeMala */
.wp-image-18 { --cx: 0.468; } /* Noah-Green */
.wp-image-19 { --cx: 0.482; } /* Kyle-Sargent */
.wp-image-20 { --cx: 0.463; } /* Isaiah-Tyree */
.wp-image-21 { --cx: 0.455; } /* Dante-Hall */
.wp-image-22 { --cx: 0.51; } /* Obadyah-McKay */
.wp-image-23 { --cx: 0.472; } /* Hunter-White */
.wp-image-24 { --cx: 0.495; } /* Dylan-Seekamp */
.wp-image-25 { --cx: 0.479; } /* Juan-Mata */
.wp-image-804 { --cx: 0.479; } /* Team-Member-Placeholder (made from Juan-Mata) */
.wp-image-31 { --cx: 0.505; } /* Emma-Street */
.wp-image-155 { --cx: 0.48; } /* Zachary-Clark */
.wp-image-805 { --cx: 0.47; } /* Martin-Bulahan */
.wp-image-29 { --cx: 0.465; } /* Tim-Wright */
.wp-image-28 { --cx: 0.483; } /* Caitlyn-Wright */
.wp-image-26 { --cx: 0.46; } /* Aaron-Kennon */
.wp-image-27 { --cx: 0.487; } /* Madison-Knight */
.wp-image-30 { --cx: 0.486; } /* Tyler-Albert */
/* Crop positions so each head (--cx) lands mid-frame, precomputed per photo: Safari on iPhone mis-evaluates the
   equivalent clamp()/calc()/var() formula and crops from the left edge. Card frames show 60% of the 4:3 photo's
   width, the desktop bio frame ~38%, the phone bio frame ~75% (site.js refines the bio crop to the exact frame).
   After adding a --cx line above, add matching lines here: position = (cx - visible/2) / (1 - visible). */
.wcc-person img { object-position: 50% 0%; }
.wcc-person img.wp-image-6 { object-position: 52.0% 0%; }
.wcc-person img.wp-image-7 { object-position: 51.5% 0%; }
.wcc-person img.wp-image-8 { object-position: 40.5% 0%; }
.wcc-person img.wp-image-9 { object-position: 40.8% 0%; }
.wcc-person img.wp-image-10 { object-position: 46.0% 0%; }
.wcc-person img.wp-image-11 { object-position: 54.8% 0%; }
.wcc-person img.wp-image-12 { object-position: 51.2% 0%; }
.wcc-person img.wp-image-13 { object-position: 57.8% 0%; }
.wcc-person img.wp-image-14 { object-position: 45.7% 0%; }
.wcc-person img.wp-image-15 { object-position: 47.2% 0%; }
.wcc-person img.wp-image-16 { object-position: 47.0% 0%; }
.wcc-person img.wp-image-17 { object-position: 50.0% 0%; }
.wcc-person img.wp-image-18 { object-position: 42.0% 0%; }
.wcc-person img.wp-image-19 { object-position: 45.5% 0%; }
.wcc-person img.wp-image-20 { object-position: 40.8% 0%; }
.wcc-person img.wp-image-21 { object-position: 38.8% 0%; }
.wcc-person img.wp-image-22 { object-position: 52.5% 0%; }
.wcc-person img.wp-image-23 { object-position: 43.0% 0%; }
.wcc-person img.wp-image-24 { object-position: 48.8% 0%; }
.wcc-person img.wp-image-25 { object-position: 44.7% 0%; }
.wcc-person img.wp-image-804 { object-position: 44.7% 0%; }
.wcc-person img.wp-image-31 { object-position: 51.2% 0%; }
.wcc-person img.wp-image-155 { object-position: 45.0% 0%; }
.wcc-person img.wp-image-805 { object-position: 42.5% 0%; }
.wcc-person img.wp-image-29 { object-position: 41.3% 0%; }
.wcc-person img.wp-image-28 { object-position: 45.7% 0%; }
.wcc-person img.wp-image-26 { object-position: 40.0% 0%; }
.wcc-person img.wp-image-27 { object-position: 46.8% 0%; }
.wcc-person img.wp-image-30 { object-position: 46.5% 0%; }
dialog.wcc-modal > .wp-block-columns > .wp-block-column:first-child img { object-position: 50% 0%; }
dialog.wcc-modal .wp-block-column:first-child img.wp-image-6 { object-position: 51.3% 0%; }
dialog.wcc-modal .wp-block-column:first-child img.wp-image-7 { object-position: 51.0% 0%; }
dialog.wcc-modal .wp-block-column:first-child img.wp-image-8 { object-position: 43.9% 0%; }
dialog.wcc-modal .wp-block-column:first-child img.wp-image-9 { object-position: 44.0% 0%; }
dialog.wcc-modal .wp-block-column:first-child img.wp-image-10 { object-position: 47.4% 0%; }
dialog.wcc-modal .wp-block-column:first-child img.wp-image-11 { object-position: 53.1% 0%; }
dialog.wcc-modal .wp-block-column:first-child img.wp-image-12 { object-position: 50.8% 0%; }
dialog.wcc-modal .wp-block-column:first-child img.wp-image-13 { object-position: 55.0% 0%; }
dialog.wcc-modal .wp-block-column:first-child img.wp-image-14 { object-position: 47.3% 0%; }
dialog.wcc-modal .wp-block-column:first-child img.wp-image-15 { object-position: 48.2% 0%; }
dialog.wcc-modal .wp-block-column:first-child img.wp-image-16 { object-position: 48.1% 0%; }
dialog.wcc-modal .wp-block-column:first-child img.wp-image-17 { object-position: 50.0% 0%; }
dialog.wcc-modal .wp-block-column:first-child img.wp-image-18 { object-position: 44.8% 0%; }
dialog.wcc-modal .wp-block-column:first-child img.wp-image-19 { object-position: 47.1% 0%; }
dialog.wcc-modal .wp-block-column:first-child img.wp-image-20 { object-position: 44.0% 0%; }
dialog.wcc-modal .wp-block-column:first-child img.wp-image-21 { object-position: 42.7% 0%; }
dialog.wcc-modal .wp-block-column:first-child img.wp-image-22 { object-position: 51.6% 0%; }
dialog.wcc-modal .wp-block-column:first-child img.wp-image-23 { object-position: 45.5% 0%; }
dialog.wcc-modal .wp-block-column:first-child img.wp-image-24 { object-position: 49.2% 0%; }
dialog.wcc-modal .wp-block-column:first-child img.wp-image-25 { object-position: 46.6% 0%; }
dialog.wcc-modal .wp-block-column:first-child img.wp-image-804 { object-position: 46.6% 0%; }
dialog.wcc-modal .wp-block-column:first-child img.wp-image-31 { object-position: 50.8% 0%; }
dialog.wcc-modal .wp-block-column:first-child img.wp-image-155 { object-position: 46.8% 0%; }
dialog.wcc-modal .wp-block-column:first-child img.wp-image-805 { object-position: 45.2% 0%; }
dialog.wcc-modal .wp-block-column:first-child img.wp-image-29 { object-position: 44.4% 0%; }
dialog.wcc-modal .wp-block-column:first-child img.wp-image-28 { object-position: 47.3% 0%; }
dialog.wcc-modal .wp-block-column:first-child img.wp-image-26 { object-position: 43.5% 0%; }
dialog.wcc-modal .wp-block-column:first-child img.wp-image-27 { object-position: 47.9% 0%; }
dialog.wcc-modal .wp-block-column:first-child img.wp-image-30 { object-position: 47.7% 0%; }
@media (max-width: 781px) {
	dialog.wcc-modal .wp-block-column:first-child img.wp-image-6 { object-position: 53.2% 0%; }
	dialog.wcc-modal .wp-block-column:first-child img.wp-image-7 { object-position: 52.4% 0%; }
	dialog.wcc-modal .wp-block-column:first-child img.wp-image-8 { object-position: 34.8% 0%; }
	dialog.wcc-modal .wp-block-column:first-child img.wp-image-9 { object-position: 35.2% 0%; }
	dialog.wcc-modal .wp-block-column:first-child img.wp-image-10 { object-position: 43.6% 0%; }
	dialog.wcc-modal .wp-block-column:first-child img.wp-image-11 { object-position: 57.6% 0%; }
	dialog.wcc-modal .wp-block-column:first-child img.wp-image-12 { object-position: 52.0% 0%; }
	dialog.wcc-modal .wp-block-column:first-child img.wp-image-13 { object-position: 62.4% 0%; }
	dialog.wcc-modal .wp-block-column:first-child img.wp-image-14 { object-position: 43.2% 0%; }
	dialog.wcc-modal .wp-block-column:first-child img.wp-image-15 { object-position: 45.6% 0%; }
	dialog.wcc-modal .wp-block-column:first-child img.wp-image-16 { object-position: 45.2% 0%; }
	dialog.wcc-modal .wp-block-column:first-child img.wp-image-17 { object-position: 50.0% 0%; }
	dialog.wcc-modal .wp-block-column:first-child img.wp-image-18 { object-position: 37.2% 0%; }
	dialog.wcc-modal .wp-block-column:first-child img.wp-image-19 { object-position: 42.8% 0%; }
	dialog.wcc-modal .wp-block-column:first-child img.wp-image-20 { object-position: 35.2% 0%; }
	dialog.wcc-modal .wp-block-column:first-child img.wp-image-21 { object-position: 32.0% 0%; }
	dialog.wcc-modal .wp-block-column:first-child img.wp-image-22 { object-position: 54.0% 0%; }
	dialog.wcc-modal .wp-block-column:first-child img.wp-image-23 { object-position: 38.8% 0%; }
	dialog.wcc-modal .wp-block-column:first-child img.wp-image-24 { object-position: 48.0% 0%; }
	dialog.wcc-modal .wp-block-column:first-child img.wp-image-25 { object-position: 41.6% 0%; }
	dialog.wcc-modal .wp-block-column:first-child img.wp-image-804 { object-position: 41.6% 0%; }
	dialog.wcc-modal .wp-block-column:first-child img.wp-image-31 { object-position: 52.0% 0%; }
	dialog.wcc-modal .wp-block-column:first-child img.wp-image-155 { object-position: 42.0% 0%; }
	dialog.wcc-modal .wp-block-column:first-child img.wp-image-805 { object-position: 38.0% 0%; }
	dialog.wcc-modal .wp-block-column:first-child img.wp-image-29 { object-position: 36.0% 0%; }
	dialog.wcc-modal .wp-block-column:first-child img.wp-image-28 { object-position: 43.2% 0%; }
	dialog.wcc-modal .wp-block-column:first-child img.wp-image-26 { object-position: 34.0% 0%; }
	dialog.wcc-modal .wp-block-column:first-child img.wp-image-27 { object-position: 44.8% 0%; }
	dialog.wcc-modal .wp-block-column:first-child img.wp-image-30 { object-position: 44.4% 0%; }
}

/* Centered section titles may use the full content width (not the 760px text column), so short titles stay on one line. */
.wcc-section > h2.has-text-align-center { max-width: var(--wp--style--global--wide-size) !important; text-wrap: balance; }

/* ---------- Home "Our Mission": text left, staggered photo collage right ---------- */
.wcc-mission { gap: var(--wp--preset--spacing--60) !important; }
.wcc-mission h2.wcc-mission__title { margin-top: 0; }
.wcc-mission h2.wcc-mission__title::after {
	content: ""; display: block; width: 56px; height: 1px; margin-top: var(--wp--preset--spacing--30); background: var(--wp--preset--color--base);
}
.wcc-mission .wcc-mission__quote {
	margin: var(--wp--preset--spacing--40) 0; padding: 0 0 0 1.25rem; border-left: 2px solid var(--wp--preset--color--base) !important;
	font-family: var(--wp--preset--font-family--serif); text-transform: none;
}
.wcc-mission .wcc-mission__quote p { font-size: var(--wp--preset--font-size--large); font-style: italic; line-height: 1.5; margin: 0; }
.wcc-mission .wcc-mission__quote cite {
	display: block; margin-top: .5rem; font-style: normal; font-size: var(--wp--preset--font-size--small);
	letter-spacing: .14em; text-transform: uppercase; color: var(--wp--preset--color--accent);
}

.wcc-collage {
	display: grid !important; grid-template-columns: repeat(12, 1fr); grid-auto-rows: clamp(26px, 3.2vw, 44px); gap: 14px;
}
.wcc-collage > * { margin: 0 !important; }
.wcc-collage .wp-block-image { overflow: hidden; border-radius: var(--wcc-radius); box-shadow: 0 18px 40px -18px rgba(49, 46, 45, .55); }
.wcc-collage .wp-block-image img { width: 100%; height: 100%; object-fit: cover; }
.wcc-collage__1 { grid-column: 1 / 8; grid-row: 1 / 8; }
.wcc-collage__2 { grid-column: 8 / 13; grid-row: 2 / 7; }
.wcc-collage__3 { grid-column: 2 / 7; grid-row: 8 / 13; }
.wcc-collage__4 { grid-column: 7 / 12; grid-row: 7 / 14; }
@media (max-width: 781px) {
	.wcc-collage { grid-template-columns: 1fr 1fr; grid-auto-rows: auto; gap: 10px; }
	.wcc-collage > [class*="wcc-collage__"] { grid-column: auto; grid-row: auto; }
	.wcc-collage .wp-block-image img { aspect-ratio: 4 / 5; height: auto; }
	.wcc-collage .wcc-collage__1 { grid-column: 1 / -1; }
	.wcc-collage .wcc-collage__1 img { aspect-ratio: 16 / 10; }
}
@media (max-width: 781px) {
	/* Phones: one wide photo, then the other three in a row. */
	.wcc-collage { grid-template-columns: repeat(3, 1fr); gap: 8px; }
	.wcc-collage .wp-block-image img { aspect-ratio: 3 / 4; }
}
@media (max-width: 781px) { .wcc-collage .wcc-collage__1 img { aspect-ratio: 4 / 3; } }

/* ---------- Custom home pages: shared layout ---------- */
.wcc-hero.is-home { min-height: 85svh !important; }
.wcc-hero.is-home .wcc-tagline { font-size: var(--wp--preset--font-size--large); letter-spacing: .2em; }

/* Fact bar: four matching tiles (Bedrooms, Bathrooms, Sq Ft, Location). */
.wcc-facts-band { padding-block: var(--wp--preset--spacing--40) !important; }
.wcc-facts { display: grid !important; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 0 !important; }
.wcc-facts > .wcc-fact { margin: 0 !important; padding: var(--wp--preset--spacing--30) var(--wp--preset--spacing--30); text-align: center; }
.wcc-facts > .wcc-fact + .wcc-fact { border-left: 1px solid var(--wcc-line); }
.wcc-fact .wcc-fact__num {
	margin: 0; font-family: var(--wp--preset--font-family--display); font-size: var(--wp--preset--font-size--xx-large);
	line-height: 1; color: var(--wp--preset--color--white); letter-spacing: .02em;
}
.wcc-fact .wcc-fact__label {
	margin: .6rem 0 0; font-family: var(--wp--preset--font-family--accent); font-style: italic; font-size: var(--wp--preset--font-size--small);
	letter-spacing: .16em; text-transform: uppercase; color: var(--wp--preset--color--taupe);
}
.wcc-fact--place .wcc-fact__num { font-size: var(--wp--preset--font-size--x-large); line-height: 1.15; text-transform: uppercase; padding-top: .35em; }
@media (max-width: 781px) {
	.wcc-facts { grid-template-columns: 1fr 1fr; }
	.wcc-facts > .wcc-fact + .wcc-fact { border-left: 0; }
	.wcc-facts > .wcc-fact:nth-child(even) { border-left: 1px solid var(--wcc-line); }
	.wcc-facts > .wcc-fact:nth-child(n+3) { border-top: 1px solid var(--wcc-line); }
}

.wcc-home-intro p { font-size: var(--wp--preset--font-size--large); line-height: 1.7; }
.wcc-home-photos h3 { margin-top: var(--wp--preset--spacing--50); font-family: var(--wp--preset--font-family--accent); font-style: italic; font-size: var(--wp--preset--font-size--medium); letter-spacing: .16em; color: var(--wp--preset--color--taupe); }

/* All Homes / Next home */
.wcc-home-nav { border-top: 1px solid var(--wcc-line); }
.wcc-home-nav .wp-block-buttons { max-width: var(--wp--style--global--wide-size) !important; }
.wcc-back .wp-block-button__link::before { content: "\2190"; margin-inline-end: .6em; }

/* ---------- Featured Homes (synced pattern on Home + Portfolio): two equal cards ---------- */
.wcc-featured { display: grid !important; grid-template-columns: repeat(auto-fit, minmax(min(100%, 420px), 1fr)); gap: var(--wp--preset--spacing--50) !important; }
.wcc-featured > * { margin: 0 !important; }
.wcc-featured__card { display: flex !important; flex-direction: column; }
.wcc-featured__card > * { margin-block: 0 !important; }
.wcc-featured__card .wcc-video { margin-bottom: var(--wp--preset--spacing--40) !important; }
.wcc-featured__card h3 { font-size: var(--wp--preset--font-size--x-large); margin-bottom: .75rem !important; }
.wcc-featured__card h3 a { text-decoration: none; }
.wcc-featured__card h3 a:hover { text-decoration: underline; text-underline-offset: .2em; }
.wcc-featured__card p { flex: 1; color: var(--wp--preset--color--contrast); }
.wcc-featured__card .wp-block-buttons { margin-top: var(--wp--preset--spacing--40) !important; }

/* ---------- Portfolio grid: the whole card is the link ----------
   Image and title share one grid cell; the title isn't positioned, so its link overlay (a::after)
   stretches over the entire card instead of just the title. */
.wcc-portfolio .wp-block-post { display: grid; }
.wcc-portfolio .wp-block-post > * { grid-area: 1 / 1; }
.wcc-portfolio .wp-block-post .wp-block-post-title { position: static; inset: auto; align-self: end; z-index: 1; }
.wcc-portfolio .wp-block-post-title a::after { z-index: 2; }
.wcc-portfolio .wp-block-post:hover .wp-block-post-title a { text-decoration: underline; text-underline-offset: .2em; }
.wcc-portfolio .wp-block-post:focus-within { outline: 2px solid var(--wp--preset--color--taupe); outline-offset: 3px; }

/* ---------- Testimonials ---------- */
/* Pull quote beside a video (same treatment as the home "Our Mission" scripture). */
.wcc-pullquote { margin: 0 0 var(--wp--preset--spacing--40); padding: 0 0 0 1.25rem; border-left: 2px solid var(--wp--preset--color--taupe) !important; text-transform: none; font-family: var(--wp--preset--font-family--serif); }
.wcc-pullquote p { font-size: var(--wp--preset--font-size--x-large); font-style: italic; line-height: 1.35; margin: 0; color: var(--wp--preset--color--white); }
.wcc-pullquote cite {
	display: block; margin-top: 1rem; font-style: normal; font-size: var(--wp--preset--font-size--small);
	letter-spacing: .14em; text-transform: uppercase; color: var(--wp--preset--color--taupe);
}

/* Google rating band */
.wcc-rating .wcc-rating__score { margin: 0; font-family: var(--wp--preset--font-family--display); font-size: var(--wp--preset--font-size--display); line-height: 1; color: var(--wp--preset--color--base); }
.wcc-rating .wcc-rating__stars { margin: .4rem 0 0; font-size: 1.6rem; letter-spacing: .2em; color: var(--wp--preset--color--accent); }
.wcc-rating .wcc-rating__count { margin: .25rem 0 0; font-family: var(--wp--preset--font-family--accent); font-style: italic; font-size: var(--wp--preset--font-size--small); letter-spacing: .16em; text-transform: uppercase; }
.wcc-rating .wp-block-buttons { margin-top: var(--wp--preset--spacing--40); }

/* Review cards: two-column masonry so long and short reviews pack neatly. */
.wcc-reviews { columns: 2 380px; column-gap: var(--wp--preset--spacing--40); }
.wcc-reviews > .wcc-review-card { break-inside: avoid; margin: 0 0 var(--wp--preset--spacing--40) !important; }
.wcc-review-card { background: var(--wp--preset--color--base-2); border: 1px solid var(--wcc-line); border-radius: var(--wcc-radius); overflow: hidden; }
.wcc-review-card > * { margin: 0 !important; }
.wcc-review-card .wcc-review-card__photo img { width: 100%; aspect-ratio: 16 / 9; object-fit: cover; border-radius: 0 !important; transition: transform .8s var(--wcc-ease); }
.wcc-review-card:hover .wcc-review-card__photo img { transform: scale(1.03); }
.wcc-review-card .wcc-review-card__quote { padding: var(--wp--preset--spacing--40) var(--wp--preset--spacing--40) 0; border: 0; text-transform: none; font-family: var(--wp--preset--font-family--serif); }
.wcc-review-card .wcc-review-card__quote p { font-size: var(--wp--preset--font-size--medium); line-height: 1.75; margin: 0; color: var(--wp--preset--color--contrast); }
.wcc-review-card .wcc-review-card__quote cite {
	display: block; margin-top: 1rem; font-style: normal; font-size: var(--wp--preset--font-size--small);
	letter-spacing: .14em; text-transform: uppercase; color: var(--wp--preset--color--taupe);
}
.wcc-review-card .wcc-review-card__link { padding: .75rem var(--wp--preset--spacing--40) var(--wp--preset--spacing--40); font-size: var(--wp--preset--font-size--small); letter-spacing: .1em; text-transform: uppercase; }
.wcc-review-card .wcc-review-card__link a { text-decoration: none; }
.wcc-review-card .wcc-review-card__link a::after { content: " \2192"; }
.wcc-review-card .wcc-review-card__link a:hover { text-decoration: underline; text-underline-offset: .2em; }

/* Footer Explore links: sentence case (the theme's navigation style is uppercase). */
.wcc-footer .wp-block-navigation { text-transform: none; letter-spacing: .02em; font-size: var(--wp--preset--font-size--small); }

/* ---------- Contact page: details beside the form ---------- */
.wcc-contact { gap: var(--wp--preset--spacing--60) !important; align-items: flex-start !important; }
.wcc-contact h2.wcc-contact__title { margin-top: 0; font-size: var(--wp--preset--font-size--x-large); }
.wcc-contact h2.wcc-contact__title::after { content: ""; display: block; width: 56px; height: 1px; margin-top: var(--wp--preset--spacing--30); background: var(--wp--preset--color--taupe); }
.wcc-contact h3.wcc-label:first-of-type { margin-top: var(--wp--preset--spacing--40); }
.wcc-contact .wcc-label + p a { text-decoration: none; }
.wcc-contact .wcc-label + p a:hover { text-decoration: underline; text-underline-offset: .2em; }
.wcc-contact .wcc-contact-pills { margin-top: var(--wp--preset--spacing--40); gap: .6rem; }
/* Pills on a dark background (footer band uses them on sand). */
.wcc-contact .wcc-pill .wp-block-button__link { color: var(--wp--preset--color--contrast); border-color: var(--wcc-line); }
.wcc-contact .wcc-pill .wp-block-button__link:hover { background: var(--wp--preset--color--contrast); color: var(--wp--preset--color--base); border-color: var(--wp--preset--color--contrast); }
.wcc-contact .wcc-formbox { max-width: none; margin: 0; }
/* Contact form box: same sand as the "Design Your Dream Home" band; trim the empty space Buildertrend leaves under its form. */
.wcc-contact .wcc-formbox { background: var(--wp--preset--color--sand); overflow: visible; padding-bottom: var(--wp--preset--spacing--30); }
/* The iframe overhangs the box by its empty bottom space (+60px added in site.js); it's transparent, so it's
   invisible until the Source list opens, which then floats over whatever is below. */
.wcc-contact .wcc-formbox iframe { position: relative; z-index: 20; margin-bottom: -170px; }

/* ---------- Thank You page: message card (sand over a faint photo, like the footer band) ---------- */
.wcc-thanks { border-radius: 8px; overflow: hidden; box-shadow: 0 20px 60px rgba(0, 0, 0, .35); padding: var(--wp--preset--spacing--50) !important; }
/* Same recipe as the footer band: solid sand, photo layered on top at low strength with multiply. */
.wcc-thanks .wp-block-cover__background { opacity: 1 !important; }
.wcc-thanks .wp-block-cover__image-background { z-index: 2; opacity: .14; mix-blend-mode: multiply; filter: grayscale(1) contrast(1.1); }
.wcc-thanks .wp-block-cover__inner-container { z-index: 3; }
.wcc-thanks .wp-block-cover__inner-container, .wcc-thanks h2, .wcc-thanks p { color: var(--wp--preset--color--base); }
.wcc-thanks h2 { font-size: var(--wp--preset--font-size--xx-large); margin-top: 0; }
.wcc-thanks h2::after { content: ""; display: block; width: 56px; height: 1px; margin: var(--wp--preset--spacing--30) auto 0; background: var(--wp--preset--color--base); }
.wcc-thanks p { font-size: var(--wp--preset--font-size--large); }
.wcc-thanks .wp-block-buttons { margin-top: var(--wp--preset--spacing--40); }
/* Accent line under titles on light bands (sand / taupe) is charcoal, matching the dark text. */
.has-sand-background-color > h2.has-text-align-center:first-child::after,
.has-taupe-background-color > h2.has-text-align-center:first-child::after { background: var(--wp--preset--color--base); }

/* ---------- Our Team: leadership first, then compact department blocks two to a row ---------- */
.wcc-team-intro__lead { font-size: var(--wp--preset--font-size--large); line-height: 1.7; }
.wcc-jumplinks { margin-top: var(--wp--preset--spacing--40) !important; display: flex; flex-wrap: wrap; justify-content: center; gap: .5rem; }
.wcc-jumplinks a {
	padding: .45em 1.1em; border: 1px solid var(--wcc-line); border-radius: 3px; text-decoration: none;
	font-size: var(--wp--preset--font-size--small); letter-spacing: .1em; text-transform: uppercase; transition: background .2s, color .2s;
}
.wcc-jumplinks a:hover { background: var(--wp--preset--color--contrast); color: var(--wp--preset--color--base); }

.wcc-depts { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: var(--wp--preset--spacing--60); }
.wcc-depts > .wcc-dept { margin: 0 !important; padding-block: var(--wp--preset--spacing--40); border-top: 1px solid var(--wcc-line); scroll-margin-top: 6rem; }
.wcc-dept h2.wcc-eyebrow { margin: 0 0 var(--wp--preset--spacing--30); }
.wcc-team.is-compact { grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); justify-content: start; gap: var(--wp--preset--spacing--30) !important; }
.wcc-team.is-compact .wcc-person h3 { font-size: var(--wp--preset--font-size--medium); margin-top: .75rem; }
.wcc-team.is-compact .wcc-person p { font-size: .75rem; }
#leadership { scroll-margin-top: 5rem; }
@media (max-width: 781px) {
	.wcc-depts { grid-template-columns: 1fr; }
	.wcc-team.is-compact { grid-template-columns: 1fr 1fr; }
	/* An odd last card sits alone on its row: center it at the same width as the others. */
	.wcc-team.is-compact > .wcc-person:last-child:nth-child(odd) {
		grid-column: 1 / -1; justify-self: center; width: calc((100% - var(--wp--preset--spacing--30)) / 2);
	}
}

/* "Read bio" hint on every team card (cards open a bio dialog). */
.wcc-person::after {
	content: "Read bio \2192"; display: block; margin-top: .5rem; font-size: .7rem; letter-spacing: .14em; text-transform: uppercase;
	color: var(--wp--preset--color--taupe); opacity: .65; transition: opacity .2s;
}
.wcc-person:hover::after, .wcc-person:focus-within::after { opacity: 1; }

/* Our Team intro over the team banner photo: text on the left (trees), crew visible on the right. */
.wcc-team-band { align-items: center !important; padding-block: var(--wp--preset--spacing--60) !important; }
.wcc-team-band .wp-block-cover__image-background { object-position: 70% 40%; }
.wcc-team-band::before {
	content: ""; position: absolute; inset: 0; z-index: 1; pointer-events: none;
	background: linear-gradient(90deg, rgba(39, 36, 35, .92) 0%, rgba(39, 36, 35, .75) 40%, rgba(39, 36, 35, .15) 75%, rgba(39, 36, 35, 0) 100%);
}
.wcc-team-band .wp-block-cover__inner-container { z-index: 2; max-width: var(--wp--style--global--wide-size) !important; }
.wcc-team-band .wcc-team-band__text { max-width: 560px; margin: 0 !important; }
.wcc-team-band .wcc-team-intro__lead { color: var(--wp--preset--color--white); text-shadow: 0 1px 12px rgba(0, 0, 0, .35); margin-top: 0; }
.wcc-team-band .wcc-jumplinks { justify-content: flex-start; }
.wcc-team-band .wcc-jumplinks a { border-color: rgba(255, 255, 255, .45); color: var(--wp--preset--color--white); backdrop-filter: blur(2px); background: rgba(39, 36, 35, .25); }
.wcc-team-band .wcc-jumplinks a:hover { background: var(--wp--preset--color--contrast); color: var(--wp--preset--color--base); }
@media (max-width: 781px) {
	.wcc-team-band { min-height: 0 !important; }
	.wcc-team-band::before { background: rgba(39, 36, 35, .78); }
	.wcc-team-band .wp-block-cover__image-background { object-position: 75% 50%; }
}
.wcc-team-band .wp-block-cover__inner-container { padding-inline: clamp(1rem, 5vw, 3rem); width: 100%; }

/* Bio popups: one fixed size for everyone; the bio text scrolls inside it when it's long. */
dialog.wcc-modal { height: min(640px, calc(100svh - 2rem)); }
dialog.wcc-modal > .wp-block-columns { height: 100%; max-height: none; }
dialog.wcc-modal > .wp-block-columns > .wp-block-column:first-child img { min-height: 0; }
dialog.wcc-modal > .wp-block-columns > .wp-block-column:last-child { height: 100%; max-height: none; overflow-y: auto; overscroll-behavior: contain; scrollbar-width: thin; scrollbar-color: var(--wcc-line) transparent; }
@media (max-width: 781px) {
	dialog.wcc-modal { height: calc(100svh - 2rem); overflow: hidden; }
	dialog.wcc-modal > .wp-block-columns { display: flex; flex-direction: column; flex-wrap: nowrap; }
	dialog.wcc-modal > .wp-block-columns > .wp-block-column:first-child { flex: 0 0 42%; }
	dialog.wcc-modal > .wp-block-columns > .wp-block-column:first-child img { height: 100%; aspect-ratio: auto; }
	dialog.wcc-modal > .wp-block-columns > .wp-block-column:last-child { flex: 1 1 auto; min-height: 0; height: auto; overflow-y: auto; }
}
@media (max-width: 781px) {
	/* Core stacks columns with flex-basis:100% !important; override so photo = top 42%, bio scrolls below. */
	dialog.wcc-modal > .wp-block-columns > .wp-block-column:first-child { flex: 0 0 42% !important; flex-basis: 42% !important; overflow: hidden; }
	dialog.wcc-modal > .wp-block-columns > .wp-block-column:last-child { flex: 1 1 0 !important; flex-basis: 0 !important; min-height: 0; }
	dialog.wcc-modal > .wp-block-columns > .wp-block-column:first-child .wp-block-image,
	dialog.wcc-modal > .wp-block-columns > .wp-block-column:first-child img { height: 100%; }
}
/* Include padding in the popup columns' height so the bio's last lines aren't pushed below the popup's edge. */
dialog.wcc-modal, dialog.wcc-modal > .wp-block-columns > .wp-block-column { box-sizing: border-box; }

/* ---------- Our Values / Our Process ---------- */
.wcc-pillar__photo { margin: 0; }
.wcc-pillar__photo img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
.wcc-section > .wcc-split + .wp-block-gallery, .wcc-section > .wcc-split + .wcc-tiles { margin-top: var(--wp--preset--spacing--50); }
.wcc-section > p.wcc-eyebrow + h2 { margin-top: .25rem; }
.wcc-support__photo { margin: 0 0 var(--wp--preset--spacing--40) !important; }
.wcc-support__photo img { width: 100%; aspect-ratio: 16 / 10; object-fit: cover; }

/* Selections "Just a Starting Point" note */
.wcc-callout { margin-top: var(--wp--preset--spacing--40); padding: var(--wp--preset--spacing--40); border-radius: 6px; background: var(--wp--preset--color--sand); color: var(--wp--preset--color--base); }
.wcc-callout h3 { margin: 0 0 .4rem; color: var(--wp--preset--color--base); font-size: var(--wp--preset--font-size--large); }
.wcc-callout p { margin: 0; color: var(--wp--preset--color--base); }

/* Our Commitment to You */
.wcc-commitments { display: grid !important; grid-template-columns: repeat(auto-fit, minmax(min(100%, 340px), 1fr)); gap: var(--wp--preset--spacing--40) !important; }
.wcc-commitments > .wcc-commitment { margin: 0 !important; padding: var(--wp--preset--spacing--40); border: 1px solid var(--wcc-line); border-radius: 6px; }
.wcc-commitment h3 { margin-top: 0; font-size: var(--wp--preset--font-size--x-large); }

/* Buildertrend form box anywhere (Contact, Our Process): sand box, open list may overhang (see site.js). */
.wcc-formbox { background: var(--wp--preset--color--sand); overflow: visible; padding-bottom: var(--wp--preset--spacing--30); }
.wcc-formbox iframe { position: relative; z-index: 20; margin-bottom: -170px; }

/* ---------- Our Process (CCA) ---------- */
.wcc-cca-intro h2 { margin-top: .25rem; }
.wcc-lead { font-size: var(--wp--preset--font-size--large); max-width: 60ch; margin-inline: auto; }
.wcc-commitments.is-three { grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr)); margin-top: var(--wp--preset--spacing--50); }
.wcc-card__eyebrow { margin: 0 0 .5rem; font-family: var(--wp--preset--font-family--display); font-size: var(--wp--preset--font-size--xx-large); line-height: 1; color: var(--wp--preset--color--taupe); }
.wcc-commitment p:first-of-type:not(.wcc-card__eyebrow) { margin-top: 0; }
.wcc-result { margin-top: var(--wp--preset--spacing--50) !important; font-family: var(--wp--preset--font-family--serif); font-style: italic; font-size: var(--wp--preset--font-size--large); color: var(--wp--preset--color--white); }
.wcc-callout + .wcc-callout { margin-top: var(--wp--preset--spacing--30); }
/* Pull quote on a light (taupe) band */
.has-taupe-background-color .wcc-pullquote.is-dark { border-left-color: var(--wp--preset--color--base) !important; }
.has-taupe-background-color .wcc-pullquote.is-dark p { color: var(--wp--preset--color--base); }
.has-taupe-background-color .wcc-pullquote.is-dark cite { color: var(--wp--preset--color--accent); }
.has-taupe-background-color .wcc-split h2 { margin-top: 0; }
.wcc-commitment h3 { margin-bottom: .9rem; }
/* Cards ending in a button (Leave a Review): keep the buttons on one line across the row. */
.wcc-commitment:has(> .wp-block-buttons) { display: flex; flex-direction: column; }
.wcc-commitment > .wp-block-buttons { margin-top: auto; padding-top: var(--wp--preset--spacing--30); }
.wcc-lead + .wcc-commitments { margin-top: var(--wp--preset--spacing--50); }
.wcc-review-invite { margin-top: var(--wp--preset--spacing--60) !important; }

/* Mobile menu: logo at the top (beside the close button) and Contact Us as the filled header button. */
.wcc-header .wcc-menu-logo { margin: 0 0 var(--wp--preset--spacing--30); }
.wcc-header .wcc-menu-logo img { width: 64px !important; }
.wcc-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content { padding-top: 0 !important; }
.wcc-header .wp-block-navigation__responsive-container.is-menu-open .wcc-menu-cta { order: 99; margin-top: var(--wp--preset--spacing--20); }
.wcc-header .wp-block-navigation__responsive-container.is-menu-open .wcc-menu-cta .wp-block-navigation-item__content {
	display: inline-block; padding: .85em 1.8em; border-radius: 3px;
	background: var(--wp--preset--color--contrast); color: var(--wp--preset--color--base) !important;
	font-family: var(--wp--preset--font-family--serif); font-size: .875rem; letter-spacing: .08em; text-transform: uppercase; line-height: 1.3;
}
.wcc-header .wp-block-navigation__responsive-container.is-menu-open .wcc-menu-cta .wp-block-navigation-item__content:hover { background: var(--wp--preset--color--white); color: var(--wp--preset--color--base) !important; }
.wcc-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item:has(> .wp-block-social-links) { order: 100; }

/* Owner quote on a home page (copied from Testimonials): centered, readable at paragraph length. */
.wcc-home-quote .wcc-testimonial { max-width: 760px; margin-inline: auto; padding: 0; border: 0; text-align: center; text-transform: none; font-family: var(--wp--preset--font-family--serif); }
.wcc-home-quote .wcc-testimonial p { font-family: var(--wp--preset--font-family--serif); font-size: var(--wp--preset--font-size--large); font-style: italic; line-height: 1.6; color: var(--wp--preset--color--white); }
.wcc-home-quote .wcc-testimonial cite { display: block; margin-top: 1rem; font-family: var(--wp--preset--font-family--accent); font-style: italic; font-size: var(--wp--preset--font-size--small); letter-spacing: .16em; text-transform: uppercase; color: var(--wp--preset--color--taupe); }

/* Footer: approved tagline above the one-liner, short credential line below it. */
.wcc-footer .wcc-footer__tagline { font-family: var(--wp--preset--font-family--accent); font-style: italic; font-size: var(--wp--preset--font-size--medium); color: var(--wp--preset--color--white); margin-bottom: .5rem; }
.wcc-footer .wcc-footer__credentials { font-size: var(--wp--preset--font-size--small); color: var(--wp--preset--color--muted); }

/* ---------- Logo-style hero heading (home): proportions measured from the wordmark file ----------
   Bottom line caps ≈ 2/3 the top line's, tracked so "-CONSTRUCTION-" spans the width of "WRIGHT CHOICE";
   short dashes sit one small gap from the word; the lines are set close together. */
.wcc-hero h1.wcc-logotype {
	--track: .25em;
	font-family: var(--wp--preset--font-family--accent); font-style: normal; font-weight: 620;
	font-size: clamp(1.75rem, 9vw, 5.5rem); line-height: 1; letter-spacing: .01em;
	text-transform: uppercase; color: var(--wp--preset--color--white); text-wrap: nowrap;
	display: inline-flex; flex-direction: column; align-items: stretch; max-width: 100%;
}
@media (min-width: 782px) { .wcc-hero h1.wcc-logotype { font-size: clamp(3rem, 6.6vw, 5.5rem); } }
.wcc-hero h1.wcc-logotype em {
	display: flex; align-items: center; justify-content: center;
	margin-top: .16em; font-style: normal; font-weight: 540; font-size: .64em; letter-spacing: var(--track);
}
.wcc-hero h1.wcc-logotype em::before,
.wcc-hero h1.wcc-logotype em::after { content: ""; flex: none; width: .4em; height: .09em; margin-right: .2em; border-radius: .05em; background: currentColor; }
.wcc-hero h1.wcc-logotype em::after { margin: 0 0 0 calc(.2em - var(--track)); } /* offset the last letter's trailing tracking */
.wcc-hero .wp-block-cover__inner-container:has(> .wcc-logotype) { text-align: center; }
.wcc-hero .wcc-logotype + .wcc-tagline { margin-top: var(--wp--preset--spacing--40); }

/* ---------- Custom home pages (body.wcc-project) ---------- */
/* Facts bar: three facts across at every width. */
.wcc-facts.is-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
@media (max-width: 781px) {
	.wcc-facts.is-3 > .wcc-fact:nth-child(n) { border-top: 0; border-left: 1px solid var(--wcc-line); }
	.wcc-facts.is-3 > .wcc-fact:first-child { border-left: 0; }
}
/* Shorter welcome section. */
.wcc-home-intro { padding-block: var(--wp--preset--spacing--50) !important; }
.wcc-home-intro h2 { margin-bottom: var(--wp--preset--spacing--30); }
/* Exterior / Interior read as section headings, with a rule above the second group. */
.wcc-home-photos h3 {
	margin: var(--wp--preset--spacing--50) 0 var(--wp--preset--spacing--30); font-family: var(--wp--preset--font-family--serif); font-style: normal;
	font-size: var(--wp--preset--font-size--x-large); letter-spacing: .08em; color: var(--wp--preset--color--white);
}
.wcc-home-photos .wp-block-gallery + h3 { padding-top: var(--wp--preset--spacing--50); border-top: 1px solid var(--wcc-line); }
/* Long galleries show the first nine photos until "View all" is pressed (site.js). */
.wp-block-gallery.is-collapsed > figure:nth-of-type(n+10) { display: none !important; }
.wcc-gallery-more { display: flex; justify-content: center; margin-top: var(--wp--preset--spacing--40); }
/* Our Process line above All Homes / Next. */
.wcc-home-nav__process { margin: 0 auto var(--wp--preset--spacing--40); max-width: 760px; color: var(--wp--preset--color--muted); }
.wcc-home-nav__process a { color: var(--wp--preset--color--white); }
/* Story pages: calmer pull quotes, chapter photo sets of four in one row. */
.wcc-project .wcc-quote .wp-block-quote p { font-size: var(--wp--preset--font-size--x-large); line-height: 1.4; font-style: italic; text-transform: none; }
.wcc-project .wcc-quote .wp-block-quote { text-transform: none; }
.wcc-project .wcc-band h3, .wcc-project .wcc-band h4 { text-transform: none; font-style: italic; letter-spacing: .01em; font-size: var(--wp--preset--font-size--x-large); line-height: 1.4; }
@media (min-width: 782px) {
	.wcc-project .wp-block-gallery.columns-2:has(> figure:nth-of-type(4):last-of-type) { display: grid !important; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--wp--preset--spacing--20); }
	.wcc-project .wp-block-gallery.columns-2:has(> figure:nth-of-type(4):last-of-type) > figure { width: auto !important; margin: 0 !important; aspect-ratio: 4 / 5; }
	.wcc-project .wp-block-gallery.columns-2:has(> figure:nth-of-type(4):last-of-type) > figure img { height: 100%; object-fit: cover; }
}
.wcc-home-nav > .wp-block-buttons { display: flex; flex-wrap: wrap; gap: var(--wp--preset--spacing--30); justify-content: space-between; margin-inline: auto !important; }

/* Other banner headings share the logo's typeface (upright Literata), on one line without the dashes. */
.wcc-hero h1:not(.wcc-logotype) {
	font-family: var(--wp--preset--font-family--accent); font-style: normal; font-weight: 620;
	letter-spacing: .02em; line-height: 1.05; text-transform: uppercase; color: var(--wp--preset--color--white);
}

/* Story homes (Cedar Fox, Magnolia): chapters like Our Process's phases. */
.wcc-chapter .wcc-split { margin-top: var(--wp--preset--spacing--50); }
.wcc-chapter .wcc-split + .wp-block-gallery,
.wcc-chapter .wcc-split + .wcc-split { margin-top: var(--wp--preset--spacing--50) !important; }
.wcc-chapter .wcc-pullquote { margin-top: var(--wp--preset--spacing--40); }
.wcc-chapter__text { max-width: 760px; margin-inline: auto; text-align: center; }
.wcc-chapter__text p { font-size: var(--wp--preset--font-size--large); line-height: 1.7; }
.wcc-chapter__text + .wp-block-gallery, .wp-block-gallery + .wcc-chapter__text { margin-top: var(--wp--preset--spacing--50) !important; }
.wcc-photo-break { padding-block: 0 !important; }
.wcc-photo-break .wp-block-image img { width: 100%; max-height: 80vh; object-fit: cover; border-radius: var(--wcc-radius); }
.wcc-story-welcome .wcc-eyebrow { margin-bottom: .5rem; }
.wcc-project .wcc-band .wp-block-quote, .wcc-project .wcc-band .wp-block-quote p { text-transform: none !important; font-style: italic; }
.wcc-project .wcc-band .wp-block-quote p { font-family: var(--wp--preset--font-family--serif); font-size: var(--wp--preset--font-size--xx-large); line-height: 1.3; }
.wcc-story-welcome__photo { margin: 0; }
.wcc-story-welcome__photo img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: var(--wcc-radius); }
/* Mobile menu: Client Portal as an outline button (like the desktop header), just above Contact Us. */
.wcc-header .wp-block-navigation__responsive-container.is-menu-open .wcc-menu-cta--outline { order: 98; }
.wcc-header .wp-block-navigation__responsive-container.is-menu-open .wcc-menu-cta--outline + .wcc-menu-cta,
.wcc-header .wp-block-navigation__responsive-container.is-menu-open .wcc-menu-cta--outline ~ .wcc-menu-cta:not(.wcc-menu-cta--outline) { margin-top: .5rem; }
.wcc-header .wp-block-navigation__responsive-container.is-menu-open .wcc-menu-cta--outline .wp-block-navigation-item__content {
	background: transparent; color: var(--wp--preset--color--contrast) !important; box-shadow: inset 0 0 0 1px currentColor;
}
.wcc-header .wp-block-navigation__responsive-container.is-menu-open .wcc-menu-cta--outline .wp-block-navigation-item__content:hover {
	background: var(--wp--preset--color--contrast); color: var(--wp--preset--color--base) !important;
}
.wcc-header .wp-block-navigation__responsive-container.is-menu-open .wcc-menu-cta .wp-block-navigation-item__content { min-width: 11.5rem; text-align: center; box-sizing: border-box; }
/* Footer tagline links to Our Values: no underline; a slight bold on hover. Literata italic has only one weight,
   so the "bold" is a thin stroke (no faux bold, and the text doesn't shift). */
.wcc-footer .wcc-footer__tagline a { color: inherit; text-decoration: none; transition: -webkit-text-stroke-width .2s ease; -webkit-text-stroke: 0 currentColor; }
.wcc-footer .wcc-footer__tagline a:hover, .wcc-footer .wcc-footer__tagline a:focus-visible { text-decoration: none; -webkit-text-stroke-width: .45px; }
