@charset "utf-8";

/* ==========================================================================
   Fixed Pages
   ========================================================================== */

.site-main.page {
	padding: var(--space-25, 100px) 0 var(--space-0, 0);
}

.page-shell {
	display: block;
}

.page-block {
	width: 100%;
}

.page-block .breadcrumb {
	margin-bottom: var(--space-6, 24px);
}

/* Page hero — breadcrumb full width; title + subtitle on one row */
.page-land-hero__inner,
.page-warranty-hero__inner,
.page-quality-hero__inner,
.page-process-hero__inner,
.page-company-hero__inner,
.page-reform-hero__inner,
.page-model-house-hero__inner,
.page-document-hero__inner {
	display: flex;flex-wrap: wrap;
	align-items: stretch;
}

.page-land-hero__inner > .breadcrumb,
.page-warranty-hero__inner > .breadcrumb,
.page-quality-hero__inner > .breadcrumb,
.page-process-hero__inner > .breadcrumb,
.page-company-hero__inner > .breadcrumb,
.page-reform-hero__inner > .breadcrumb,
.page-model-house-hero__inner > .breadcrumb,
.page-document-hero__inner > .breadcrumb {
	width: 100%;
}

.site-header-boundary {
	margin-bottom: var(--space-30, 120px);
}

.page-hero-headline {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	justify-content: flex-start;align-items: center;
	gap: var(--space-4, 16px) var(--space-8, 32px);
	width: 100%;
}

.page-hero-headline [class*="__subtitle"] {
	margin: 0;
	text-align: right;
}

.page-content {
	margin-top: var(--space-8, 32px);
	max-width: 840px;
}

.page-content > :first-child {
	margin-top: 0;
}

.page-form {
	margin-top: var(--space-8, 32px);
	max-width: 720px;
}


.page-form__intro {
	margin-bottom: var(--space-8, 32px);
	max-width: 720px;
	line-height: 2;
}

/* Contact hub */
.contact-hub {
	display: grid;
	gap: var(--space-5, 20px);
	margin-bottom: var(--space-10, 40px);
}

