/* =====================================================================================================
   Homepage revision (v7): sentence hero, mobile art direction, spaces, scope, questions, contrast.
   Loaded after v6.css and v6-wp.css.
   ===================================================================================================== */
.t6 .t6-hero--sentence h1 { font-size: clamp(2.5rem, 1.6rem + 3.4vw, 4.9rem); line-height: 1.02; max-width: 15ch; text-wrap: balance; }
.t6 .t6-hero--sentence .t6-hero__sub { max-width: 40ch; }
@media (max-width: 760px) {
	/* Phones: the image is its own portrait band (no upscaled landscape behind text); copy sits below on walnut. */
	.t6 .t6-hero { display: block; min-height: 0; background: var(--plum); }
	.t6 .t6-hero__media { position: relative; inset: auto; z-index: 0; aspect-ratio: 4 / 4.4; max-height: 62svh; overflow: hidden; }
	.t6 .t6-hero__media::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgb(26 19 16 / .55) 0%, rgb(26 19 16 / 0) 30%, rgb(26 19 16 / 0) 72%, var(--plum) 100%); }
	.t6 .t6-hero::before, .t6 .t6-hero__plan, .t6 .t6-hero__scroll { display: none; }
	.t6 .t6-hero__media img { object-position: 50% 60%; }
	.t6 .t6-hero__in { padding-top: .5rem; padding-bottom: 2.75rem; gap: 1rem; }
	.t6 .t6-hero--sentence h1 { font-size: clamp(2.15rem, 1.4rem + 4vw, 2.8rem); }
	.t6 .t6-hero__note { display: block; position: static; margin: 0 var(--gut); padding-top: .6rem; font-size: .7rem; }
	.t6 .t6-hero__ctas { flex-direction: column; align-items: stretch; }
	.t6 .t6-hero__ctas .t6-btn { justify-content: center; }
}

/* Section heads: eyebrow + heading + short lede, left-aligned and narrow. */
.t6 .t7-head { max-width: 46rem; }
.t6 .t7-head .t6-lede, .t6 .t7-scope-section > .t6-lede { max-width: 58ch; }