.contact-hub__card {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	gap: var(--space-3, 12px);
	min-height: 270px;
	padding: var(--space-8, 32px);
	border-radius: var(--radius-card, 5px);
	background: var(--color-bg-muted, #f5f5f5);
	color: inherit;
	text-align: center;
}

.contact-hub__card--static {
	background: var(--color-bg-tab, #fafafa);
}

.contact-hub__card--form {
	border: 1px solid var(--color-border-default, #cfd0d4);
	background: var(--color-bg-default, #ffffff);
}

.contact-hub__label {
	font-size: var(--typography-fontSize-sectionSubtitle, 24px);
	line-height: 1.2;
}

.contact-hub__value {
	font-size: var(--typography-fontSize-body, 16px);
	line-height: 1.6;
}

@media (min-width: 768px) {
	.contact-hub {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

/* CF7 */
.coda-cf7 {
	display: grid;
	gap: var(--space-5, 20px);
}

.coda-cf7__row {
	display: grid;
	gap: var(--space-2, 8px);
	align-items: center;
}

.coda-cf7__label {
	margin: 0;
	font-size: var(--typography-fontSize-body, 16px);
	line-height: 1.6;
}


.coda-cf7__field {
	margin: 0;
}

.coda-cf7__field input[type="text"],
.coda-cf7__field input[type="email"],
.coda-cf7__field input[type="tel"],
.coda-cf7__field select,
.coda-cf7__field textarea {
	width: 100%;
	min-height: 48px;
	padding: 0 var(--space-4, 16px);
	border: 1px solid var(--color-border-default, #cfd0d4);
	border-radius: var(--radius-sm, 4px);
	background: var(--color-bg-default, #ffffff);
	font: inherit;
}

.coda-cf7__field textarea {
	min-height: 160px;
	padding: var(--space-3, 12px) var(--space-4, 16px);
	resize: vertical;
}

.coda-cf7__accept {
	font-size: var(--typography-fontSize-nav, 14px);
	line-height: 1.6;text-align: center;
}

.coda-cf7__accept .wpcf7-list-item {
	margin: 0;
}

.coda-cf7__accept .wpcf7-list-item a {
	text-decoration: underline;
}

.coda-cf7__submit {
	display: flex;
	justify-content: center;
}

.coda-cf7__submit .wpcf7-submit {
	min-width: var(--size-button-minWidth, 175px);
	min-height: var(--size-button-height, 50px);
	padding: 0 var(--space-6, 24px);
	border: 1px solid var(--color-border-default, #cfd0d4);
	border-radius: var(--radius-button, 25px);
	background: var(--color-bg-default, #ffffff);
	font: inherit;
	font-size: var(--typography-fontSize-nav, 14px);
	cursor: pointer;
}

.coda-cf7__submit .wpcf7-submit:hover {
	opacity: 0.75;
}

.wpcf7 form .wpcf7-response-output {
	margin: var(--space-4, 16px) 0 0;
	padding: var(--space-3, 12px) var(--space-4, 16px);
	border-radius: var(--radius-sm, 4px);
}

@media (min-width: 768px) {
	.coda-cf7__row {
		grid-template-columns: 140px 1fr;
	}
}

/* ==========================================================================
   Concept Page
   ========================================================================== */

.page-block--concept .breadcrumb {
	margin-bottom: var(--space-10, 40px);
}

/* Hero */
.page-concept-hero {
	margin-bottom: var(--space-20, 80px);
}

.page-concept-hero__layout {
	display: grid;
	align-items: start;
	padding-top: var(--space-6, 24px);
	padding-bottom: var(--space-10, 40px);
}

.page-concept-hero__content {
	min-width: 0;
	max-width: 600px;
}

.page-concept-hero__subtitle {
	margin: 0 0 var(--space-6, 24px);
	font-size: var(--typography-fontSize-h3, 20px);
	letter-spacing: 0.2em;
	color: var(--color-palette-gray-300, #dddddd);
}

.page-concept-hero__title {
	margin: 0 0 var(--space-30, 120px);
	font-family: var(--typography-fontFamily-serif);
	font-size: var(--typography-fontSize-h1, 32px);
	font-weight: var(--typography-fontWeight-bold, 700);
	line-height: 1.6;
}

.page-concept-hero__title-line {
	display: block;
}

.page-concept-hero__lead {
	margin: 0 0 var(--space-8, 32px);
	font-family: var(--typography-fontFamily-serif);
	font-size: var(--typography-fontSize-sectionSubtitle, 24px);
	line-height: 1.6;
}

.page-concept-hero__lead-line {
	display: block;
}

.page-concept-hero__text {
	font-size: var(--typography-fontSize-body, 16px);
	line-height: 2;
}

.page-concept-hero__text p {
	font-family: var(--typography-fontFamily-serif);
	margin: 0 0 var(--space-4, 16px);
}

.page-concept-hero__text p:last-child {
	margin-bottom: 0;
}

.page-concept-hero__media {
	margin-top: var(--space-8, 32px);
}

.page-concept-hero__media img {
	display: block;
	width: 100%;
	height: auto;
}

.page-concept-hero__media picture {
	display: block;
	width: 100%;
}

@media (min-width: 1024px) {
	.page-concept-hero__layout {
		grid-template-columns: minmax(0, 1fr) 450px;
		gap: var(--space-10, 40px);
		align-items: stretch;
		min-height: 900px;
		padding-bottom: var(--space-20, 80px);
	}

	.page-concept-hero__media {
		margin-top: -124px;
		min-width: 0;
		height: 900px;
	}

	.page-concept-hero__media img {
		width: 100%;
		height: 100%;
		object-fit: cover;
		object-position: center top;
	}

	.page-concept-hero__media picture {
		height: 100%;
	}
}

/* Story blocks */
.page-concept__stories,
.page-concept__budget {
	display: flex;
	flex-direction: column;
	gap: var(--space-20, 80px);
	margin-bottom: var(--space-20, 80px);
}

.page-media-story__inner {
	--text-width: 350px;
	--column-width: 350px;
	--media-width: 300px;
	--story-gap: 166px;
	display: grid;
	gap: var(--space-10, 40px);
	align-items: start;
}

.page-media-story__content,
.page-media-story__media {
	min-width: 0;
}

.page-media-story__content {
	width: 100%;
	max-width: var(--column-width);
}

.page-media-story--content-offset .page-media-story__inner {
	padding-left: var(--content-offset, 0);
}

.page-media-story--media-offset.page-media-story--media-left .page-media-story__media {
	margin-left: var(--media-offset, 0);
}

.page-media-story__title {
	margin: var(--space-25, 100px) 0 var(--space-6, 24px);
	font-family: var(--typography-fontFamily-serif);
	font-size: var(--typography-fontSize-sectionTitle, 32px);
	font-weight: var(--typography-fontWeight-regular, 400);
	line-height: 1.6;
}
.page-concept__budget .page-media-story__title {
	margin: 0 0 var(--space-6, 24px);
}

.page-media-story__title-line {
	display: block;margin: 0 -90px 0 0;
}

.page-media-story__text {
	max-width: var(--text-width);
	font-family: var(--typography-fontFamily-serif);
	font-size: var(--typography-fontSize-body, 16px);
	line-height: 2.4;
}

.page-media-story__text p {
	margin: 0 0 var(--space-4, 16px);
}

.page-media-story__text p:last-child {
	margin-bottom: 0;
}

.page-media-story__media img {
	display: block;
	width: 100%;
	height: auto;
}

.page-media-story__media picture {
	display: block;
	width: 100%;
}

@media (min-width: 1024px) {
	.page-media-story__inner {
		gap: var(--space-10);
		justify-content: start;
	}

	.page-media-story--media-left .page-media-story__inner {
		grid-template-columns: 425px minmax(0, var(--column-width));
	}

	.page-media-story--media-right .page-media-story__inner {
		grid-template-columns: minmax(0, 700px) var(--media-width);
	}

	.page-media-story__media img {
		width: 100%;
		height: auto;
	}
}

.page-media-story--title-stack .page-media-story__frame {
	display: block;
}

.page-media-story--title-stack .page-media-story__title {
	max-width: none;
	margin-bottom: var(--space-10, 40px);
}

.page-media-story--title-stack .page-media-story__split {
	display: grid;
	gap: var(--story-gap, var(--space-10, 40px));
	align-items: start;
}

.page-media-story--title-stack .page-media-story__body,
.page-media-story--title-stack .page-media-story__media {
	min-width: 0;
}

.page-media-story--title-stack .page-media-story__text {
	max-width: var(--text-width);
}

@media (min-width: 1024px) {
	.page-media-story--title-stack.page-media-story--has-media.page-media-story--media-right .page-media-story__split {
		grid-template-columns: minmax(0, var(--column-width)) var(--media-width);
		gap: var(--story-gap);
		justify-content: start;
	}

	.page-media-story--title-stack.page-media-story--has-media.page-media-story--media-left .page-media-story__split {
		grid-template-columns: var(--media-width) minmax(0, var(--column-width));
		gap: var(--story-gap);
		justify-content: start;
	}
}

/* Gallery */
.page-gallery-scroll {
	--gallery-scroll-duration: 70s;
}

.page-gallery-scroll__viewport {
	overflow: hidden;
}

.page-gallery-scroll__track {
	display: flex;
	width: max-content;
	will-change: transform;
	animation: page-gallery-scroll-marquee var(--gallery-scroll-duration) linear infinite;
}

.page-gallery-scroll__group {
	display: flex;
	flex-shrink: 0;
	align-items: flex-end;
}

.page-gallery-scroll-modelhouse .page-gallery-scroll__group {
	align-items: flex-start;
}

.page-gallery-scroll__item {
	flex: 0 0 var(--gallery-width, 270px);
	margin-top: var(--gallery-offset, 0);
}

.page-gallery-scroll__item img {
	display: block;
	width: 100%;
	height: auto;
}

.page-gallery-scroll__item picture {
	display: block;
	width: 100%;
}

@keyframes page-gallery-scroll-marquee {
	from {
		transform: translateX(0);
	}

	to {
		transform: translateX(-50%);
	}
}

@media (prefers-reduced-motion: reduce) {
	.page-gallery-scroll__viewport {
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
		scrollbar-width: thin;
	}

	.page-gallery-scroll__track {
		animation: none;
	}

	.page-gallery-scroll__group[aria-hidden="true"] {
		display: none;
	}
}

/* Lifestyle */
.page-concept-lifestyle {
	margin-bottom: var(--space-20, 80px);
	padding: var(--space-50, 200px) 0;
	background: var(--color-palette-gray-100, #f5f5f5);
}

.page-concept-lifestyle__inner {
	display: grid;
	gap: var(--space-10, 40px);
	align-items: start;
}

.page-concept-lifestyle__media img {
	display: block;
	width: 100%;
	max-width: 323px;
	height: auto;
}

.page-concept-lifestyle__media picture {
	display: block;
	width: 100%;
	max-width: 323px;
}

.page-concept-lifestyle__title {
	margin: 0 0 var(--space-8, 32px);
	font-family: var(--typography-fontFamily-serif);
	font-size: var(--typography-fontSize-sectionTitle, 32px);
	font-weight: var(--typography-fontWeight-regular, 400);
	line-height: 1.6;
}

.page-concept-lifestyle__title-line {
	display: block;
}

.page-concept-lifestyle__text {
	font-size: var(--typography-fontSize-body, 16px);
	line-height: 2.4;
}

.page-concept-lifestyle__text p {
	font-family: var(--typography-fontFamily-serif);
	margin: 0 0 var(--space-12, 48px);
}

.page-concept-lifestyle__text p:last-child {
	margin-bottom: 0;
}

@media (min-width: 1024px) {
	.page-concept-lifestyle__inner {
		place-content: center;
		grid-template-columns: 323px 520px;
		gap: var(--space-16, 64px);
	}
}

/* CTA button */
.page-concept-cta {
	display: flex;
	padding: var(--space-10, 40px) 0 var(--space-20, 80px);
}

.page-concept-cta__button {
	max-width: 100%;
	text-align: center;
}

/* Bottom CTA panel (styles in front-page.css) */
.page-block--concept .front-cta-panel,
.page-block--quality-hub .front-cta-panel,
.page-block--quality-child .front-cta-panel,
.page-block--land .front-cta-panel,
.page-block--process .front-cta-panel,
.page-block--company .front-cta-panel,
.page-block--reform .front-cta-panel,
.page-block--warranty .front-cta-panel {
	margin-top: 0;
}

/* ==========================================================================
   Quality Pages
   ========================================================================== */

.page-quality-hero__subtitle {
	font-size: var(--typography-fontSize-h3, 20px);
	letter-spacing: 0.2em;
	color: var(--color-palette-gray-300, #dddddd);
}

.page-quality-hero__title {
	margin: 0;
	font-family: var(--typography-fontFamily-serif);
	font-size: var(--typography-fontSize-sectionTitle, 32px);
	font-weight: var(--typography-fontWeight-bold, 700);
	line-height: 1.6;
}

.page-quality-hero--child {
	margin-bottom: var(--space-25, 100px);
}

.page-quality-hero__label {
	display: inline-block;width: auto;
	margin: var(--space-4, 16px) 0 0;
	padding: 0 var(--space-4, 16px);
	background: var(--color-bg-inverse, #000000);
	color: var(--color-text-onDark, #ffffff);
	font-size: var(--typography-fontSize-body, 16px);
	line-height: 2.25;
}

.page-quality-tabs {
	margin: 0 auto var(--space-25, 100px);
}

.page-quality-tabs .section-tabs {
	margin: 0;
}

.page-quality-tabs .section-tabs__list {
	width: 100%;
}

@media (min-width: 1024px) {
	.page-quality-tabs .section-tabs__list {
		justify-content: space-between;
		align-items: center;
	}
}

.page-quality-tabs--top {
	margin-top: 0;
}

.page-quality-tabs--bottom {
	margin-top: var(--space-10, 40px);
	margin-bottom: var(--space-10, 40px);
}

.page-quality-section {
	padding: var(--space-25, 100px) 0;
}
.page-quality-section:first-of-type {
	padding: 0 0 var(--space-25, 100px);
}

.page-quality-section__inner {
	display: grid;
	gap: var(--space-10, 40px);
	align-items: start;
}

.page-quality-section__label {
	display: inline-block;
	margin: 0 0 var(--space-0, 0px);
	padding: 0 var(--space-4, 16px);
	background: var(--color-bg-inverse, #000000);
	color: var(--color-text-onDark, #ffffff);
	font-size: var(--typography-fontSize-body, 16px);
	line-height: 2;
}

.page-quality-section__title {
	margin: 0 0 var(--space-8, 32px);
	font-family: var(--typography-fontFamily-serif);
	font-size: 36px;
	font-weight: var(--typography-fontWeight-regular, 400);
	line-height: 2;
}

.page-quality-section__title-line {
	display: block;
}

.page-quality-section__text {
	max-width: 600px;
	font-size: var(--typography-fontSize-body, 16px);
	line-height: 2.4;
}

.page-quality-section__text p {
	margin: 0 0 var(--space-8, 32px);
}

.page-quality-section__text p:last-child {
	margin-bottom: 0;
}

.page-quality-section__cta {
	margin-top: var(--space-8, 32px);
}

.page-quality-section__image {
	display: block;
	width: 100%;
	height: auto;
}

.page-quality-section__image--badge {
	width: auto;
	max-width: 204px;
	margin-inline: auto;
}

.page-quality-section__divider {
	width: 100%;
	max-width: var(--layout-maxWidth-content, 1200px);
	margin: 0 auto;
	border: 0;
	border-top: 1px solid var(--color-palette-divider, #d9d9d9);
}

.page-quality-section__content,
.page-quality-section__aside {
	min-width: 0;
}

.page-quality-section__note {
	margin: var(--space-2, 8px) 0 0;
	font-size: var(--typography-fontSize-small, 12px);
	line-height: 1.6;
	color: var(--color-palette-gray-600, #636363);
}

.page-quality-section__gallery {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: var(--space-2, 8px);
}

.page-quality-section__gallery-image {
	display: block;
	width: 100%;
	height: auto;
	object-fit: cover;
}

.page-quality-section__media-below {
	margin-top: var(--space-10, 40px);
}

.page-quality-section__media-below-image {
	display: block;
	width: 100%;
	height: auto;
}

/* Title → text → media (single column) */
.page-quality-section--column .page-quality-section__aside {
	margin-top: var(--space-10, 40px);
}

.page-quality-section--column .page-quality-section__text {
	max-width: 600px;
}

.page-quality-section--column .page-quality-section__image {
	width: 100%;
	max-width: 100%;
	margin-left: 0;
}

.page-quality-section--column .page-quality-section__note {
	text-align: left;
}

/* Child pages: h2 full width, then text + media row */
.page-quality-section--title-stack .page-quality-section__frame {
	display: block;
}

.page-quality-section--title-stack .page-quality-section__title {
	max-width: none;
	margin-bottom: var(--space-10, 40px);
}

.page-quality-section--title-stack .page-quality-section__split {
	display: grid;
	gap: var(--space-10, 40px);
	align-items: start;
}

.page-quality-section--title-stack .page-quality-section__image {
	width: auto;
	max-width: 100%;
	margin-left: auto;margin-right: auto;
}

@media (min-width: 1024px) {
	.page-quality-section--has-aside .page-quality-section__inner {
		grid-template-columns: 600px 440px;
		gap: 160px;
		justify-content: start;
	}

	.page-quality-section--has-aside.page-quality-section--wide-aside .page-quality-section__inner {
		grid-template-columns: 600px 440px;
		gap: 160px;
	}

	.page-quality-section--title-stack.page-quality-section--has-aside .page-quality-section__split {
		grid-template-columns: 600px 500px;
		gap: 100px;
		justify-content: start;
	}

	.page-quality-section--column .page-quality-section__text {
		max-width: 600px;
	}
}

/* Quality charts */
.quality-chart {
	margin: 0;
}

.quality-chart__image {
	display: block;
	width: 100%;
	max-width: 100%;
	height: auto;
}

/* ==========================================================================
   Warranty Page
   ========================================================================== */

.page-block--warranty .site-main.page {
	padding-bottom: 0;
}

.page-warranty-hero {
	margin-bottom: var(--space-30, 120px);
}

.page-warranty-hero__inner {
	padding-top: var(--space-6, 24px);
}
.page-warranty-hero__inner .page-hero-headline {
	flex-direction: column;gap: var(--space-2, 8px) var(--space-8, 32px);
}

.page-warranty-hero__subtitle {
	font-size: var(--typography-fontSize-h3, 20px);
	letter-spacing: 0.2em;order: 1;
	color: var(--color-palette-gray-300, #dddddd);
}

.page-warranty-hero__title {
	margin: 0;order: 2;
	font-family: var(--typography-fontFamily-serif);
	font-size: var(--typography-fontSize-sectionTitle, 32px);
	font-weight: var(--typography-fontWeight-bold, 700);
	line-height: 1;
}

.page-warranty-intro {
	margin-bottom: var(--space-16, 64px);
	text-align: center;
}

.page-warranty-intro__title {
	margin: 0 0 var(--space-8, 32px);
	font-family: var(--typography-fontFamily-serif);
	font-size: 36px;
	font-weight: var(--typography-fontWeight-regular, 400);
	line-height: 2;
}

.page-warranty-intro__text {
	max-width: 600px;
	margin: 0 auto;
	font-size: var(--typography-fontSize-body, 16px);
	line-height: 2.4;
	text-align: left;
}

.page-warranty-intro__text p {
	margin: 0;
}

.page-warranty-panel {
	margin-bottom: var(--space-16, 64px);
}

.page-warranty-panel__inner {
	box-sizing: border-box;
	width: 100%;
	max-width: 1200px;
	margin: 0 auto;
	padding: var(--space-16, 64px) var(--space-10, 40px);
	border-radius: 30px;
	background: #fbfbf2;
}

.page-warranty-panel__title {
	margin: 0 0 var(--space-16, 64px);
	font-family: var(--typography-fontFamily-serif);
	font-size: 36px;
	font-weight: var(--typography-fontWeight-regular, 400);
	line-height: 2;
	text-align: center;
}

.page-warranty-panel__items {
	display: grid;
	gap: var(--space-16, 64px);
}

.page-warranty-item {
	text-align: center;
}

.page-warranty-item--divider {
	padding-bottom: var(--space-16, 64px);
	border-bottom: 1px solid var(--color-palette-divider, #d9d9d9);
}

.page-warranty-item__title {
	margin: 0 0 var(--space-6, 24px);
	font-family: var(--typography-fontFamily-serif);
	font-size: 36px;
	font-weight: var(--typography-fontWeight-regular, 400);
	line-height: 2;
}

.page-warranty-item__text {
	max-width: 600px;
	margin: 0 auto var(--space-8, 32px);
	font-size: var(--typography-fontSize-body, 16px);
	line-height: 2;
	text-align: left;
}

.page-warranty-item__text p {
	margin: 0 0 var(--space-4, 16px);
}

.page-warranty-item__text p:last-child {
	margin-bottom: 0;
}

.page-warranty-item__figure {
	max-width: 600px;
	margin: 0 auto;
	padding: var(--space-8, 32px);
	border-radius: 10px;
	background: var(--color-bg-default, #ffffff);
}

.page-warranty-item__image {
	display: block;
	width: 100%;
	height: auto;
	margin: 0 auto;
}

.page-warranty-inspection {
	margin-bottom: var(--space-16, 64px);
}

.page-warranty-inspection__title {
	margin: 0 0 var(--space-6, 24px);
	font-family: var(--typography-fontFamily-serif);
	font-size: 36px;text-align: center;
	font-weight: var(--typography-fontWeight-regular, 400);
	line-height: 2;
}

.page-warranty-inspection__lead {
	max-width: 720px;
	margin: 0 auto var(--space-10, 40px);
	font-size: var(--typography-fontSize-body, 16px);
	line-height: 2.4;
}

.page-warranty-inspection__list {
	margin: 0 auto var(--space-10, 40px);
	padding: 0;
	max-width: 720px;
	list-style: none;
	text-align: left;
}

.page-warranty-inspection__row {
	display: grid;
	gap: var(--space-4, 16px);
	margin-bottom: var(--space-6, 24px);
}

.page-warranty-inspection__label {
	display: inline-block;
	margin: 0;
	padding: 0 var(--space-4, 16px);
	background: var(--color-bg-inverse, #000000);
	color: var(--color-text-onDark, #ffffff);
	font-size: var(--typography-fontSize-body, 16px);
	line-height: 2.4;text-align: center;
}

.page-warranty-inspection__text {
	margin: 0;
	max-width: 347px;
	font-size: var(--typography-fontSize-body, 16px);
	line-height: 2;
}

.page-warranty-inspection__timeline {
	display: block;
	width: min(100%, 670px);
	height: auto;
	margin: 0 auto;
}

@media (min-width: 768px) {
	.page-warranty-inspection__row {
		grid-template-columns: 215px 1fr;
		align-items: start;
		gap: var(--space-6, 24px);
	}

	.page-warranty-inspection__text {
		max-width: none;
	}
}

/* ==========================================================================
   Land Page
   ========================================================================== */

.page-land-hero {
	margin-bottom: var(--space-16, 64px);
}

.page-land-hero__inner {
	padding-top: var(--space-6, 24px) 0;
}

.page-land-hero__subtitle {
	font-size: var(--typography-fontSize-h3, 20px);
	letter-spacing: 0.2em;
	color: var(--color-palette-gray-300, #dadada);
}

.page-land-hero__title {
	margin: 0;
	font-family: var(--typography-fontFamily-serif);
	font-size: var(--typography-fontSize-sectionTitle, 32px);
	font-weight: var(--typography-fontWeight-bold, 700);
	line-height: 2;
}

.page-land-consult-link {
	display: none;
}

.page-land__sections {
	margin-bottom: var(--space-16, 64px);
}

.page-land-story-wrap {
	position: relative;
	margin-bottom: var(--space-20, 80px);
}

.page-land-story .page-media-story__title {
	line-height: 2;
}

.page-land-story .page-media-story__text {
	line-height: 2.4;
}

.page-land-story__tag {
	display: none;
}

.page-land-text {
	margin-bottom: var(--space-20, 80px);
}

.page-land-text__inner {
	max-width: 550px;
}

.page-land-text__title {
	margin: 0 0 var(--space-8, 32px);
	font-family: var(--typography-fontFamily-serif);
	font-size: 36px;
	font-weight: var(--typography-fontWeight-regular, 400);
	line-height: 2;
}

.page-land-text__title-line {
	display: block;
}

.page-land-text__text {
	font-size: var(--typography-fontSize-body, 16px);
	line-height: 2.4;
}

.page-land-text__text p {
	margin: 0 0 var(--space-4, 16px);
}

.page-land-text__text p:last-child {
	margin-bottom: 0;
}

.page-land-inquiry {
	margin-top: var(--space-50, 200px);
	margin-bottom: var(--space-20, 80px);
}

.page-land-inquiry__outer {
	max-width: 800px;
}

.page-land-inquiry__panel {
	padding: var(--space-16, 64px) var(--space-10, 40px) var(--space-10, 40px);
	border-radius: 20px;
	background: #f4f4f4;
}

.page-land-inquiry__card {
	max-width: 500px;
	position: relative;
	margin: calc(var(--space-25, 100px) * -1) auto var(--space-10, 40px);
	padding: var(--space-8, 32px) var(--space-6, 24px);
	border: 1px solid #f4f4f4;
	border-radius: var(--radius-sm, 5px);
	background: var(--color-bg-default, #ffffff);
	text-align: center;
}
.page-land-inquiry__card::before {
	color: var(--color-palette-gray-100, #f5f5f5);
	font-weight: 900;font-size: var(--typography-fontSize-sectionTitle, 32px);
	content: "Registration form";
	position: absolute;top: -1.3em;left: 0;z-index: -1;
	width: 100%;
}

.page-land-inquiry__title {
	margin: 0 0 var(--space-4, 16px);
	font-size: var(--typography-fontSize-sectionSubtitle, 24px);
	font-weight: var(--typography-fontWeight-regular, 400);
	line-height: 1.4;
}

.page-land-inquiry__lead {
	margin: 0 0 var(--space-6, 24px);
	font-size: var(--typography-fontSize-body, 16px);
	line-height: 2;
}

.page-land-inquiry__lead-line {
	display: block;
}

.page-land-inquiry__channels {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: var(--space-6, 24px);
}

.page-land-inquiry__channel {
	font-size: var(--typography-fontSize-body, 16px);
	line-height: 1.4;
	color: inherit;
}

.page-land-inquiry__divider {
	flex-shrink: 0;
	width: 1px;
	height: 44px;
	background: #d9d9d9;
}

.page-land-inquiry__form-title {
	display: flex;
	align-items: center;
	gap: var(--space-5, 20px);
	margin: 0 0 var(--space-6, 24px);
	font-size: var(--typography-fontSize-body, 16px);
	font-weight: var(--typography-fontWeight-regular, 400);
	line-height: 1.4;
}

.page-land-inquiry__form-title::before {
	content: "";
	flex-shrink: 0;
	width: 9px;
	height: 23px;
	background: var(--color-bg-inverse, #000000);
}

.page-land-inquiry__form {
	max-width: 500px;
	margin: 0 auto;
}

.page-land-inquiry__form-fallback {
	font-size: var(--typography-fontSize-body, 16px);
	line-height: 2;
}

.coda-cf7--land .coda-cf7__submit .wpcf7-submit,
.coda-cf7--panel .coda-cf7__submit .wpcf7-submit {
	width: 100%;
	max-width: 380px;
	border-color: var(--color-bg-default, #ffffff);
	border-radius: var(--radius-sm, 5px);
	background: #00b2ff;
	color: var(--color-text-onDark, #ffffff);
	box-shadow: 0 0 4px rgba(0, 0, 0, 0.25);
}

.coda-cf7--land .coda-cf7__submit .wpcf7-submit:hover,
.coda-cf7--panel .coda-cf7__submit .wpcf7-submit:hover {
	opacity: 0.9;
}

@media (min-width: 1024px) {
	.page-land-consult-link {
		position: fixed;
		top: 50%;
		right: 0;
		z-index: 50;
		display: flex;
		align-items: center;
		justify-content: center;
		width: 40px;
		height: 115px;
		background: #9a7b4f;
		color: var(--color-text-onDark, #ffffff);
		font-size: 12px;
		line-height: 1;
		writing-mode: vertical-rl;
		text-orientation: mixed;
		letter-spacing: 0.1em;
		transform: translateY(-50%);
		transition: opacity 0.2s;
	}

	.page-land-consult-link:hover {
		opacity: 0.85;
	}

	.page-land-consult-link__label {
		display: block;
	}

	.page-land-story__tag {
		display: block;
		position: absolute;
		top: 50%;
		right: 0;
		margin: 0;
		font-family: var(--typography-fontFamily-serif);
		font-size: 12px;
		line-height: 1;
		letter-spacing: 0.2em;
		color: #9a7b4f;
		writing-mode: vertical-rl;
		text-orientation: mixed;
		transform: translateY(-50%);
	}
}

/* ==========================================================================
   Process Page
   ========================================================================== */

.page-process-hero {
	margin-bottom: var(--space-10, 40px);
}

.page-process-hero__subtitle {
	font-size: var(--typography-fontSize-h3, 20px);
	letter-spacing: 0.2em;
	color: var(--color-palette-gray-300, #dadada);
}

.page-process-hero__title {
	margin: 0;
	font-family: var(--typography-fontFamily-serif);
	font-size: var(--typography-fontSize-sectionTitle, 32px);
	font-weight: var(--typography-fontWeight-bold, 700);
	line-height: 2;
}

.page-process-intro {
	margin-bottom: var(--space-30, 120px);
}

.page-process-intro__title {
	max-width: 800px;
	margin: 0 0 var(--space-8, 32px);
	font-family: var(--typography-fontFamily-serif);
	font-size: 36px;
	font-weight: var(--typography-fontWeight-regular, 400);
	line-height: 2;
}

.page-process-intro__text {
	max-width: 800px;
	font-size: var(--typography-fontSize-body, 16px);
	line-height: 2.4;
}

.page-process-intro__text p {
	margin: 0 0 var(--space-4, 16px);
}

.page-process-intro__text p:last-child {
	margin-bottom: 0;
}

.page-process-flow {
	margin-bottom: var(--space-30, 120px);
}

.page-process-steps {
	max-width: 820px;
	position: relative;
	margin: 0;
	padding: 0 0 0 29px;
	list-style: none;
}

.page-process-steps::before {
	content: "";
	position: absolute;
	top: 0.75em;
	bottom: 0.75em;
	left: 6px;
	width: 1px;
	background: #545454;
}

.page-process-step {
	position: relative;
	margin-bottom: var(--space-8, 32px);
}

.page-process-step:last-child {
	margin-bottom: 0;
}

.page-process-step::before {
	content: "";
	position: absolute;
	top: 1em;
	left: -26px;
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: var(--color-bg-inverse, #000000);
	transform: translateY(-50%);
}

.page-process-step__title {
	margin: 0 0 var(--space-2, 8px);
	font-size: var(--typography-fontSize-h3, 20px);
	font-weight: var(--typography-fontWeight-bold, 700);
	line-height: 2;
}

.page-process-step__title a {
	color: inherit;
	text-decoration: underline;
	text-underline-offset: 0.2em;
}

.page-process-step__title a:hover {
	opacity: 0.7;
}

.page-process-step__text {
	margin: 0;
	font-size: var(--typography-fontSize-body, 16px);
	line-height: 2.4;
}

.page-process-finance {
	margin-bottom: var(--space-20, 80px);
	padding: var(--space-50, 200px) 0;
	background: #f7f5ee;
}

.page-process-finance__inner {
	max-width: 880px;
	margin-left: auto;
	margin-right: auto;
}

.page-process-finance__lead-title {
	margin: 0 0 var(--space-20, 80px);
	font-family: var(--typography-fontFamily-serif);
	font-size: var(--typography-fontSize-sectionSubtitle, 24px);
	font-weight: var(--typography-fontWeight-regular, 400);
	line-height: 2;
}

.page-process-finance__lead-text {
	margin-bottom: var(--space-12, 48px);
	font-size: var(--typography-fontSize-body, 16px);
	line-height: 2.4;
}

.page-process-finance__lead-text p {
	margin: 0;
}

.page-process-finance__items {
	display: grid;
	gap: var(--space-12, 48px);
}

.page-process-finance-item__title {
	margin: 0 0 var(--space-4, 16px);
	font-size: var(--typography-fontSize-h3, 20px);
	font-weight: var(--typography-fontWeight-bold, 700);
	line-height: 2;
}

.page-process-finance-item__title--emphasis {
	color: #c40000;
}

.page-process-finance-item__text {
	font-size: var(--typography-fontSize-body, 16px);
	line-height: 2.4;
}

.page-process-finance-item__text p {
	margin: 0 0 var(--space-8, 32px);
}

@media (min-width: 1024px) {
	.page-process-finance__inner {
		margin-left: max(var(--layout-gutter-page, 120px), calc(50% - 428px));
		margin-right: auto;
	}
}

/* ==========================================================================
   Company Page
   ========================================================================== */

.page-company-hero {
	margin-bottom: var(--space-10, 40px);
}

.page-company-hero__subtitle {
	font-size: var(--typography-fontSize-h3, 20px);
	letter-spacing: 0.2em;
	color: var(--color-palette-gray-300, #dadada);
}

.page-company-hero__title {
	margin: 0;
	font-family: var(--typography-fontFamily-serif);
	font-size: var(--typography-fontSize-sectionTitle, 32px);
	font-weight: var(--typography-fontWeight-bold, 700);
	line-height: 2;
}

.page-company-mission {
	margin-bottom: var(--space-16, 64px);
	text-align: center;
}

.page-company-mission__inner {
	max-width: 880px;margin-top: var(--space-25,100px);
	margin-bottom: var(--space-30,120px);
}

.page-company-mission__title {
	margin: 0 0 var(--space-8, 32px);
	font-family: var(--typography-fontFamily-serif);
	font-size: 36px;
	font-weight: var(--typography-fontWeight-regular, 400);
	line-height: 2;
}

.page-company-mission__title-line {
	display: block;
}

.page-company-mission__text {
	font-size: var(--typography-fontSize-body, 16px);
	line-height: 2.4;
}

.page-company-mission__text p {
	margin: 0 0 var(--space-8, 32px);
}

.page-company-mission__text p:last-child {
	margin-bottom: 0;
}

.page-company-greeting {
	margin-bottom: var(--space-16, 64px);
	padding: var(--space-30, 120px) 0;
	background: #f7f7f7;
}

.page-company-greeting__inner {
	display: grid;
	gap: var(--space-20, 60px);
	align-items: start;
}

.page-company-greeting__title {
	margin: 0 0 var(--space-8, 32px);
	font-family: var(--typography-fontFamily-serif);
	font-size: 36px;
	font-weight: var(--typography-fontWeight-regular, 400);
	line-height: 2;
}

.page-company-greeting__text {
	max-width: 600px;
	font-size: var(--typography-fontSize-body, 16px);
	line-height: 2.4;
}

.page-company-greeting__text p {
	margin: 0 0 var(--space-8, 32px);
}

.page-company-greeting__signature {
	margin-top: var(--space-8, 32px);
}

.page-company-greeting__media picture,
.page-company-greeting__media img {
	display: block;
	width: 100%;
	max-width: 520px;
	height: auto;
	margin: 0 auto;
	border-radius: 10px;
}

.page-company-greeting__media picture {
	overflow: hidden;
}

.page-company-staff {
	margin-bottom: var(--space-16, 64px);
}

.page-company-staff__title {
	margin: 0 0 var(--space-8, 32px);
	font-family: var(--typography-fontFamily-serif);
	font-size: 36px;
	font-weight: var(--typography-fontWeight-regular, 400);
	line-height: 2;
}

.page-company-staff__qualifications {
	max-width: 635px;
	margin: 0 0 var(--space-10, 40px) auto;
	padding: var(--space-6, 24px) var(--space-8, 32px);
	border: 1px solid #e4e4e4;
	border-radius: 19px;
	background: #f6f6f6;
}

.page-company-staff__qualifications-label {
	margin: 0 0 var(--space-3, 12px);
	font-size: var(--typography-fontSize-nav, 14px);
	line-height: 1;
}

.page-company-staff__qualifications-text {
	margin: 0;
	font-size: var(--typography-fontSize-nav, 14px);
	line-height: 2;
}

.page-company-staff__grid {
	display: grid;
	gap: var(--space-20, 80px) var(--space-5, 20px);
	margin: 0 0 var(--space-16, 64px);
	padding: 0;
	list-style: none;
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.page-company-staff-card__media {
	margin-bottom: var(--space-3, 12px);
	overflow: hidden;
	border-radius: 10px;
}

.page-company-staff-card__media picture,
.page-company-staff-card__media img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 2 / 3;
	object-fit: cover;
}

.page-company-staff-card__media picture {
	overflow: hidden;
}

.page-company-staff-card__name {
	font-family: var(--typography-fontFamily-serif);
	font-size: var(--typography-fontSize-sectionSubtitle, 24px);
	line-height: 1.2;text-align: center;
}

.page-company-staff-card__role {
	margin: 0 0 var(--space-2, 8px);
	font-size: var(--typography-fontSize-nav, 14px);
	line-height: 1;text-align: center;
	color: #adadad;
}

.page-company-staff__admin {
	margin: 0;
	padding: var(--space-8, 32px);
	border-radius: 19px;
	background: #f6f6f6;
	font-size: var(--typography-fontSize-nav, 14px);
	line-height: 1;
	text-align: center;
}

.page-company-history {
	margin-bottom: var(--space-16, 64px);
}

.page-company-history__title {
	margin: 0 0 var(--space-10, 40px);
	font-family: var(--typography-fontFamily-serif);
	font-size: 36px;
	font-weight: var(--typography-fontWeight-regular, 400);
	line-height: 2;
}

.page-company-history__track {
	--history-axis-color: var(--color-palette-gray-500, #999999);
	--history-stem-length: var(--space-25, 100px);
	position: relative;
	display: grid;
	grid-template-columns: repeat(var(--history-slot-count, 9), minmax(0, 1fr));
	gap: 0;
	overflow-x: visible;
	padding-bottom: 0;
	scroll-snap-type: none;
	align-items: stretch;
	min-height: 240px;
	-webkit-overflow-scrolling: touch;
}
.page-company-history__track::before {
	content: "";
	position: absolute;
	top: 50%;
	left: 0;
	width: 100%;
	height: 1px;
	background: var(--history-axis-color);
	pointer-events: none;
}

.page-company-history__item {
	position: relative;
	z-index: 1;
	flex: 0 0 min(168px, 42vw);
	display: grid;
	grid-template-rows: 1fr auto 1fr;
	min-height: 240px;
	scroll-snap-align: start;
}

.page-company-history__item--empty {
	flex: 0 0 min(72px, 18vw);
}

.page-company-history__content {
	display: flex;
	flex-direction: column;
	gap: var(--space-4, 16px);
	min-width: 0;
}

.page-company-history__item--above .page-company-history__content {
	grid-row: 1;
	align-self: end;
	padding-bottom: var(--history-stem-length);
}

.page-company-history__item--above .page-company-history__marker {
	grid-row: 2;
	align-self: center;
}

.page-company-history__item--below .page-company-history__marker {
	grid-row: 2;
	align-self: center;
}

.page-company-history__item--below .page-company-history__content {
	grid-row: 3;
	align-self: start;
	padding-top: var(--history-stem-length);
}

.page-company-history__item--empty.page-company-history__item--above .page-company-history__marker,
.page-company-history__item--empty.page-company-history__item--below .page-company-history__marker {
	grid-row: 2;
	align-self: center;
}

.page-company-history__marker {
	position: relative;
	display: block;
	flex-shrink: 0;
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: var(--history-axis-color);
}

.page-company-history__item--above:not(.page-company-history__item--empty) .page-company-history__marker::before {
	content: "";
	position: absolute;
	bottom: 100%;
	left: 50%;
	width: 1px;
	height: var(--history-stem-length);
	background: var(--history-axis-color);
	transform: translateX(-50%);
}

.page-company-history__item--below:not(.page-company-history__item--empty) .page-company-history__marker::after {
	content: "";
	position: absolute;
	top: 100%;
	left: 50%;
	width: 1px;
	height: var(--history-stem-length);
	background: var(--history-axis-color);
	transform: translateX(-50%);
}

.page-company-history__year {
	margin: 0;
	font-family: var(--typography-fontFamily-serif);
	font-size: 30px;
	line-height: 1;
	color: var(--color-palette-gray-300, #d0d0d0);
}

.page-company-history__text p {
	width: 190%;
	margin: 0 0 var(--space-2, 8px);
	font-size: var(--typography-fontSize-nav, 14px);
	line-height: 1.6;
}

.page-company-history__text p:last-child {
	margin-bottom: 0;
}

@media (min-width: 1024px) {

	.page-company-history__item,
	.page-company-history__item--empty {
		flex: initial;
		min-width: 0;
	}
}

.page-company-locations {
	margin-bottom: var(--space-16, 64px);
}

.page-company-locations__title {
	margin: 0 0 var(--space-10, 40px);
	font-family: var(--typography-fontFamily-serif);
	font-size: 36px;
	font-weight: var(--typography-fontWeight-regular, 400);
	line-height: 2;
}

.page-company-locations__grid {
	display: grid;
	gap: 50px 150px;
}

.page-company-location__media {
	margin-bottom: var(--space-4, 16px);
	overflow: hidden;
}

.page-company-location__media picture,
.page-company-location__media img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 3 / 2;
	object-fit: cover;
}

.page-company-location__media--placeholder {
	min-height: 300px;
	background: #c4c4c4;
}

.page-company-location__label {
	display: flex;
	align-items: center;
	gap: var(--space-3, 12px);
	margin: 0 0 var(--space-2, 8px);
	font-size: var(--typography-fontSize-body, 16px);
	line-height: 1;
}

.page-company-location__map {
	font-size: var(--typography-fontSize-nav, 14px);
	text-decoration: underline;
}

.page-company-location__address {
	margin: 0 0 var(--space-4, 16px);
	font-size: var(--typography-fontSize-body, 16px);
	line-height: 1.6;
}

.page-company-location__button {
	min-width: auto;margin: var(--space-5 , 20px) 0 0;
}

.page-company-profile {
	margin-bottom: var(--space-20, 80px);
}

.page-company-profile__outer {
	max-width: 1200px;
}

.page-company-profile__panel {
	padding: var(--space-30, 120px) var(--space-10, 40px);
	border-radius: 50px;
	background: #f7f7f7;
}

.page-company-profile__title {
	max-width: 700px;
	margin: 0 auto var(--space-25, 100px);
	font-family: var(--typography-fontFamily-serif);
	font-size: 36px;
	font-weight: var(--typography-fontWeight-regular, 400);
	line-height: 2;
	text-align: center;
}

.page-company-profile__list {
	max-width: 700px;
	margin: 0 auto;
}

.page-company-profile__row {
	display: grid;
	gap: var(--space-3, 12px);
	padding: var(--space-6, 24px) 0;
	border-bottom: 1px solid #d9d9d9;
}

.page-company-profile__row:first-child {
	padding-top: 0;
}

.page-company-profile__row:last-child {
	border-bottom: none;
	padding-bottom: 0;
}

.page-company-profile__label {
	margin: 0;
	font-size: var(--typography-fontSize-body, 16px);
	font-weight: var(--typography-fontWeight-bold, 700);
	line-height: 1.6;
}

.page-company-profile__value {
	margin: 0;
	font-size: var(--typography-fontSize-body, 16px);
	line-height: 2;
}

.page-company-profile__value p {
	margin: 0 0 var(--space-2, 8px);
}

.page-company-profile__value p:last-child {margin-bottom: 0}

.page-company-profile__value p span {
	font-weight: var(--typography-fontWeight-bold,700);
}

.page-company-profile__value a {
	text-decoration: underline;
}

@media (min-width: 768px) {
	.page-company-greeting__inner {
		grid-template-columns: minmax(280px, 620px) minmax(280px, 520px);
		justify-content: space-between;
	}

	.page-company-staff__grid {
		grid-template-columns: repeat(5, minmax(0, 1fr));
	}
	.page-company-staff__grid .page-company-staff-card:nth-child(4) {
		grid-column: 1;
	}

	.page-company-locations__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.page-company-profile__row {
		grid-template-columns: 183px 1fr;
		gap: var(--space-8, 32px);
		align-items: start;
	}
}

@media (min-width: 1024px) {
	.page-company-locations__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

/* ==========================================================================
   Reform Page
   ========================================================================== */

.page-reform-hero {
	margin-bottom: var(--space-10, 40px);
}

.page-reform-hero__inner {
	padding-top: var(--space-6, 24px);
}

.page-reform-hero__subtitle {
	font-size: var(--typography-fontSize-h3, 20px);
	letter-spacing: 0.2em;
	color: var(--color-palette-gray-300, #dadada);
}

.page-reform-hero__title {
	margin: 0;
	font-family: var(--typography-fontFamily-serif);
	font-size: var(--typography-fontSize-sectionTitle, 32px);
	font-weight: var(--typography-fontWeight-bold, 700);
	line-height: 2;
}

.page-reform__sections {
	display: flex;
	flex-direction: column;
	gap: var(--space-16, 64px);
	margin-bottom: var(--space-16, 64px);
}


.page-reform-section__title {
	margin: 0 0 var(--space-8, 32px);
	font-family: var(--typography-fontFamily-serif);
	font-size: 36px;
	font-weight: var(--typography-fontWeight-regular, 400);
	line-height: 2;
}

.page-reform-section__text {
	font-size: var(--typography-fontSize-body, 16px);
	line-height: 2.4;
	max-width: 800px;
}

.page-reform-section__text p {
	margin: 0 0 var(--space-4, 16px);
}

.page-reform-section__text p:last-child {
	margin-bottom: 0;
}

.page-reform-section__lead {
	margin: 0 0 var(--space-6, 24px);
	font-size: var(--typography-fontSize-body, 16px);
	line-height: 2.4;
	max-width: 800px;
}

.page-reform-section__items {
	margin: 0;
	padding: 0;
	list-style: none;
	max-width: 800px;
}

.page-reform-section__item {
	margin: 0 0 var(--space-6, 24px);
	font-size: var(--typography-fontSize-body, 16px);
	line-height: 2.4;
}

.page-reform-section__item:last-child {
	margin-bottom: 0;
}

.page-reform-section__item-title {
	display: inline;
	font-weight: var(--typography-fontWeight-bold, 700);
}

.page-reform-section__item-title::after {
	content: "\3000";
}

.page-reform-section__item-text {
	font-weight: var(--typography-fontWeight-regular, 400);
}

.page-reform-section__link-wrap {
	margin: var(--space-8, 32px) 0 0;
}

.page-reform-section__link {
	font-size: var(--typography-fontSize-body, 16px);
	font-weight: var(--typography-fontWeight-bold, 700);
	text-decoration: underline;
}

/* ==========================================================================
   Shared inquiry panel (land / model-house)
   ========================================================================== */

.page-inquiry {
	margin-bottom: var(--space-20, 80px);
}

.page-inquiry__outer {
	max-width: 800px;
}

.page-inquiry__panel {
	padding: var(--space-16, 64px) var(--space-10, 40px) var(--space-10, 40px);
	border-radius: 20px;
	background: #f4f4f4;
}

.page-inquiry__card {
	max-width: 500px;
	position: relative;
	margin: calc(var(--space-25, 100px) * -1) auto var(--space-10, 40px);
	padding: var(--space-8, 32px) var(--space-6, 24px);
	border: 1px solid #f4f4f4;
	border-radius: var(--radius-sm, 5px);
	background: var(--color-bg-default, #ffffff);
	text-align: center;
}

.page-inquiry__card::before {
	color: var(--color-palette-gray-100, #f5f5f5);
	font-weight: 900;font-size: var(--typography-fontSize-sectionTitle, 32px);
	content: "Registration form";
	position: absolute;top: -1.3em;left: 0;z-index: -1;
	width: 100%;
}

.page-inquiry__title {
	margin: 0 0 var(--space-4, 16px);
	font-size: var(--typography-fontSize-sectionSubtitle, 24px);
	font-weight: var(--typography-fontWeight-regular, 400);
	line-height: 1.4;
}

.page-inquiry__lead {
	margin: 0 0 var(--space-6, 24px);
	font-size: var(--typography-fontSize-body, 16px);
	line-height: 2;
}

.page-inquiry__lead-line {
	display: block;
}

.page-inquiry__channels {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: var(--space-6, 24px);
}

.page-inquiry__channel {
	font-size: var(--typography-fontSize-body, 16px);
	line-height: 1.4;
	color: inherit;
}

.page-inquiry__divider {
	flex-shrink: 0;
	width: 1px;
	height: 44px;
	background: #d9d9d9;
}

.page-inquiry__form-title {
	display: flex;
	align-items: center;
	gap: var(--space-3, 12px);
	margin: 0 0 var(--space-6, 24px);
	font-size: var(--typography-fontSize-body, 16px);
	font-weight: var(--typography-fontWeight-regular, 400);
	line-height: 1.4;
}

.page-inquiry__form-title::before {
	content: "";
	flex-shrink: 0;
	width: 9px;
	height: 23px;
	background: var(--color-bg-inverse, #000000);
}

.page-inquiry__form {
	max-width: 500px;
	margin: 0 auto;
}

.page-inquiry__form-fallback {
	font-size: var(--typography-fontSize-body, 16px);
	line-height: 2;
}

/* ==========================================================================
   Model House Page
   ========================================================================== */

.page-model-house-hero,
.page-document-hero {
	margin-bottom: var(--space-10, 40px);
}

.page-model-house-hero__subtitle,
.page-document-hero__subtitle {
	font-size: var(--typography-fontSize-h3, 20px);
	letter-spacing: 0.2em;
	color: var(--color-palette-gray-300, #dadada);
}

.page-model-house-hero__title,
.page-document-hero__title {
	margin: 0;
	font-family: var(--typography-fontFamily-serif);
	font-size: var(--typography-fontSize-sectionTitle, 32px);
	font-weight: var(--typography-fontWeight-bold, 700);
	line-height: 2;
}

.page-model-house-reserve-link {
	display: none;
}
.page-model-house-story--comfort {
	margin-bottom: var(--space-50,200px);
}

.page-model-house-story-wrap {
	position: relative;
	margin-bottom: var(--space-25, 100px);
}

.page-model-house-story .page-media-story__title {
	font-size: 36px;
	line-height: 2;
}

.page-model-house-story .page-media-story__text {
	line-height: 2.4;
}

.page-model-house-story__tag {
	display: none;
}

.page-model-house-flow {
	margin-bottom: var(--space-25, 100px);
}

.page-model-house-flow__title {
	margin: 0 0 var(--space-8, 32px);
	font-family: var(--typography-fontFamily-serif);
	font-size: 36px;
	font-weight: var(--typography-fontWeight-regular, 400);
	line-height: 2;
}

.page-model-house-flow__title-line {
	display: block;
}

.page-model-house-flow__lead {
	max-width: 600px;
	margin: 0 0 var(--space-10, 40px);
	font-size: var(--typography-fontSize-body, 16px);
	line-height: 1.6;
}

.page-model-house-flow__grid {
	display: grid;
	gap: var(--space-8, 32px) var(--space-5, 20px);
	margin: 0 0 var(--space-10, 40px);
	padding: 0;
	list-style: none;
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.page-model-house-flow-card__title {
	margin: 0 0 var(--space-4, 16px);
	padding: var(--space-3, 12px) var(--space-4, 16px);
	background: var(--color-bg-inverse, #000000);
	color: var(--color-text-onDark, #ffffff);
	font-size: var(--typography-fontSize-body, 16px);
	font-weight: var(--typography-fontWeight-medium, 500);
	line-height: 1;
}

.page-model-house-flow-card__text {
	margin: 0;
	font-size: var(--typography-fontSize-body, 16px);
	line-height: 1.6;
}

.page-gallery-scroll-modelhouse {
	margin-bottom: var(--space-50, 200px);
}

.page-block--model-house .front-cta-panel,
.page-block--document-request .front-cta-panel {
	margin-top: var(--space-16, 64px);
}

@media (min-width: 768px) {
	.page-model-house-flow__grid {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}
}

@media (min-width: 1024px) {
	.page-model-house-reserve-link {
		position: fixed;
		top: 200px;
		right: 50px;
		z-index: 50;
		display: flex;
		align-items: center;
		justify-content: center;
		width: 50px;
		height: 125px;
		padding: 0 var(--space-2, 8px) ;
		color: var(--color-palette-white,#fff);
		font-size: 10px;
		writing-mode: vertical-rl;
		text-decoration: none;
		transform: translateY(-50%);
	}
	.page-model-house-reserve-link::after  {
		content: "";position: absolute;z-index: -1;
		width: 50px;height: 125px;filter: drop-shadow(0 0 5px rgba(0, 0, 0, 0.25));
		background-image: url('data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2050%20125%22%20fill%3D%22none%22%3E%20%3Cpath%20d%3D%22M25%20120L5%20105V5H45V105L25%20120Z%22%20fill%3D%22%23BC914C%22%2F%3E%20%3Cpath%20d%3D%22M25%20120L24.4%20120.8L25%20121.25L25.6%20120.8L25%20120ZM5%20105H4V105.5L4.4%20105.8L5%20105ZM5%205V4H4V5H5ZM45%205H46V4H45V5ZM45%20105L45.6%20105.8L46%20105.5V105H45ZM25%20120L25.6%20119.2L5.6%20104.2L5%20105L4.4%20105.8L24.4%20120.8L25%20120ZM5%20105H6V5H5H4V105H5ZM5%205V6H45V5V4H5V5ZM45%205H44V105H45H46V5H45ZM45%20105L44.4%20104.2L24.4%20119.2L25%20120L25.6%20120.8L45.6%20105.8L45%20105Z%22%20fill%3D%22white%22%20%2F%3E%3C%2Fsvg%3E')
	}


	.page-model-house-reserve-link:hover {
		opacity: 0.75;
	}

	.page-model-house-reserve-link__label {
		font-size: 12px;padding-bottom: 1em;
	}

	.page-model-house-story__tag {
		position: absolute;
		top: var(--space-6, 24px);
		right: 0;
		display: block;
		margin: 0;
		font-size: var(--typography-fontSize-body, 16px);
		letter-spacing: 0.2em;
		writing-mode: vertical-rl;
	}
}

/* ==========================================================================
   Document Request Page
   ========================================================================== */

.page-document-form {
	margin-bottom: var(--space-20, 80px);
}

.page-document-form__panel {
	padding: var(--space-16, 64px) var(--space-10, 40px);
	border-radius: 20px;
	background: #f4f4f4;
}

.page-document-form__text {
	max-width: 500px;
	margin: 0 auto;
}

.page-document-form__fallback {
	font-size: var(--typography-fontSize-body, 16px);
	line-height: 2;
}

@media (min-width: 1024px) {
	.page-document-form__panel {
		display: grid;
		grid-template-columns: 400px 1fr;
		gap: var(--space-10, 40px);
		align-items: start;
	}

	.page-document-form__panel:has(.page-document-form__media) .page-document-form__text {
		margin: 0;
	}

	.page-document-form__media {
		min-height: 400px;
		background: #e7e7e7;
	}
}

/* ==========================================================================
   Contact Page
   ========================================================================== */

.page-contact-hero {
	margin-bottom: var(--space-10, 40px);
}

.page-contact-hero__inner {
	padding-top: var(--space-6, 24px);
}

.page-contact-hero__title {
	margin: 0;
	font-family: var(--typography-fontFamily-serif);
	font-size: var(--typography-fontSize-sectionTitle, 32px);
	font-weight: var(--typography-fontWeight-bold, 700);
	line-height: 2;
}

.page-contact-hero__subtitle {
	font-size: var(--typography-fontSize-tab, 16px);
	letter-spacing: 0.2em;
	color: var(--color-palette-gray-300, #dadada);
}

.page-contact__inner {
	margin-bottom: var(--space-20, 80px);
}

.page-contact-phone {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: var(--space-10, 40px);
	height: 240px;
	margin-bottom: var(--space-16, 64px);
	padding: var(--space-15, 60px) var(--space-8, 32px);
	border-radius: 20px;
	background: #f4f4f4;
}

.page-contact-phone__text {
	margin: 0;
	font-size: var(--typography-fontSize-nav, 14px);
	line-height: 2;
}

.page-contact-phone__divider {
	flex-shrink: 0;
	align-self: stretch;
	width: 1px;
	background: #d9d9d9;
}

.page-contact-phone__link {
	display: inline-flex;
	align-items: center;justify-content: center;
	gap: var(--space-3, 12px);
	color: inherit;
	text-decoration: none;
}

.page-contact-phone__link:hover {
	opacity: 0.8;
}

.page-contact-phone__icon {
	flex-shrink: 0;
	width: 32px;
	height: 32px;
}

.page-contact-phone__number {
	font-size: var(--typography-fontSize-sectionTitle2, 40px);
	font-weight: 900;
	letter-spacing: 0.02em;
	line-height: 1.2;
}

.page-contact-form {
	padding: var(--space-16, 64px) var(--space-10, 40px);
	border-radius: 20px;
	background: #f4f4f4;
}

.page-contact-form__body {
	max-width: 500px;
	margin: 0 auto;
}

.page-contact-form__fallback {
	margin: 0;
	font-size: var(--typography-fontSize-body, 16px);
	line-height: 2;
	text-align: center;
}

/* ==========================================================================
   13. Responsive
   ========================================================================== */
@media (max-width: 767px) {
	.site-header-boundary {
		margin-bottom: var(--space-10, 40px);
	}
	.page-concept-hero__layout {
		position: relative;
	}
	.page-concept-hero__media {
		position: absolute;top: -200px;right: 0;z-index: -1;
		width: 40%;
	}
	.page-media-story--media-left .page-media-story__media {
		width: 40%;
	}
	.page-concept-lifestyle {
		margin-bottom: var(--space-20, 80px);
		padding: var(--space-25, 100px) 0;
	}
	.page-concept-lifestyle__media {
		width: 40%;
	}
	.page-quality-section__title {
		font-size: 2.4rem;
	}
	.page-quality-section__label {
		font-size: 1.4rem;
	}
	.page-company-history__track {
		grid-template-columns: repeat(var(--history-slot-count, 9), minmax(0, 1fr));
		display: flex;
		gap: var(--space-6, 24px);
		overflow-x: auto;
		padding-bottom: var(--space-4, 16px);
		scroll-snap-type: x proximity;
		-webkit-overflow-scrolling: touch;
	}
	.page-company-history__track::before {
		top: calc(50% - 9px);
		left: 0;
		width: 1500px;
		height: 1px;
		background: var(--history-axis-color);
		pointer-events: none;
	}
	.page-media-story__title-line {
		display: block;margin: 0 ;
	}
	.page-model-house-flow__title ,
	.page-model-house-story .page-media-story__title {
		font-size: 22px;
	}
	.page-process-finance {
		padding: var(--space-25, 100px) 0;
		background: #f7f5ee;
	}
	.page-contact-phone {
		flex-direction: column;
		gap: var(--space-5, 20px);
		height: auto;
		padding: var(--space-8, 32px) var(--space-5, 20px);
		text-align: center;
	}

	.page-contact-phone__divider {
		align-self: center;
		width: 100%;
		max-width: 200px;
		height: 1px;
	}

	.page-contact-form {
		padding: var(--space-8, 32px) var(--space-5, 20px);
	}
}