/* Spaces we design: one lead space + four companions (not a uniform card grid). */
.t7-spaces { list-style: none; margin: clamp(2rem, 4vw, 3.5rem) 0 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: clamp(1.25rem, 2.4vw, 2.25rem); }
.t7-space { display: grid; grid-template-rows: auto 1fr; gap: 1rem; }
.t7-space--lead { grid-column: 1 / -1; grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr); grid-template-rows: none; align-items: center; gap: clamp(1.5rem, 4vw, 4rem); padding-bottom: clamp(1.5rem, 3vw, 2.5rem); border-bottom: 1px solid var(--border); }
.t7-space__media { position: relative; border-radius: var(--r-card); overflow: hidden; background: var(--paper); border: 1px solid var(--border); aspect-ratio: 4 / 3; }
.t7-space--lead .t7-space__media { aspect-ratio: 16 / 10; }
.t7-space__media .t6-picture { height: 100%; border-radius: 0; }
.t7-space__media .t6-picture img { height: 100%; object-fit: cover; }
.t7-plan { display: block; width: 100%; height: 100%; padding: 6%; box-sizing: border-box; }
.t7-plan .w { fill: none; stroke: var(--plum); stroke-width: 3; }
.t7-plan .f, .t7-plan g.f > * { fill: #F1E9DE; stroke: #7A6A5E; stroke-width: 1.4; }
.t7-plan .d { fill: none; stroke: #7A6A5E; stroke-width: 1; stroke-dasharray: 3 3; }
.t7-plan .r { fill: none; stroke: var(--terra); stroke-width: 2.2; stroke-dasharray: 7 6; stroke-linecap: round; }
.t7-tag { position: absolute; left: .75rem; bottom: .75rem; padding: .3rem .6rem; border-radius: 999px; background: rgb(255 252 248 / .94); color: var(--plum); font: 600 .68rem/1.2 var(--sans); letter-spacing: .06em; text-transform: uppercase; }
.t7-space__body h3 { margin: 0 0 .45rem; font-size: clamp(1.3rem, 1.1rem + .5vw, 1.6rem); }
.t7-space--lead .t7-space__body h3 { font-size: clamp(1.7rem, 1.3rem + 1.2vw, 2.4rem); }
.t7-space__body > p { margin: 0; max-width: 46ch; }
.t7-space__points { list-style: none; margin: .9rem 0 1rem; padding: 0; display: grid; gap: .35rem; font-size: .93rem; color: var(--muted); }
.t7-space__points li { padding-left: 1.1rem; position: relative; }
.t7-space__points li::before { content: ""; position: absolute; left: 0; top: .62em; width: .45rem; height: 1px; background: var(--terra-ink); }
.t6 .t7-space__link { display: inline-flex; align-items: center; min-height: 44px; font-weight: 600; color: var(--terra-ink); text-decoration: underline; text-underline-offset: .25em; }
@media (max-width: 1023px) { .t7-spaces { grid-template-columns: 1fr 1fr; } }
@media (max-width: 760px) {
	/* Phones: companions become a swipeable row so the section stays short. */
	.t7-spaces { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; gap: 1rem; margin-inline: calc(-1 * var(--gut)); padding: 0 var(--gut) .75rem; scroll-padding-inline: var(--gut); }
	.t7-space { flex: 0 0 80%; scroll-snap-align: start; }
	.t7-space--lead { flex-basis: 86%; grid-template-columns: 1fr; padding-bottom: 0; border-bottom: 0; }
	.t7-space--lead .t7-space__media { aspect-ratio: 4 / 3; }
	.t7-space--lead .t7-space__body h3 { font-size: 1.45rem; }
}

/* Scope, materials & coordination. */
.t7-scope { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); gap: clamp(2rem, 5vw, 5rem); margin: clamp(2rem, 4vw, 3rem) 0 2rem; }
.t7-scope h3 { font-size: clamp(1.3rem, 1.1rem + .6vw, 1.7rem); margin: 0 0 1rem; }
.t7-scope dl { margin: 0; }
.t7-scope dl > div { display: grid; grid-template-columns: minmax(0, 15rem) minmax(0, 1fr); gap: .3rem 1.5rem; padding: 1rem 0; border-top: 1px solid var(--border); }
.t7-scope dl > div:last-child { border-bottom: 1px solid var(--border); }
.t7-scope dt { font-weight: 600; color: var(--plum); display: flex; gap: .7rem; align-items: baseline; }
.t7-scope dt span { font: 500 1.05rem/1 var(--display); color: var(--terra-ink); }
.t7-scope dd { margin: 0; color: var(--muted); font-size: .95rem; }
.t7-scope__materials { background: var(--paper); border: 1px solid var(--border); border-radius: var(--r-card); padding: clamp(1.25rem, 2.5vw, 2rem); align-self: start; }
.t7-scope__materials > p { margin: 0 0 1rem; }
.t7-swatches { list-style: none; margin: 0 0 .75rem; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .9rem .6rem; font-size: .8rem; color: var(--muted); }
.t7-swatches li { display: grid; gap: .35rem; }
.t7-swatch { display: block; aspect-ratio: 1; border-radius: 8px; box-shadow: inset 0 0 0 1px rgb(58 46 42 / .12); }
.t7-swatch--oak { background: repeating-linear-gradient(95deg, #C9A57A 0 7px, #BD9668 7px 9px, #CDAB82 9px 15px); }
.t7-swatch--walnut { background: repeating-linear-gradient(95deg, #6E4A33 0 6px, #5E3E2A 6px 8px, #74503A 8px 13px); }
.t7-swatch--travertine { background: repeating-linear-gradient(0deg, #E3D5BE 0 9px, #D6C4A6 9px 10px, #E6DAC5 10px 17px); }
.t7-swatch--terrazzo { background: radial-gradient(circle at 20% 30%, #C07A5B 0 3px, transparent 4px), radial-gradient(circle at 70% 60%, #6B7F5B 0 3px, transparent 4px), radial-gradient(circle at 45% 80%, #8C7A66 0 2px, transparent 3px), radial-gradient(circle at 80% 20%, #3A2E2A 0 2px, transparent 3px), #EDE6D9; background-size: 26px 26px; }
.t7-swatch--limewash { background: radial-gradient(circle at 30% 30%, #F6EFE4, #E9DFD0 70%); }
.t7-swatch--olive { background: linear-gradient(135deg, #6B7F5B, #56684A); }
.t7-swatch--terracotta { background: repeating-linear-gradient(0deg, #B4704F 0 2px, #A9664A 2px 3px); }
.t7-swatch--brass { background: linear-gradient(120deg, #B8975E, #D9BE86 45%, #A8874F); }
.t7-scope__note { font-size: .8rem; color: var(--muted); }
.t6 .t7-scope__materials a { color: var(--terra-ink); font-weight: 600; }
@media (max-width: 1023px) { .t7-scope { grid-template-columns: 1fr; } }
@media (max-width: 640px) { .t7-scope dl > div { grid-template-columns: 1fr; } }

/* Questions. */
.t6 .t7-faq-split { gap: clamp(2rem, 5vw, 5rem); }
.t6 .t7-faq-split > .wp-block-column:first-child { position: sticky; top: 7rem; align-self: start; }
.t7-faq__more { margin-top: 1.25rem; }
.t6 .t7-faq__more a { color: var(--terra-ink); font-weight: 600; }
@media (max-width: 781px) { .t6 .t7-faq-split > .wp-block-column:first-child { position: static; } }

/* Contrast: links on the walnut contact background (e.g. the consent checkbox on phones). */
.t6 .t6-contact .tsi-check a { color: inherit; text-decoration: underline; }
