/* Page templates — extends tokens.css / main.css */

.page-hero {
	padding-top: 40px;
	padding-bottom: 28px;
}

/* Hire / Business & Talent — Figma frames 12:328 / 12:437. */
.page-hire--business-v1 {
	--hire-v1-ink: #1d2522;
	--hire-v1-muted: #65706a;
	--hire-v1-line: #e6e1d9;
	--hire-v1-blue: #ddeff8;
	--hire-v1-blue-soft: #eaf5fb;
	--hire-v1-paper: #fbfaf7;
	--hire-v1-media: #ece5da;
	background: #fff;
	color: var(--hire-v1-ink);
}

.page-hire--business-v1,
.page-hire--business-v1 * {
	box-sizing: border-box;
}

.hire-v1-wrap {
	width: min(100%, 1180px);
	margin: 0 auto;
	padding-inline: 40px;
}

.hire-business-hero {
	padding: 70px 0 64px;
	background: var(--hire-v1-blue);
}

.hire-business-hero .hire-v1-wrap,
.hire-v1-section .hire-v1-wrap,
.hire-v1-cta .hire-v1-wrap {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 24px;
}

.hire-business-hero .hire-v1-wrap {
	gap: 22px;
}

.hire-v1-kicker {
	margin: 0;
	color: var(--color-red);
	font-size: 12px;
	font-weight: 700;
	line-height: 1.5;
	text-transform: uppercase;
}

.hire-business-hero h1 {
	max-width: 720px;
	margin: 0;
	font-size: clamp(36px, 4.07vw, 48px);
	font-weight: 700;
	line-height: 1.5;
	letter-spacing: -0.035em;
}

.hire-v1-lead,
.hire-v1-boundary {
	max-width: 780px;
	margin: 0;
	color: var(--hire-v1-muted);
	font-size: 16px;
	line-height: 1.6;
}

.hire-v1-boundary {
	max-width: 820px;
	padding-left: 14px;
	border-left: 2px solid var(--color-red);
	font-size: 13px;
}

.hire-v1-primary {
	display: inline-flex;
	min-height: 47px;
	align-items: center;
	justify-content: center;
	padding: 12px 22px;
	border: 0;
	border-radius: 999px;
	background: var(--color-red);
	color: #fff;
	font-size: 14px;
	font-weight: 600;
	line-height: 1.5;
	text-decoration: none;
}

.hire-v1-section {
	padding: 56px 0;
	background: #fff;
}

.hire-v1-heading {
	display: flex;
	max-width: 820px;
	flex-direction: column;
	gap: 7px;
}

.hire-v1-heading h2,
.hire-v1-cta h2 {
	margin: 0;
	font-size: 34px;
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: -0.025em;
}

.hire-v1-heading > p:last-child,
.hire-v1-cta p {
	margin: 0;
	color: var(--hire-v1-muted);
	font-size: 14px;
	line-height: 1.7;
}

.hire-value-grid,
.hire-service-grid {
	display: grid;
	width: 100%;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 14px;
}

.hire-method-surface {
	display: flex;
	width: 100%;
	flex-direction: column;
	gap: 24px;
}

.hire-value-grid > a {
	display: flex;
	min-height: 132px;
	flex-direction: column;
	gap: 8px;
	padding: 18px;
	border: 1px solid var(--hire-v1-line);
	border-radius: 8px;
	color: var(--hire-v1-ink);
	text-decoration: none;
}

.hire-value-grid strong {
	font-size: 20px;
	line-height: 1.5;
}

.hire-value-grid span {
	color: var(--hire-v1-muted);
	font-size: 13px;
	line-height: 1.5;
}

.hire-value-grid em {
	margin-top: auto;
	font-size: 12px;
	font-style: normal;
	font-weight: 500;
}

.hire-talent-evidence {
	background: var(--hire-v1-blue-soft);
}

.hire-evidence-layout,
.hire-trust-layout {
	display: grid;
	width: 100%;
	grid-template-columns: minmax(0, 620px) minmax(0, 1fr);
	gap: 28px;
	align-items: stretch;
}

.hire-evidence-placeholder,
.hire-foundation-placeholder {
	display: flex;
	min-height: 350px;
	align-items: flex-start;
	padding: 14px;
	border-radius: 4px;
	background: #afcedb;
	color: var(--hire-v1-muted);
	font-size: 11px;
	font-weight: 500;
	line-height: 1.5;
}

.hire-evidence-rail {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 10px;
	padding: 20px;
	border: 1px solid var(--hire-v1-line);
	border-radius: 8px;
	background: #fff;
}

.hire-evidence-rail > a:not(.hire-v1-primary),
.hire-evidence-rail > span {
	color: var(--hire-v1-ink);
	font-size: 16px;
	font-weight: 500;
	line-height: 1.5;
	text-decoration: none;
}

.hire-evidence-rail > span[aria-disabled="true"] {
	color: var(--hire-v1-muted);
}

.hire-evidence-rail .hire-v1-primary {
	margin-top: 8px;
}

.hire-service-card {
	display: flex;
	min-width: 0;
	flex-direction: column;
	gap: 8px;
	padding: 16px;
	border: 1px solid var(--hire-v1-line);
	border-radius: 8px;
	background: #fff;
}

.hire-service-placeholder {
	display: flex;
	height: 130px;
	align-items: flex-start;
	padding: 14px;
	overflow: hidden;
	border-radius: 4px;
	background: var(--hire-v1-media);
	color: var(--hire-v1-muted);
	font-size: 11px;
}

.hire-service-card h3,
.hire-service-card p {
	margin: 0;
}

.hire-service-card h3 {
	font-size: 18px;
	line-height: 1.5;
}

.hire-service-card p {
	color: var(--hire-v1-muted);
	font-size: 12px;
	line-height: 1.7;
}

.hire-service-card a {
	margin-top: auto;
	color: var(--hire-v1-ink);
	font-size: 12px;
	font-weight: 500;
	text-decoration: none;
}

.hire-process-v1 {
	background: #fff;
}

.hire-process-steps {
	display: grid;
	width: 100%;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: 10px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.hire-process-steps li {
	display: flex;
	min-height: 90px;
	flex-direction: column;
	gap: 7px;
	padding: 14px;
	border: 1px solid var(--hire-v1-line);
	border-radius: 6px;
	background: var(--hire-v1-blue-soft);
	font-size: 14px;
	font-weight: 700;
	line-height: 1.5;
}

.hire-process-steps span {
	color: var(--color-red);
	font-size: 11px;
}

.hire-foundation-trust {
	background: var(--hire-v1-paper);
}

.hire-trust-layout {
	grid-template-columns: minmax(0, 540px) minmax(0, 1fr);
}

.hire-foundation-placeholder {
	min-height: 270px;
	background: #e8d8d8;
}

.hire-trust-facts {
	display: flex;
	margin: 0;
	flex-direction: column;
	gap: 8px;
	padding: 20px;
	border: 1px solid var(--hire-v1-line);
	border-radius: 6px;
	background: #fff;
}

.hire-trust-facts div {
	display: grid;
	grid-template-columns: minmax(120px, 0.42fr) 1fr;
	gap: 12px;
	font-size: 14px;
	line-height: 1.5;
}

.hire-trust-facts dt {
	color: var(--hire-v1-muted);
}

.hire-trust-facts dd {
	margin: 0;
	font-weight: 500;
}

.hire-v1-cta {
	padding: 50px 0;
	background: var(--hire-v1-blue);
}

.page-hire--business-v1 .hire-contact-section {
	padding: 56px 40px;
	background: #fff;
}

.page-hire--business-v1 .hire-contact-section.content-section--alt {
	background: var(--hire-v1-paper);
}

.page-hire--business-v1 .hire-contact-inner {
	width: min(100%, 880px);
	margin-inline: auto;
}

.page-hire--business-v1 .hire-contact-form {
	padding: 28px;
	border: 1px solid var(--hire-v1-line);
	background: #fff;
}

.hire-v1-primary:hover,
.hire-v1-primary:focus-visible {
	background: var(--color-red-deep);
	color: #fff;
}

.hire-value-grid > a:hover,
.hire-value-grid > a:focus-visible,
.hire-evidence-rail > a:not(.hire-v1-primary):hover,
.hire-evidence-rail > a:not(.hire-v1-primary):focus-visible,
.hire-service-card a:hover,
.hire-service-card a:focus-visible {
	color: var(--color-red);
}

@media (max-width: 767px) {
	.hire-v1-wrap {
		padding-inline: 18px;
	}

	.hire-business-hero,
	.hire-v1-section,
	.hire-v1-cta {
		padding-block: 38px;
	}

	.hire-business-hero .hire-v1-wrap,
	.hire-v1-section .hire-v1-wrap,
	.hire-v1-cta .hire-v1-wrap,
	.hire-v1-heading {
		gap: 14px;
	}

	.hire-v1-kicker {
		display: none;
	}

	.hire-business-hero h1,
	.hire-v1-heading h2,
	.hire-v1-cta h2 {
		max-width: 350px;
		font-size: 25px;
		line-height: 1.5;
		letter-spacing: -0.025em;
	}

	.hire-v1-lead,
	.hire-v1-heading > p:last-child,
	.hire-v1-cta p {
		font-size: 14px;
		line-height: 1.5;
	}

	.hire-v1-boundary {
		font-size: 12px;
	}

	.hire-value-grid {
		display: flex;
		flex-direction: column;
		gap: 12px;
	}

	.hire-value-grid > a {
		min-height: auto;
		padding: 0;
		border: 0;
		background: transparent;
	}

	.hire-value-grid > a strong {
		font-size: 15px;
	}

	.hire-value-grid > a span,
	.hire-value-grid > a em {
		display: none;
	}

	.hire-value-grid > a strong::after {
		content: " →";
	}

	.hire-evidence-layout,
	.hire-trust-layout {
		grid-template-columns: 1fr;
		gap: 14px;
	}

	.hire-evidence-placeholder {
		min-height: 230px;
	}

	.hire-evidence-rail {
		padding: 0;
		border: 0;
		background: transparent;
	}

	.hire-evidence-rail > a:not(.hire-v1-primary),
	.hire-evidence-rail > span {
		font-size: 14px;
	}

	.hire-service-grid {
		display: flex;
		flex-direction: column;
		gap: 12px;
	}

	.hire-service-card {
		padding: 0;
		border: 0;
		background: transparent;
	}

	.hire-service-placeholder,
	.hire-service-card p {
		display: none;
	}

	.hire-service-card h3 {
		font-size: 15px;
	}

	.hire-service-card a {
		font-size: 0;
	}

	.hire-service-card a::before {
		content: "相談入口 →";
		font-size: 13px;
	}

	.hire-process-steps {
		display: flex;
		flex-wrap: wrap;
		gap: 0;
	}

	.hire-process-steps li {
		display: inline;
		min-height: auto;
		padding: 0;
		border: 0;
		background: transparent;
		font-size: 13px;
		font-weight: 500;
	}

	.hire-process-steps li:not(:last-child)::after {
		content: " → ";
	}

	.hire-process-steps span {
		display: none;
	}

	.hire-foundation-placeholder {
		display: none;
	}

	.hire-trust-facts {
		padding: 0;
		border: 0;
		background: transparent;
	}

	.hire-trust-facts div {
		grid-template-columns: 1fr;
		gap: 2px;
	}

	.page-hire--business-v1 .hire-contact-section {
		padding: 38px 18px;
	}

	.page-hire--business-v1 .hire-contact-form {
		padding: 18px;
	}
}

.page-lead {
	max-width: var(--layout-reading);
	color: var(--color-charcoal-soft);
	margin-top: -4px;
	font-size: 16px;
	line-height: 1.8;
}

.page-body-text {
	max-width: var(--layout-reading);
	color: var(--color-charcoal-soft);
	margin-bottom: 16px;
	line-height: var(--line-height-body);
}

.page-section {
	padding: 0 0 32px;
}

.subsection-title {
	font-size: 20px;
	line-height: 1.5;
	font-weight: 900;
	margin-bottom: 14px;
}

/* Tabs */
.tab-panel {
	padding: 0 28px 44px;
}

.tab-list {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-bottom: 28px;
	border-bottom: 1px solid var(--color-line);
	padding-bottom: 12px;
}

.tab-btn {
	border: 1px solid var(--color-charcoal-soft);
	background: var(--color-cream);
	color: var(--color-charcoal);
	font-family: inherit;
	font-size: 16px;
	font-weight: 700;
	min-height: 52px;
	padding: 12px 18px;
	cursor: pointer;
}

.tab-btn.is-active {
	border: 2px solid var(--color-red);
	background: var(--color-art-tag-bg);
	color: var(--color-red-deep);
}

.tab-btn:focus-visible {
	outline: 2px solid var(--color-red);
	outline-offset: 2px;
}

.tab-content[hidden] {
	display: none;
}

/* Forms */
.form-section {
	margin-top: 36px;
	padding-top: 28px;
	border-top: 1px solid var(--color-line);
}

.form-section .wpcf7 {
	max-width: 640px;
}

.form-textarea,
.form-input,
.wpcf7 textarea,
.wpcf7 input[type="email"],
.wpcf7 input[type="tel"],
.wpcf7 input[type="text"],
.wpcf7 select {
	width: 100%;
	border: 1px solid var(--color-line);
	min-height: 48px;
	padding: 13px 14px;
	font-family: inherit;
	font-size: var(--font-size-body);
	margin-top: 6px;
	margin-bottom: 14px;
	background: var(--color-cream);
	border-radius: 0;
}

.wpcf7 input[type="submit"] {
	border: none;
	background: var(--color-red);
	color: var(--color-cream);
	font-family: inherit;
	font-size: var(--font-size-body);
	font-weight: 700;
	min-height: 48px;
	padding: 12px 24px;
	cursor: pointer;
}

.wpcf7 input[type="submit"]:focus-visible,
.wpcf7 textarea:focus-visible,
.wpcf7 input[type="email"]:focus-visible,
.wpcf7 input[type="tel"]:focus-visible,
.wpcf7 input[type="text"]:focus-visible {
	outline: 2px solid var(--color-red);
	outline-offset: 2px;
}

.wpcf7-radio .wpcf7-list-item {
	display: block;
	margin: 0 0 8px;
}

.wpcf7-radio .wpcf7-list-item label {
	display: flex;
	align-items: center;
	gap: 8px;
	min-height: 44px;
}

.wpcf7-not-valid-tip {
	color: var(--color-red);
	font-size: var(--font-size-caption);
}

.wpcf7-response-output {
	border-color: var(--color-line);
	margin: 16px 0 0;
	padding: 12px;
}

.form-placeholder {
	color: var(--color-charcoal-soft);
}

/* Payment info */
.payment-info {
	margin-bottom: 20px;
	padding: 16px;
	border: 1px solid var(--color-line);
	background: var(--color-cream);
}

.payment-label {
	display: block;
	font-size: 11px;
	font-weight: 700;
	color: var(--color-red);
	margin-bottom: 6px;
}

.payment-value {
	font-size: var(--font-size-body);
	line-height: var(--line-height-body);
}

.payment-link {
	margin-bottom: 10px;
}

.payment-link a {
	color: var(--color-red-deep);
	overflow-wrap: anywhere;
}

/* Category nav */
.category-nav {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-bottom: 20px;
}

.news-tag-chip.is-active {
	border-color: var(--color-red);
	color: var(--color-red-deep);
}

/* Foundation */
.foundation-section + .foundation-section {
	border-top: 1px solid var(--color-line);
}

.foundation-content,
.member-body,
.article-content {
	max-width: 760px;
	line-height: var(--line-height-body);
}

.member-grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 20px;
}

.member-card {
	border: 1px solid var(--color-line);
	background: var(--color-cream);
	padding: 20px;
}

.member-name {
	font-size: 17px;
	font-weight: 900;
	margin-bottom: 8px;
	overflow-wrap: anywhere;
	word-break: break-word;
}

.foundation-cta {
	padding-top: 0;
}

.foundation-cta .pillar-cta {
	max-width: 320px;
}

/* Article single */
.article-featured {
	margin: 0 0 20px;
	max-width: 760px;
}

.article-featured img {
	width: 100%;
	height: auto;
}

.article-single .art-date {
	margin-bottom: 16px;
}

.article-cta {
	margin-top: 28px;
	padding-top: 20px;
	border-top: 1px solid var(--color-line);
}

.article-cta .pillar-cta {
	max-width: 360px;
}

/* Placeholder */
.phase-placeholder {
	margin: 0 28px 36px;
	padding: 24px;
	border: 1px dashed var(--color-line);
	background: var(--color-cream);
	color: var(--color-charcoal-soft);
	text-align: center;
}

.tab-panel .phase-placeholder,
.page-section .phase-placeholder {
	margin-left: 0;
	margin-right: 0;
}

.entry-content p + p {
	margin-top: 1em;
}

/* Demo v2 inner pages */
.layout-wide,
.layout-default,
.layout-reading {
	width: 100%;
	margin-inline: auto;
}

.content-section {
	padding: 52px 28px;
}

.layout-wide {
	max-width: var(--layout-wide);
}

.layout-default {
	max-width: var(--layout-default);
}

.layout-reading {
	max-width: var(--layout-reading);
}

.region-source[hidden] {
	display: none !important;
}

.content-section--alt {
	background: var(--color-cream);
	border-top: 1px solid var(--color-line);
	border-bottom: 1px solid var(--color-line);
}

.page-hero {
	display: grid;
	gap: 20px;
}

.page-title {
	margin-bottom: 12px;
	font-size: 30px;
	line-height: 1.45;
}

.breadcrumb-list {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	list-style: none;
	padding: 0;
	margin: 0 0 12px;
	font-size: var(--font-size-caption);
	color: var(--color-charcoal-soft);
}

.breadcrumb-list li:not(:last-child)::after {
	content: "＞";
	margin-left: 6px;
	color: var(--color-line);
}

.breadcrumb-list a {
	color: var(--color-charcoal-soft);
	text-decoration: none;
}

.breadcrumb-list a:hover,
.breadcrumb-list a:focus-visible {
	color: var(--color-red);
}

.page-hero-photo,
.page-hero-media .media-frame {
	min-height: 0;
	aspect-ratio: 16 / 9;
	overflow: hidden;
}

.page-travel .tab-list,
.page-hire .tab-list {
	display: grid;
	grid-template-columns: 1fr 1fr;
	border-bottom: none;
	gap: 8px;
}

.page-travel .tab-btn,
.page-hire .tab-btn {
	width: 100%;
	text-align: center;
	min-height: 58px;
	padding: 15px 16px;
}

.info-card-grid {
	display: grid;
	gap: 20px;
}

.info-card-grid--2 {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.info-card-grid--3 {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.info-card-grid--4 {
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

.info-card,
.case-card,
.faq-item,
.contact-card {
	border: 1px solid var(--color-red-deep);
	background: var(--color-cream);
	padding: 22px;
	min-width: 0;
}

.info-card-grid--4 > .info-card {
	padding: 18px;
}

.info-card--flush {
	border-color: var(--color-line);
}

.card-num {
	width: 32px;
	height: 32px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: var(--color-red);
	color: var(--color-cream);
	font-weight: 900;
	font-size: 14px;
	margin-bottom: 10px;
}

.info-card-title,
.case-title,
.faq-q,
.chair-name {
	font-size: 17px;
	line-height: 1.55;
	font-weight: 900;
	margin: 8px 0;
	overflow-wrap: anywhere;
}

.info-card-body,
.case-body,
.faq-a,
.map-detail-body {
	color: var(--color-charcoal-soft);
	overflow-wrap: anywhere;
	line-height: 1.75;
}

.info-card-grid--4 .info-card-body,
.faq-a,
.map-detail-body {
	font-size: 15px;
	line-height: 1.68;
}

.inner-block + .inner-block {
	margin-top: 40px;
	padding-top: 32px;
	border-top: 1px solid var(--color-line);
}

.section-head {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	gap: 12px;
	flex-wrap: wrap;
}

.section-sub,
.content-note {
	color: var(--color-charcoal-soft);
	font-size: var(--font-size-caption);
	margin: 10px 0 18px;
	line-height: 1.7;
}

.section-more {
	color: var(--color-red);
	font-weight: 700;
	text-decoration: none;
	font-size: 14px;
}

.choice-list {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-bottom: 14px;
}

.choice-chip,
.map-pin {
	border: 1px solid var(--color-charcoal-soft);
	background: var(--color-cream);
	color: var(--color-charcoal);
	font-family: inherit;
	font-size: 14px;
	font-weight: 700;
	min-height: 44px;
	padding: 10px 14px;
	cursor: pointer;
	border-radius: 0;
}

.choice-chip.is-active,
.map-pin.is-active {
	border-color: var(--color-red);
	color: var(--color-red-deep);
}

.page-travel .choice-list .choice-chip {
	background: var(--color-base);
	border-color: var(--color-line);
	font-weight: 600;
}

.page-travel .choice-list .choice-chip.is-active {
	background: var(--color-cream);
	border-color: var(--color-red);
	font-weight: 700;
}

.page-travel--hub {
	--travel-sky: #edf7fb;
	--travel-sky-strong: #dfeff6;
	--travel-line: #d5e6ef;
	--travel-deep: #1f5e8f;
}

.page-travel--hub .travel-page-hero {
	padding-top: 28px;
	padding-bottom: 36px;
	background: var(--travel-sky);
}

.page-travel--hub .travel-page-hero-grid {
	display: grid;
	grid-template-columns: minmax(0, 0.92fr) minmax(0, 1.08fr);
	align-items: center;
	gap: clamp(24px, 4vw, 48px);
}

.page-travel--hub .travel-page-hero-copy {
	max-width: 520px;
}

.page-travel--hub .travel-page-hero-copy .page-title {
	margin-bottom: 14px;
	font-size: clamp(32px, 4vw, 48px);
	line-height: 1.28;
}

.page-travel--hub .travel-page-hero-copy .page-lead {
	margin-top: 0;
	margin-bottom: 0;
	font-size: 15px;
	line-height: 1.9;
}

.page-travel--hub .travel-page-hero-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin-top: 24px;
}

.page-travel--hub .travel-page-primary,
.page-travel--hub .travel-page-secondary {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	min-height: 44px;
	padding: 10px 18px;
	border: 1px solid var(--color-red);
	border-radius: 999px;
	font-size: 12px;
	font-weight: 700;
	text-decoration: none;
	transition: transform 160ms ease, background-color 160ms ease, border-color 160ms ease;
}

.page-travel--hub .travel-page-primary {
	background: var(--color-red);
	color: #fff;
}

.page-travel--hub .travel-page-secondary {
	background: #fff;
	color: var(--color-red-deep);
}

.page-travel--hub :is(.travel-page-primary, .travel-page-secondary):hover {
	transform: translateY(-1px);
}

.page-travel--hub .travel-page-secondary:hover {
	background: #fff5f6;
	border-color: var(--color-red-deep);
}

.page-travel--hub .travel-hero-media {
	position: relative;
	min-width: 0;
	min-height: 460px;
	overflow: hidden;
	border-radius: 8px;
}

.page-travel--hub .travel-hero-media .media-frame,
.page-travel--hub .travel-hero-media img {
	width: 100%;
	height: 100%;
	margin: 0;
}

.page-travel--hub .travel-hero-media img {
	object-fit: cover;
}

.page-travel--hub .travel-page-hero-media .page-hero-photo {
	min-height: 100%;
	aspect-ratio: auto;
}

.page-travel--hub .travel-handcopy {
	position: absolute;
	left: 7%;
	top: 11%;
	margin: 0;
	color: #fff;
	font-size: clamp(24px, 2.6vw, 38px);
	font-weight: 500;
	letter-spacing: 0.08em;
	line-height: 1.55;
	text-shadow: 0 2px 12px rgb(0 45 80 / 45%);
}

.page-travel--hub .travel-topic-section {
	padding-top: 18px;
	padding-bottom: 18px;
}

.page-travel--hub .travel-topic-rail {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 10px;
}

.page-travel--hub .travel-topic-link {
	display: grid;
	grid-template-columns: 76px minmax(0, 1fr) auto;
	align-items: center;
	gap: 11px;
	min-height: 78px;
	padding: 8px;
	background: #fff;
	border: 1px solid var(--travel-line);
	border-radius: 8px;
	color: inherit;
	text-decoration: none;
	transition: transform 160ms ease, border-color 160ms ease;
}

.page-travel--hub .travel-topic-link:hover {
	transform: translateY(-1px);
	border-color: #9fc9db;
}

.page-travel--hub .travel-topic-link .media-frame,
.page-travel--hub .travel-topic-link img {
	width: 76px;
	height: 60px;
	margin: 0;
	border-radius: 4px;
}

.page-travel--hub .travel-topic-link img {
	object-fit: cover;
}

.page-travel--hub .travel-topic-copy {
	display: grid;
	gap: 2px;
}

.page-travel--hub .travel-topic-copy small {
	color: var(--travel-deep);
	font-size: 11px;
	font-weight: 700;
	line-height: 1.4;
}

.page-travel--hub .travel-topic-copy strong,
.page-travel--hub .travel-topic-arrow {
	font-size: 13px;
}

.page-travel--hub .travel-guide-section,
.page-travel--hub .travel-itinerary-section,
.page-travel--hub .travel-inquiry-section {
	background: var(--travel-sky);
	border-top-color: var(--travel-line);
	border-bottom-color: var(--travel-line);
}

.page-travel--hub .travel-guide-grid,
.page-travel--hub .travel-support-grid {
	margin-top: 28px;
}

.page-travel--hub .travel-guide-card,
.page-travel--hub .travel-support-card {
	padding: 26px 24px;
	background: #fff;
	border: 1px solid var(--travel-line);
	border-radius: 8px;
}

.page-travel--hub .travel-guide-card .subsection-title,
.page-travel--hub .travel-support-card .subsection-title {
	margin-bottom: 10px;
}

.page-travel--hub .travel-guide-card .page-body-text,
.page-travel--hub .travel-support-card .page-body-text {
	margin-bottom: 0;
}

.page-travel--hub .travel-region-grid,
.page-travel--hub .travel-course-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 18px;
	margin-top: 28px;
}

.page-travel--hub .travel-region-card,
.page-travel--hub .travel-course-card {
	overflow: hidden;
	background: #fff;
	border: 1px solid var(--travel-line);
	border-radius: 8px;
}

.page-travel--hub .travel-region-photo,
.page-travel--hub .travel-course-photo,
.page-travel--hub .travel-region-photo.media-frame,
.page-travel--hub .travel-course-photo.media-frame {
	min-height: 0;
	aspect-ratio: 4 / 3;
	margin: 0;
}

.page-travel--hub .travel-region-photo img,
.page-travel--hub .travel-course-photo img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.page-travel--hub .travel-region-body,
.page-travel--hub .travel-course-body {
	padding: 18px 18px 20px;
}

.page-travel--hub .travel-region-topline {
	display: flex;
	align-items: baseline;
	gap: 10px;
	margin-bottom: 10px;
}

.page-travel--hub .travel-region-number {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 28px;
	height: 28px;
	background: var(--travel-sky);
	color: var(--travel-deep);
	border: 1px solid var(--travel-line);
	border-radius: 999px;
	font-size: 12px;
	font-weight: 800;
	flex: 0 0 auto;
}

.page-travel--hub .travel-region-topline .subsection-title,
.page-travel--hub .travel-course-body .subsection-title {
	margin-bottom: 0;
}

.page-travel--hub .travel-region-meta {
	margin: 0 0 10px;
	color: var(--travel-deep);
	font-size: 12px;
	font-weight: 700;
	line-height: 1.6;
}

.page-travel--hub .travel-region-body .page-body-text,
.page-travel--hub .travel-course-body .page-body-text {
	margin-bottom: 0;
}

.page-travel--hub .travel-inquiry-section .tab-panel {
	padding: 0 0 44px;
}

.page-travel--hub .travel-inquiry-section .tab-list {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 10px;
	margin-top: 28px;
	border-bottom: 0;
	padding-bottom: 0;
}

.page-travel--hub .travel-inquiry-section .tab-btn {
	width: 100%;
	min-height: 58px;
	padding: 15px 16px;
	text-align: center;
	background: #fff;
	border-color: var(--travel-line);
}

.page-travel--hub .travel-inquiry-section .tab-btn.is-active {
	border-width: 1px;
	border-color: var(--travel-deep);
	background: #fff;
	color: var(--travel-deep);
}

.page-travel--hub .travel-inquiry-section .tab-content {
	margin-top: 26px;
	padding: 28px;
	background: #fff;
	border: 1px solid var(--travel-line);
	border-radius: 8px;
}

#ukeire-flow .info-card {
	position: relative;
}

.choice-chip:focus-visible,
.map-pin:focus-visible,
.accordion-trigger:focus-visible,
.content-cta:focus-visible,
.page-travel--hub :is(.travel-page-primary, .travel-page-secondary, .travel-topic-link):focus-visible {
	outline: 2px solid var(--color-red);
	outline-offset: 2px;
}

.kg-map-wrap {
	position: relative;
	min-height: 280px;
	margin-bottom: 14px;
	border: 1px solid var(--color-line);
	overflow: hidden;
}

.kg-map,
.kg-map.media-frame,
.kg-map.photo-ph,
.media-frame.kg-map.photo-ph {
	min-height: 280px;
	width: 100%;
}

.map-pin {
	position: absolute;
	transform: translate(-50%, -50%);
	width: 44px;
	height: 44px;
	padding: 0;
	background: var(--color-red);
	color: var(--color-cream);
	border-color: var(--color-red-deep);
	z-index: 1;
}

.map-detail,
.course-detail {
	border: 1px solid var(--color-line);
	padding: 16px;
	background: var(--color-cream);
}

.map-detail-title {
	font-weight: 900;
	margin-bottom: 8px;
}

.region-meta {
	margin: 0 0 10px;
	padding-left: 18px;
	color: var(--color-charcoal-soft);
}

.content-cta,
.content-cta--pending {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	margin-top: 12px;
	min-height: 48px;
	padding: 12px 20px;
	font-size: 15px;
	background: var(--color-red);
	color: var(--color-cream);
	text-decoration: none;
	font-weight: 700;
	border: none;
}

.content-cta--pending {
	background: var(--color-cream);
	color: var(--color-charcoal-soft);
	border: 1px dashed var(--color-line);
}

.content-cta--block {
	display: flex;
	width: 100%;
}

.content-cta-wrap {
	margin-top: 16px;
}

.case-tag {
	display: inline-block;
	border: 1px solid var(--color-red);
	color: var(--color-red);
	font-size: var(--font-size-tag);
	font-weight: 700;
	padding: 2px 6px;
}

.table-scroll {
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
}

.compare-table {
	width: 100%;
	border-collapse: collapse;
	background: var(--color-cream);
	font-size: 14px;
	line-height: 1.65;
}

.compare-table caption {
	caption-side: bottom;
	text-align: left;
	padding-top: 8px;
	color: var(--color-charcoal-soft);
	font-size: var(--font-size-caption);
}

.compare-table th,
.compare-table td {
	border: 1px solid var(--color-line);
	padding: 14px;
	vertical-align: top;
	text-align: left;
	overflow-wrap: anywhere;
}

.compare-table thead th,
.compare-table tbody th {
	background: var(--color-base);
	font-weight: 700;
}

.accordion-trigger {
	width: 100%;
	text-align: left;
	border: 1px solid var(--color-red-deep);
	background: var(--color-cream);
	color: var(--color-charcoal);
	font-family: inherit;
	min-height: 52px;
	font-size: 15px;
	font-weight: 700;
	padding: 12px 14px;
	cursor: pointer;
}

.accordion-panel {
	border: 1px solid var(--color-line);
	border-top: 0;
	padding: 16px;
	margin-bottom: 10px;
	font-size: 15px;
	line-height: 1.68;
}

.chair-block {
	display: grid;
	grid-template-columns: 220px minmax(0, 1fr);
	gap: 24px;
	align-items: start;
}

.chair-block:not(:has(.chair-photo)) {
	grid-template-columns: minmax(0, 1fr);
}

.chair-photo img,
.member-avatar img,
.activity-photo img {
	width: 100%;
	height: auto;
	display: block;
}

.chair-photo,
.member-avatar,
.media-frame.photo-ph {
	min-height: 140px;
}

.page-hero-photo img,
.page-hero-media .media-frame img,
.activity-photo img {
	width: 100%;
	height: 100%;
	display: block;
	object-fit: cover;
}

.page-hero-photo img[src*="/travel-hero.jpg"] {
	object-position: center 64%;
}

.page-hero-photo img[src*="/education-exchange.jpg"] {
	object-position: center 58%;
}

.activity-photo {
	min-height: 0;
	aspect-ratio: 4 / 3;
	overflow: hidden;
}

.activity-photo img[src*="/education-exchange.jpg"] {
	object-position: center 55%;
}

.activity-photo img[src*="/cooking-training.jpg"] {
	object-position: center 58%;
}

.activity-photo img[src*="/horse-riding.jpg"] {
	object-position: center 34%;
}

.activity-photo img[src*="/culture-exchange.jpg"] {
	object-position: center 52%;
}

.chair-role,
.member-role {
	color: var(--color-red);
	font-size: var(--font-size-caption);
	font-weight: 700;
	margin: 0;
}

.report-list {
	list-style: none;
	padding: 0;
	margin: 0;
}

.report-list li {
	display: grid;
	grid-template-columns: 90px minmax(0, 1fr);
	gap: 12px;
	padding: 16px 0;
	border-bottom: 1px solid var(--color-line);
}

.report-date {
	color: var(--color-charcoal-soft);
	font-size: var(--font-size-caption);
}

.map-placeholder {
	min-height: 180px;
	margin-top: 12px;
}

.contact-card {
	font-style: normal;
}

.about-link-list {
	list-style: none;
	padding: 0;
	margin: 0;
}

.about-link-list li + li {
	margin-top: 10px;
}

.about-link {
	color: var(--color-red-deep);
	text-decoration: none;
	border-bottom: 1px solid var(--color-line);
}

.about-link--pending {
	color: var(--color-charcoal-soft);
}

.wpcf7 input[type="email"]:focus-visible,
.wpcf7 input[type="text"]:focus-visible,
.wpcf7 select:focus-visible {
	outline: 2px solid var(--color-red);
	outline-offset: 2px;
}

/* Hire page Phase 1 */
.page-hire--phase1 {
	background: var(--color-base);
}

.page-hire--phase1 section[id] {
	scroll-margin-top: 24px;
}

.hire-hero {
	display: grid;
	grid-template-columns: 1.05fr 0.95fr;
	min-height: 590px;
	background: var(--color-red-deep);
	color: var(--color-cream);
}

.hire-hero-content {
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: 48px clamp(32px, 5vw, 72px);
}

.breadcrumb--light .breadcrumb-list,
.breadcrumb--light .breadcrumb-list a {
	color: var(--color-hero-copy-s);
}

.hire-hero-label {
	width: fit-content;
	margin: 8px 0 20px;
	padding: 7px 10px;
	background: var(--color-cream);
	color: var(--color-red-deep);
	border-left: 4px solid var(--color-gold);
	font-size: 12px;
	font-weight: 900;
	letter-spacing: 0.08em;
}

.hire-hero h1 {
	max-width: 650px;
	font-size: clamp(32px, 3.6vw, 46px);
	line-height: 1.42;
	letter-spacing: 0.01em;
}

.hire-hero-lead {
	max-width: 620px;
	margin-top: 22px;
	color: var(--color-hero-copy-s);
	font-size: 17px;
	line-height: 1.9;
}

.hire-hero-note {
	max-width: 620px;
	margin-top: 16px;
	padding-left: 14px;
	border-left: 2px solid var(--color-gold-pale);
	font-size: 13px;
	line-height: 1.75;
}

.hire-hero-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-top: 26px;
}

.hire-hero-actions .btn-primary {
	margin-top: 0;
}

.hire-hero-photo,
.hire-hero-photo.media-frame {
	min-height: 590px;
	overflow: hidden;
}

.hire-hero-photo img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center 54%;
}

.page-hire--phase1 .content-section {
	padding-top: 76px;
	padding-bottom: 76px;
}

.hire-section-intro,
.hire-section-lead {
	max-width: 760px;
	margin-top: -12px;
	margin-bottom: 30px;
	color: var(--color-charcoal-soft);
	font-size: 16px;
	line-height: 1.85;
}

.hire-split {
	display: grid;
	grid-template-columns: 0.92fr 1.08fr;
	align-items: stretch;
	border-top: 2px solid var(--color-red);
	border-bottom: 1px solid var(--color-line);
}

.hire-section-photo,
.hire-section-photo.media-frame {
	min-height: 470px;
	overflow: hidden;
}

.hire-section-photo img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center 57%;
}

.hire-split-content {
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: 48px;
}

.hire-check-list {
	list-style: none;
	padding: 0;
	margin: 0;
	border-top: 1px solid var(--color-line);
}

.hire-check-list li {
	position: relative;
	padding: 15px 0 15px 28px;
	border-bottom: 1px solid var(--color-line);
	font-size: 14px;
	font-weight: 700;
	line-height: 1.65;
}

.hire-check-list li::before {
	content: "";
	position: absolute;
	top: 22px;
	left: 2px;
	width: 11px;
	height: 6px;
	border-left: 2px solid var(--color-red);
	border-bottom: 2px solid var(--color-red);
	transform: rotate(-45deg);
}

.hire-purpose-grid,
.hire-program-grid,
.hire-method-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1px;
	background: var(--color-red-deep);
	border: 1px solid var(--color-red-deep);
}

.hire-purpose-card {
	display: flex;
	flex-direction: column;
	min-height: 260px;
	padding: 28px;
	background: var(--color-cream);
	color: var(--color-charcoal);
	text-decoration: none;
}

.hire-card-num {
	color: var(--color-gold-deep);
	font-size: 12px;
	font-weight: 900;
	letter-spacing: 0.12em;
}

.hire-purpose-card h3,
.hire-program-card h3,
.hire-role-card h3,
.hire-method-card h3,
.hire-process-step h3 {
	font-size: 19px;
	line-height: 1.55;
	font-weight: 900;
}

.hire-purpose-card h3 {
	margin: 14px 0 10px;
}

.hire-purpose-card p,
.hire-program-card p,
.hire-role-card > p:last-child,
.hire-process-step p {
	color: var(--color-charcoal-soft);
	font-size: 14px;
	line-height: 1.75;
}

.hire-card-link {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	width: fit-content;
	margin-top: auto;
	padding-top: 20px;
	color: var(--color-red-deep);
	font-weight: 900;
}

.hire-purpose-card:hover .hire-card-link,
.hire-purpose-card:focus-visible .hire-card-link {
	color: var(--color-red);
}

.hire-program-card {
	display: grid;
	grid-template-columns: 0.85fr 1.15fr;
	min-height: 300px;
	background: var(--color-cream);
}

.hire-program-photo,
.hire-program-photo.media-frame {
	min-height: 300px;
	overflow: hidden;
}

.hire-program-photo img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.hire-program-body {
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: 26px;
}

.hire-program-tag {
	width: fit-content;
	margin-bottom: 12px;
	padding: 5px 8px;
	background: var(--color-gold-soft);
	color: var(--color-gold-deep);
	border: 1px solid var(--color-gold-line);
	font-size: 11px;
	font-weight: 900;
	letter-spacing: 0.08em;
}

.hire-program-card h3 {
	margin-bottom: 10px;
}

.hire-model-section {
	background: var(--color-red-deep);
	color: var(--color-cream);
}

.hire-model-section .section-eyebrow {
	color: var(--color-gold-pale);
}

.hire-model-section .hire-section-intro {
	color: var(--color-hero-copy-s);
}

.hire-role-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 1px;
	background: color-mix(in srgb, var(--color-cream) 45%, transparent);
	border: 1px solid color-mix(in srgb, var(--color-cream) 45%, transparent);
}

.hire-role-card {
	position: relative;
	min-height: 280px;
	padding: 30px;
	background: var(--color-red-deep);
}

.hire-role-index {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	margin-bottom: 30px;
	background: var(--color-gold-pale);
	color: var(--color-red-deep);
	font-size: 13px;
	font-weight: 900;
}

.hire-role-label {
	margin-bottom: 8px;
	color: var(--color-gold-pale);
	font-size: 12px;
	font-weight: 900;
	letter-spacing: 0.1em;
}

.hire-role-card > p:last-child {
	margin-top: 12px;
	color: var(--color-hero-copy-s);
}

.hire-model-note {
	margin-top: 24px;
	padding: 16px 18px;
	border-left: 2px solid var(--color-gold-pale);
	color: var(--color-hero-copy-s);
	font-size: 13px;
	line-height: 1.75;
}

.hire-method-card {
	padding: 28px;
	background: var(--color-cream);
}

.hire-method-card h3 {
	margin-bottom: 18px;
	padding-bottom: 12px;
	border-bottom: 2px solid var(--color-red);
}

.hire-method-card dl,
.hire-method-card dd {
	margin: 0;
}

.hire-method-card dl > div + div {
	margin-top: 16px;
}

.hire-method-card dt {
	margin-bottom: 4px;
	color: var(--color-red-deep);
	font-size: 12px;
	font-weight: 900;
}

.hire-method-card dd {
	color: var(--color-charcoal-soft);
	font-size: 14px;
	line-height: 1.7;
}

.hire-legal-note {
	margin-top: 20px;
	margin-bottom: 0;
}

.hire-process-list {
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	border-top: 1px solid var(--color-red-deep);
	border-bottom: 1px solid var(--color-red-deep);
}

.hire-process-step {
	position: relative;
	min-height: 250px;
	padding: 24px 20px;
	border-right: 1px solid var(--color-line);
}

.hire-process-step:last-child {
	border-right: 0;
}

.hire-process-step > span {
	display: block;
	margin-bottom: 34px;
	color: var(--color-gold-deep);
	font-size: 12px;
	font-weight: 900;
	letter-spacing: 0.12em;
}

.hire-process-step h3 {
	font-size: 16px;
	margin-bottom: 10px;
}

.hire-faq-list {
	border-top: 1px solid var(--color-red-deep);
}

.hire-faq-item {
	border-bottom: 1px solid var(--color-line);
	background: var(--color-cream);
}

.hire-faq-item summary {
	position: relative;
	padding: 22px 54px 22px 22px;
	cursor: pointer;
	font-size: 16px;
	font-weight: 900;
	list-style: none;
}

.hire-faq-item summary::-webkit-details-marker {
	display: none;
}

.hire-faq-item summary::after {
	content: "+";
	position: absolute;
	top: 18px;
	right: 22px;
	color: var(--color-red);
	font-size: 24px;
}

.hire-faq-item[open] summary::after {
	content: "−";
}

.hire-faq-item p {
	padding: 0 22px 24px;
	color: var(--color-charcoal-soft);
	line-height: 1.8;
}

.hire-contact-section {
	background: var(--color-red-deep);
	color: var(--color-cream);
	padding: 78px 28px 86px;
}

.hire-contact-inner > .section-eyebrow {
	color: var(--color-gold-pale);
}

.hire-contact-lead {
	max-width: 680px;
	margin-top: -10px;
	color: var(--color-hero-copy-s);
	line-height: 1.85;
}

.hire-contact-form {
	margin-top: 30px;
	padding: 32px;
	background: var(--color-cream);
	color: var(--color-charcoal);
}

.hire-contact-form .wpcf7 {
	max-width: none;
}

.hire-hero a:focus-visible,
.hire-purpose-card:focus-visible,
.hire-faq-item summary:focus-visible {
	outline: 2px solid var(--color-red);
	outline-offset: 3px;
}

@media (min-width: 1440px) {
	.content-section {
		padding-left: max(28px, calc((100% - var(--layout-wide)) / 2));
		padding-right: max(28px, calc((100% - var(--layout-wide)) / 2));
	}

	.page-hero.section {
		padding-left: max(28px, calc((100% - var(--layout-wide)) / 2));
		padding-right: max(28px, calc((100% - var(--layout-wide)) / 2));
	}
}

@media (max-width: 1100px) {
	.info-card-grid--4 {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.page-travel--hub .travel-topic-rail,
	.page-travel--hub .travel-region-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.hire-process-list {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.hire-process-step:nth-child(3) {
		border-right: 0;
	}

	.hire-process-step:nth-child(n + 4) {
		border-top: 1px solid var(--color-line);
	}
}

@media (max-width: 900px) {
	.info-card-grid--3,
	.chair-block {
		grid-template-columns: 1fr;
	}

	.page-travel--hub .travel-page-hero-grid,
	.page-travel--hub .travel-course-grid {
		grid-template-columns: 1fr;
	}

	.page-travel--hub .travel-page-hero-copy {
		max-width: none;
	}

	.page-travel--hub .travel-hero-media {
		min-height: 360px;
		order: -1;
	}

	.report-list li {
		grid-template-columns: 1fr;
	}

	.hire-hero,
	.hire-split {
		grid-template-columns: 1fr;
	}

	.hire-hero-photo,
	.hire-hero-photo.media-frame {
		min-height: 360px;
		order: -1;
	}

	.hire-section-photo,
	.hire-section-photo.media-frame {
		min-height: 340px;
	}

	.hire-role-grid {
		grid-template-columns: 1fr;
	}

	.hire-role-card {
		min-height: 0;
	}
}

@media (max-width: 767px) {
	.info-card-grid--2,
	.info-card-grid--4 {
		grid-template-columns: 1fr;
	}

	.page-travel--hub .travel-topic-rail,
	.page-travel--hub .travel-region-grid {
		grid-template-columns: 1fr;
	}

	.page-travel--hub .travel-inquiry-section .tab-list {
		grid-template-columns: 1fr;
	}

	.page-travel .tab-list,
	.page-hire .tab-list {
		grid-template-columns: 1fr;
	}

	.tab-list {
		flex-direction: column;
	}

	.tab-btn {
		width: 100%;
		text-align: left;
	}

	[data-compare-table] {
		display: none;
	}

	[data-compare-accordion] {
		display: block;
	}

	.hire-purpose-grid,
	.hire-program-grid,
	.hire-method-grid,
	.hire-process-list {
		grid-template-columns: 1fr;
	}

	.hire-program-card {
		grid-template-columns: 1fr;
	}

	.hire-program-photo,
	.hire-program-photo.media-frame {
		min-height: 230px;
	}

	.hire-process-step,
	.hire-process-step:nth-child(3) {
		min-height: 0;
		border-right: 0;
		border-top: 1px solid var(--color-line);
	}

	.hire-process-step:first-child {
		border-top: 0;
	}

	.hire-process-step > span {
		margin-bottom: 18px;
	}
}

@media (min-width: 768px) {
	[data-compare-accordion] {
		display: none;
	}
}

@media (max-width: 900px) {
	.member-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 480px) {
	.content-section,
	.tab-panel,
	.phase-placeholder {
		padding-left: 18px;
		padding-right: 18px;
	}

	.layout-wide .tab-panel {
		padding-left: 0;
		padding-right: 0;
	}

	.page-section .phase-placeholder,
	.tab-panel .phase-placeholder {
		padding-left: 18px;
		padding-right: 18px;
	}

	.compare-table {
		min-width: 0;
	}

	.content-section {
		padding-top: 38px;
		padding-bottom: 38px;
	}

	.page-hire--phase1 .content-section {
		padding-top: 52px;
		padding-bottom: 52px;
	}

	.hire-hero-content {
		padding: 32px 20px 36px;
	}

	.hire-hero h1 {
		font-size: 28px;
	}

	.hire-hero-lead {
		font-size: 15px;
	}

	.hire-hero-actions {
		flex-direction: column;
	}

	.hire-hero-actions .btn-primary,
	.hire-hero-actions .btn-secondary {
		justify-content: center;
		width: 100%;
	}

	.hire-hero-photo,
	.hire-hero-photo.media-frame {
		min-height: 245px;
	}

	.hire-section-photo,
	.hire-section-photo.media-frame {
		min-height: 240px;
	}

	.hire-split-content {
		padding: 30px 0 0;
	}

	.hire-purpose-card,
	.hire-method-card,
	.hire-role-card {
		padding: 22px;
	}

	.hire-purpose-card {
		min-height: 235px;
	}

	.hire-program-body {
		padding: 22px;
	}

	.hire-contact-section {
		padding: 54px 18px 62px;
	}

	.hire-contact-form {
		padding: 22px 18px;
	}

	.hire-contact-section .section-title {
		font-size: 22px;
	}

	.page-hero {
		padding-top: 30px;
		padding-bottom: 24px;
	}

	.page-travel--hub .travel-page-hero {
		padding-top: 24px;
		padding-bottom: 28px;
	}

	.page-travel--hub .travel-page-hero-copy .page-title {
		font-size: 29px;
	}

	.page-travel--hub .travel-page-hero-actions {
		flex-direction: column;
		align-items: stretch;
	}

	.page-travel--hub .travel-page-primary,
	.page-travel--hub .travel-page-secondary {
		justify-content: center;
		width: 100%;
	}

	.page-travel--hub .travel-hero-media {
		min-height: 248px;
	}

	.page-travel--hub .travel-topic-link {
		grid-template-columns: 66px minmax(0, 1fr) auto;
		min-height: 70px;
		padding: 7px;
	}

	.page-travel--hub .travel-topic-link .media-frame,
	.page-travel--hub .travel-topic-link img {
		width: 66px;
		height: 52px;
	}

	.page-travel--hub .travel-guide-card,
	.page-travel--hub .travel-support-card,
	.page-travel--hub .travel-inquiry-section .tab-content {
		padding: 20px 18px;
	}

	.page-travel--hub .travel-region-body,
	.page-travel--hub .travel-course-body {
		padding: 16px;
	}

	.page-travel--hub .travel-handcopy {
		top: 9%;
		left: 6%;
		font-size: 22px;
	}

	.page-title {
		font-size: 25px;
	}

	.page-travel .tab-btn,
	.page-hire .tab-btn {
		min-height: 56px;
		text-align: center;
	}

	#ukeire-flow .info-card-grid {
		gap: 24px;
	}

	.page-hire .inner-block + .inner-block {
		margin-top: 30px;
		padding-top: 24px;
	}

	.page-hire .info-card {
		padding: 18px;
	}

	#ukeire-flow .info-card {
		display: grid;
		grid-template-columns: 40px minmax(0, 1fr);
		column-gap: 10px;
	}

	#ukeire-flow .card-num {
		grid-row: 1 / 3;
		margin-bottom: 0;
	}

	#ukeire-flow .info-card-title {
		margin-top: 0;
	}

	#ukeire-flow .info-card-body {
		grid-column: 2;
		line-height: 1.7;
	}

	#ukeire-flow .info-card:not(:last-child)::after {
		content: "";
		position: absolute;
		left: 36px;
		bottom: -25px;
		width: 2px;
		height: 24px;
		background: var(--color-red);
	}

	.member-grid {
		grid-template-columns: 1fr;
		gap: 12px;
	}

	.member-card {
		display: grid;
		grid-template-columns: 112px minmax(0, 1fr);
		grid-template-rows: auto auto;
		column-gap: 12px;
		row-gap: 4px;
		align-items: start;
		align-content: start;
		padding: 16px;
	}

	.member-avatar,
	.member-card > .media-frame {
		grid-row: 1 / 3;
		align-self: start;
	}

	.member-avatar,
	.member-avatar .media-frame,
	.member-avatar .photo-ph,
	.member-card > .media-frame,
	.member-card > .media-frame.photo-ph {
		min-height: 112px;
		height: auto;
	}

	.member-name {
		margin-top: 0;
		margin-bottom: 4px;
		font-size: 16px;
		line-height: 1.4;
	}

	.page-foundation .content-section {
		padding-top: 30px;
		padding-bottom: 30px;
	}

	.page-foundation #aisatsu,
	.page-foundation #torikumi,
	.page-foundation #soshiki {
		padding-top: 32px;
		padding-bottom: 32px;
	}

	.page-foundation #jisseki,
	.page-foundation #access,
	.page-foundation #faq,
	.page-foundation #contact {
		padding-top: 24px;
		padding-bottom: 24px;
	}

	.page-foundation #kifu,
	.page-foundation #about-site {
		padding-top: 20px;
		padding-bottom: 20px;
	}

	.page-foundation #jisseki .section-title,
	.page-foundation #access .section-title,
	.page-foundation #kifu .section-title,
	.page-foundation #about-site .section-title,
	.page-foundation #faq .section-title {
		margin-bottom: 16px;
	}
}

/*
 * Hire page visual cleanup — Issue #35 P1-2 / Issue #38.
 * Remove Phase 2 large yellow surfaces. Keep photos, copy, and CTA paths.
 * New red uses --color-red. Small accent may use --top-yellow only.
 */
body.page-template-page-hire .page-hire--phase1 {
	background: var(--color-base);
}

body.page-template-page-hire .hire-hero {
	background: var(--color-cream);
	color: var(--color-charcoal);
}

body.page-template-page-hire .breadcrumb--light .breadcrumb-list,
body.page-template-page-hire .breadcrumb--light .breadcrumb-list a {
	color: var(--color-charcoal-soft);
}

body.page-template-page-hire .hire-hero-label {
	background: transparent;
	color: var(--color-red-deep);
	border-left-color: var(--top-yellow);
}

body.page-template-page-hire .hire-hero h1 {
	color: var(--color-red);
}

body.page-template-page-hire .hire-hero-lead {
	color: var(--color-charcoal-soft);
}

body.page-template-page-hire .hire-hero-note {
	padding: 12px 14px;
	background: var(--top-red-soft);
	border-left-color: var(--color-red);
	color: var(--color-charcoal);
}

body.page-template-page-hire .hire-hero-actions .btn-primary {
	background: var(--color-red);
	color: var(--color-cream);
}

body.page-template-page-hire .hire-hero-actions .btn-secondary {
	background: var(--color-cream);
	color: var(--color-red-deep);
	border-color: var(--color-red);
}

body.page-template-page-hire .hire-hero-photo,
body.page-template-page-hire .hire-hero-photo.media-frame {
	padding: 0;
	background: transparent;
}

body.page-template-page-hire .section-eyebrow {
	display: flex;
	align-items: center;
	gap: 8px;
	color: var(--color-red);
}

body.page-template-page-hire .section-eyebrow::before {
	content: "";
	width: 10px;
	height: 2px;
	flex: 0 0 10px;
	background: var(--top-yellow);
}

body.page-template-page-hire .hire-foundation-section,
body.page-template-page-hire .hire-program-section,
body.page-template-page-hire .hire-method-section,
body.page-template-page-hire .hire-faq-section {
	background: var(--color-cream);
}

body.page-template-page-hire .hire-purpose-section {
	background: var(--color-bg-warm);
}

body.page-template-page-hire .hire-purpose-grid,
body.page-template-page-hire .hire-program-grid,
body.page-template-page-hire .hire-method-grid {
	gap: 12px;
	background: transparent;
	border: 0;
}

body.page-template-page-hire .hire-purpose-card,
body.page-template-page-hire .hire-program-card,
body.page-template-page-hire .hire-method-card {
	border: 1px solid var(--color-line);
}

body.page-template-page-hire .hire-purpose-card {
	background: var(--color-cream);
}

body.page-template-page-hire .hire-card-num {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 34px;
	height: 34px;
	background: var(--color-red);
	color: var(--color-cream);
}

body.page-template-page-hire .hire-program-tag {
	background: var(--top-yellow-soft);
	color: var(--color-charcoal);
	border-color: var(--top-yellow);
}

body.page-template-page-hire .hire-model-section {
	background: var(--top-red-soft);
	color: var(--color-charcoal);
}

body.page-template-page-hire .hire-model-section .section-eyebrow,
body.page-template-page-hire .hire-role-label {
	color: var(--color-red);
}

body.page-template-page-hire .hire-model-section .hire-section-intro,
body.page-template-page-hire .hire-role-card > p:last-child,
body.page-template-page-hire .hire-model-note {
	color: var(--color-charcoal-soft);
}

body.page-template-page-hire .hire-role-grid {
	gap: 12px;
	background: transparent;
	border: 0;
}

body.page-template-page-hire .hire-role-card {
	background: var(--color-cream);
	border: 1px solid var(--color-line);
}

body.page-template-page-hire .hire-role-index {
	background: var(--color-red);
	color: var(--color-cream);
}

body.page-template-page-hire .hire-model-note {
	background: var(--color-cream);
	border-left-color: var(--color-red);
}

body.page-template-page-hire .hire-method-card h3 {
	border-bottom-color: var(--color-red);
}

body.page-template-page-hire .hire-process-section {
	background: var(--color-bg-warm);
}

body.page-template-page-hire .hire-process-list {
	background: var(--color-cream);
	border-top-color: var(--color-red);
	border-bottom-color: var(--color-red);
}

body.page-template-page-hire .hire-process-step > span {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	background: var(--color-red);
	color: var(--color-cream);
}

body.page-template-page-hire .hire-faq-list {
	border-top-color: var(--color-red);
}

body.page-template-page-hire .hire-contact-section {
	background: var(--top-red-soft);
	color: var(--color-charcoal);
	border-top: 1px solid var(--color-line);
}

body.page-template-page-hire .hire-contact-inner > .section-eyebrow {
	color: var(--color-red);
}

body.page-template-page-hire .hire-contact-lead {
	color: var(--color-charcoal-soft);
}

body.page-template-page-hire .hire-contact-form {
	border-top: 2px solid var(--color-red);
}

body.page-template-page-hire .wpcf7 input[type="submit"] {
	background: var(--color-red);
}

@media (max-width: 900px) {
	body.page-template-page-hire .hire-hero-photo,
	body.page-template-page-hire .hire-hero-photo.media-frame {
		order: 0;
		padding: 0;
	}
}

@media (max-width: 480px) {
	body.page-template-page-hire .hire-role-grid,
	body.page-template-page-hire .hire-purpose-grid,
	body.page-template-page-hire .hire-program-grid,
	body.page-template-page-hire .hire-method-grid {
		gap: 12px;
	}
}

/* Support — Safe Public Scope (minimal) */
.page-support .support-methods,
.page-support .support-areas,
.page-support .support-payment {
	padding-left: 28px;
	padding-right: 28px;
}

.page-support #support-tabs {
	scroll-margin-top: 12px;
}

.page-support .support-methods-list {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 12px;
	list-style: none;
	margin: 0;
	padding: 0;
}

.page-support .support-method {
	display: flex;
	flex-direction: column;
	gap: 6px;
	min-height: 88px;
	padding: 16px;
	border: 1px solid var(--color-line);
	background: var(--color-white, #fff);
	color: inherit;
	text-decoration: none;
}

.page-support a.support-method:hover,
.page-support a.support-method:focus-visible {
	border-color: var(--color-red);
}

.page-support a.support-method:focus-visible {
	outline: 2px solid var(--color-red);
	outline-offset: 2px;
}

.page-support .support-method strong {
	font-size: 18px;
	font-weight: 900;
	line-height: 1.4;
}

.page-support .support-method span {
	color: var(--color-charcoal-soft);
	font-size: 14px;
	line-height: 1.5;
}

.page-support .support-method--pending {
	background: var(--color-cream);
	color: var(--color-charcoal-soft);
}

.page-support .support-area-tags {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	list-style: none;
	margin: 0;
	padding: 0;
}

.page-support .support-area-tags li {
	padding: 8px 12px;
	border: 1px solid var(--color-line);
	background: var(--color-cream);
	font-size: 14px;
	font-weight: 700;
	line-height: 1.4;
}

.page-support .support-panel-lead {
	margin-bottom: 8px;
}

.page-support .support-payment {
	padding-bottom: 44px;
}

.page-support .support-payment .payment-info-pending {
	margin: 0;
}

@media (max-width: 900px) {
	.page-support .support-methods-list {
		grid-template-columns: 1fr;
	}

	.page-support .support-method {
		min-height: 0;
	}
}

/* Travel Hub Figma convergence — frames 10:3 / 10:224. */
.page-travel--hub {
	--travel-sky: #eaf5fb;
	--travel-sky-strong: #ddeff8;
	--travel-warm: #fff5e5;
	--travel-rose: #fce9ea;
	--travel-line: #e6e1d9;
	--travel-text: #1d2522;
	--travel-muted: #65706a;
}

.page-travel--hub .content-section,
.page-travel--hub .page-hero.section { padding: 40px; }
.page-travel--hub .layout-wide { width: 100%; max-width: 1100px; }
.page-travel--hub .travel-page-hero { padding: 0; background: var(--travel-sky); }
.page-travel--hub .travel-page-hero .layout-wide { max-width: 1180px; }
.page-travel--hub .travel-page-hero-grid {
	grid-template-columns: 460px minmax(0, 720px);
	gap: 0;
	align-items: stretch;
}
.page-travel--hub .travel-page-hero-copy {
	display: flex;
	flex-direction: column;
	justify-content: center;
	max-width: none;
	min-height: 470px;
	padding: 48px;
}
.page-travel--hub .travel-page-hero-copy .breadcrumb { display: none; }
.page-travel--hub .travel-page-hero-copy .page-title {
	max-width: 404px;
	margin: 0 0 14px;
	color: var(--travel-text);
	font-size: 48px;
	line-height: 1.18;
}
.page-travel--hub .travel-page-hero-copy .page-lead {
	max-width: 390px;
	color: var(--travel-muted);
	font-size: 15px;
	line-height: 1.5;
}
.page-travel--hub .travel-page-hero-actions { gap: 10px; margin-top: 20px; }
.page-travel--hub .travel-page-primary,
.page-travel--hub .travel-page-secondary {
	min-height: 48px;
	padding: 12px 22px;
	border-radius: 999px;
	font-size: 14px;
	font-weight: 500;
}
.page-travel--hub .travel-hero-media { min-height: 470px; border-radius: 4px; }
.page-travel--hub .travel-guide-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 14px;
	margin-top: 24px;
}
.page-travel--hub .travel-guide-card {
	display: flex;
	flex-direction: column;
	gap: 8px;
	padding: 16px;
	color: var(--travel-text);
	text-decoration: none;
}
.page-travel--hub .travel-guide-photo,
.page-travel--hub .travel-guide-photo.media-frame {
	width: 100%;
	min-height: 130px;
	margin: 0;
	border-radius: 4px;
	overflow: hidden;
}
.page-travel--hub .travel-guide-photo img { width: 100%; height: 130px; object-fit: cover; }
.page-travel--hub .travel-guide-card strong { font-size: 17px; }
.page-travel--hub .travel-guide-card small { color: var(--travel-muted); font-size: 12px; }
.page-travel--hub .travel-guide-card span,
.page-travel--hub .travel-card-link,
.page-travel--hub .travel-experience-card span {
	color: var(--color-red);
	font-size: 12px;
	font-weight: 600;
}
.page-travel--hub .content-section--travel-sky { background: var(--travel-sky); }
.page-travel--hub .travel-region-grid {
	grid-template-columns: minmax(0, 610px) minmax(0, 472px);
	gap: 18px;
	margin-top: 24px;
}
.page-travel--hub .travel-region-card {
	display: grid;
	grid-column: 2;
	grid-template-columns: 92px minmax(0, 1fr);
	align-items: center;
	gap: 12px;
	padding: 7px 16px;
	border: 0;
	border-radius: 0;
}
.page-travel--hub .travel-region-card--featured {
	display: block;
	grid-column: 1;
	grid-row: 1 / span 7;
	padding: 14px;
	border: 1px solid var(--travel-line);
	border-radius: 8px;
}
.page-travel--hub .travel-region-card:not(.travel-region-card--featured) .travel-region-photo,
.page-travel--hub .travel-region-card:not(.travel-region-card--featured) .travel-region-photo.media-frame {
	width: 92px;
	height: 58px;
	aspect-ratio: auto;
	border-radius: 4px;
}
.page-travel--hub .travel-region-card:not(.travel-region-card--featured) .travel-region-body { padding: 0; }
.page-travel--hub .travel-region-card:not(.travel-region-card--featured) .travel-region-number,
.page-travel--hub .travel-region-card:not(.travel-region-card--featured) .travel-region-meta { display: none; }
.page-travel--hub .travel-region-card:not(.travel-region-card--featured) .subsection-title { font-size: 15px; }
.page-travel--hub .travel-region-card--featured .travel-region-photo,
.page-travel--hub .travel-region-card--featured .travel-region-photo.media-frame { aspect-ratio: 582 / 300; }
.page-travel--hub .travel-region-card--featured .travel-region-body { padding: 16px 0 4px; }
.page-travel--hub .travel-region-card--featured .subsection-title { font-size: 26px; }
.page-travel--hub .travel-itinerary-section { background: #fff; }
.page-travel--hub .travel-course-grid {
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 18px;
	margin-top: 24px;
}
.page-travel--hub .travel-prepare-section { background: var(--travel-warm); }
.page-travel--hub .travel-prepare-grid {
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: 10px;
	margin: 24px 0 0;
	padding: 0;
	list-style: none;
}
.page-travel--hub .travel-prepare-grid li {
	display: grid;
	gap: 6px;
	padding: 14px;
	background: #fff;
	border: 1px solid var(--travel-line);
}
.page-travel--hub .travel-prepare-grid small { color: var(--travel-muted); }
.page-travel--hub .travel-experience-section { background: var(--travel-rose); }
.page-travel--hub .travel-experience-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 14px;
	margin-top: 24px;
}
.page-travel--hub .travel-experience-card {
	display: grid;
	gap: 8px;
	padding: 10px;
	background: #fff;
	color: var(--travel-text);
	text-decoration: none;
}
.page-travel--hub .travel-experience-photo,
.page-travel--hub .travel-experience-photo.media-frame {
	width: 100%;
	min-height: 160px;
	margin: 0;
	border-radius: 4px;
	overflow: hidden;
}
.page-travel--hub .travel-experience-photo img { width: 100%; height: 160px; object-fit: cover; }
.page-travel--hub .content-section--travel-support { background: var(--travel-sky-strong); }
.page-travel--hub .travel-support-split {
	display: grid;
	grid-template-columns: minmax(0, 630px) minmax(0, 430px);
	gap: 28px;
	margin-top: 24px;
}
.page-travel--hub .travel-support-photo,
.page-travel--hub .travel-support-photo.media-frame {
	width: 100%;
	min-height: 360px;
	margin: 0;
	border-radius: 4px;
	overflow: hidden;
}
.page-travel--hub .travel-support-photo img { width: 100%; height: 360px; object-fit: cover; }
.page-travel--hub .travel-support-copy {
	padding: 26px;
	background: #fff;
	border: 1px solid var(--travel-line);
}
.page-travel--hub .travel-support-copy ul {
	display: grid;
	gap: 10px;
	margin: 0 0 24px;
	padding-left: 20px;
}
.page-travel--hub .travel-inquiry-section { background: #fbfaf7; }

@media (max-width: 900px) {
	.page-travel--hub .travel-page-hero-grid,
	.page-travel--hub .travel-support-split { grid-template-columns: 1fr; }
	.page-travel--hub .travel-page-hero-copy { min-height: auto; }
	.page-travel--hub .travel-hero-media { order: 0; }
	.page-travel--hub .travel-guide-grid,
	.page-travel--hub .travel-experience-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 767px) {
	.page-travel--hub .content-section,
	.page-travel--hub .page-hero.section { padding: 38px 18px; }
	.page-travel--hub .travel-page-hero { padding: 42px 20px 28px; }
	.page-travel--hub .travel-page-hero-copy { padding: 0; }
	.page-travel--hub .travel-page-hero-copy .page-title { font-size: 36px; line-height: 1.2; }
	.page-travel--hub .travel-page-hero-copy .page-lead { font-size: 14px; }
	.page-travel--hub .travel-page-hero-actions { align-items: flex-start; }
	.page-travel--hub .travel-page-primary,
	.page-travel--hub .travel-page-secondary { width: auto; }
	.page-travel--hub .travel-page-secondary { display: none; }
	.page-travel--hub .travel-hero-media { min-height: 235px; margin-top: 14px; order: 0; }
	.page-travel--hub .travel-guide-grid,
	.page-travel--hub .travel-experience-grid,
	.page-travel--hub .travel-course-grid,
	.page-travel--hub .travel-support-split { grid-template-columns: 1fr; gap: 10px; }
	.page-travel--hub .travel-guide-card { padding: 14px; }
	.page-travel--hub .travel-guide-photo { display: none; }
	.page-travel--hub .travel-region-grid { display: block; }
	.page-travel--hub .travel-region-card,
	.page-travel--hub .travel-region-card--featured { display: block; padding: 0; border: 0; }
	.page-travel--hub .travel-region-card--featured .travel-region-photo,
	.page-travel--hub .travel-region-card--featured .travel-region-photo.media-frame { aspect-ratio: 354 / 235; }
	.page-travel--hub .travel-region-card--featured .travel-region-body { padding: 14px 0; }
	.page-travel--hub .travel-region-card:not(.travel-region-card--featured) .travel-region-photo { display: none; }
	.page-travel--hub .travel-region-card:not(.travel-region-card--featured) .travel-region-body { padding: 7px 0; }
	.page-travel--hub .travel-region-card:not(.travel-region-card--featured) .travel-region-topline { margin: 0; }
	.page-travel--hub .travel-course-card { display: block; padding: 14px; }
	.page-travel--hub .travel-course-photo { display: none; }
	.page-travel--hub .travel-course-body { padding: 0; }
	.page-travel--hub .travel-prepare-grid { grid-template-columns: 1fr; gap: 0; }
	.page-travel--hub .travel-prepare-grid li {
		grid-template-columns: 1fr auto;
		padding: 8px 0;
		background: transparent;
		border: 0;
	}
	.page-travel--hub .travel-experience-card { padding: 0; background: transparent; }
	.page-travel--hub .travel-experience-photo,
	.page-travel--hub .travel-experience-photo.media-frame { min-height: 210px; }
	.page-travel--hub .travel-experience-photo img { height: 210px; }
	.page-travel--hub .travel-support-photo,
	.page-travel--hub .travel-support-photo.media-frame { min-height: 220px; }
	.page-travel--hub .travel-support-photo img { height: 220px; }
	.page-travel--hub .travel-support-copy { padding: 18px; }
}

/* Travel Support money page — Figma frames 16:3 / 16:156. */
.page-travel-support {
	--support-sky: #eaf5fb;
	--support-blue: #ddeff8;
	--support-rose: #fce9ea;
	--support-warm: #fff5e5;
	--support-line: #e6e1d9;
	--support-text: #1d2522;
	--support-muted: #65706a;
}
.page-travel-support .content-section { padding: 54px 40px; }
.page-travel-support .layout-wide { width: 100%; max-width: 1100px; }
.travel-support-hero { background: #9ebac5; }
.travel-support-hero-grid {
	display: grid;
	grid-template-columns: minmax(0, 650px) minmax(0, 530px);
	min-height: 500px;
}
.travel-support-hero-copy {
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: 64px 40px;
	color: #fff;
}
.travel-support-hero-copy h1 {
	max-width: 560px;
	margin: 8px 0 18px;
	font-size: 48px;
	line-height: 1.2;
}
.travel-support-hero-copy > p:not(.section-eyebrow) {
	max-width: 560px;
	font-size: 15px;
	line-height: 1.8;
}
.travel-support-hero-photo,
.travel-support-hero-photo.media-frame {
	width: 100%;
	height: 500px;
	margin: 0;
	border-radius: 0;
}
.travel-support-hero-photo img { width: 100%; height: 100%; object-fit: cover; }
.travel-support-hero-actions { display: flex; gap: 10px; margin-top: 24px; }
.travel-support-primary,
.travel-support-secondary {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 48px;
	padding: 12px 22px;
	border: 1px solid var(--color-red);
	border-radius: 999px;
	font-size: 14px;
	font-weight: 600;
	text-decoration: none;
}
.travel-support-primary { background: var(--color-red); color: #fff; }
.travel-support-secondary { background: #fff; color: var(--support-text); border-color: var(--support-line); }
.travel-support-card-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 14px;
	margin-top: 28px;
}
.travel-support-card-grid article {
	padding: 20px;
	background: #fff;
	border: 1px solid var(--support-line);
	border-radius: 6px;
}
.travel-support-card-grid h3 { margin: 0 0 8px; font-size: 17px; }
.travel-support-card-grid p { margin: 0; color: var(--support-muted); font-size: 13px; line-height: 1.7; }
.travel-support-journey { background: var(--support-blue); }
.travel-support-journey ol {
	display: grid;
	grid-template-columns: repeat(6, minmax(0, 1fr));
	gap: 10px;
	margin: 28px 0 0;
	padding: 0;
	list-style: none;
}
.travel-support-journey li {
	display: grid;
	gap: 12px;
	min-height: 112px;
	padding: 16px;
	background: #fff;
	border: 1px solid var(--support-line);
}
.travel-support-journey li span { color: var(--color-red); font-size: 11px; font-weight: 700; }
.travel-support-scope-grid {
	display: grid;
	grid-template-columns: minmax(0, 630px) minmax(0, 430px);
	gap: 28px;
	margin-top: 28px;
}
.travel-support-evidence-photo,
.travel-support-evidence-photo.media-frame { width: 100%; min-height: 370px; margin: 0; border-radius: 4px; }
.travel-support-evidence-photo img { width: 100%; height: 370px; object-fit: cover; }
.travel-support-scope-grid > div {
	padding: 28px;
	background: #fff;
	border: 1px solid var(--support-line);
}
.travel-support-scope-grid ul { display: grid; gap: 12px; margin: 0 0 28px; padding-left: 20px; }
.travel-support-trust { background: var(--support-rose); }
.travel-support-intake { background: var(--support-warm); }
.travel-support-intake-steps {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 14px;
	margin: 28px 0 0;
	padding: 0;
	list-style: none;
}
.travel-support-intake-steps li {
	display: grid;
	gap: 8px;
	padding: 20px;
	background: #fff;
	border: 1px solid var(--support-line);
}
.travel-support-intake-steps span { color: var(--support-muted); font-size: 13px; }
.travel-support-inquiry { background: #fff5f4; }
.travel-support-inquiry .revenue-form { margin-top: 28px; padding: 28px; background: #fff; color: var(--support-text); }

@media (max-width: 767px) {
	.page-travel-support .content-section { padding: 38px 18px; }
	.travel-support-hero-grid { grid-template-columns: 1fr; min-height: 0; }
	.travel-support-hero-copy { padding: 42px 20px 28px; }
	.travel-support-hero-copy h1 { font-size: 36px; }
	.travel-support-hero-actions { flex-direction: column; align-items: flex-start; }
	.travel-support-hero-photo,
	.travel-support-hero-photo.media-frame { height: 235px; }
	.travel-support-card-grid,
	.travel-support-scope-grid,
	.travel-support-intake-steps { grid-template-columns: 1fr; gap: 10px; }
	.travel-support-journey ol { grid-template-columns: 1fr; gap: 0; }
	.travel-support-journey li {
		grid-template-columns: 38px 1fr;
		align-items: center;
		min-height: 0;
		padding: 10px 0;
		background: transparent;
		border: 0;
	}
	.travel-support-evidence-photo,
	.travel-support-evidence-photo.media-frame { min-height: 220px; }
	.travel-support-evidence-photo img { height: 220px; }
	.travel-support-scope-grid > div,
	.travel-support-inquiry .revenue-form { padding: 18px; }
}

/* Products Hub / Money Page — Figma frames 12:3, 12:119, 18:3, 18:73. */
.page-products {
	--products-warm: #fff5e5;
	--products-soft: #fff9ec;
	--products-rose: #fff5f4;
	--products-line: #e6e1d9;
	--products-text: #1d2522;
	--products-muted: #65706a;
}
.page-products .content-section { padding: 54px 40px; }
.page-products .layout-wide { width: 100%; max-width: 1100px; }
.products-hero { padding: 70px 40px 64px; background: var(--products-warm); }
.products-hero .layout-wide { width: 100%; max-width: 1100px; }
.products-hero h1 {
	max-width: 720px;
	margin: 10px 0 18px;
	color: var(--products-text);
	font-size: 48px;
	line-height: 1.25;
}
.products-hero p:not(.section-eyebrow) { max-width: 760px; color: var(--products-muted); line-height: 1.7; }
.products-primary {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 48px;
	margin-top: 20px;
	padding: 12px 22px;
	border-radius: 999px;
	background: var(--color-red);
	color: #fff;
	font-size: 14px;
	font-weight: 600;
	text-decoration: none;
}
.products-featured-grid {
	display: grid;
	grid-template-columns: minmax(0, 650px) minmax(0, 430px);
	gap: 28px;
	margin-top: 28px;
}
.products-placeholder-media {
	display: grid;
	place-items: center;
	min-height: 360px;
	padding: 20px;
	border-radius: 4px;
	background: #e2c69f;
	color: var(--products-muted);
	font-size: 12px;
}
.products-featured-copy {
	padding: 22px;
	border: 1px solid var(--products-line);
	background: #fff;
}
.products-featured-copy h3 { margin: 8px 0 12px; font-size: 30px; line-height: 1.35; }
.products-featured-copy p:not(.products-state) { color: var(--products-muted); line-height: 1.75; }
.products-state { margin: 0; color: var(--color-red); font-size: 12px; font-weight: 700; }
.products-categories { background: var(--products-soft); }
.products-category-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 14px;
	margin-top: 28px;
}
.products-category-card {
	display: grid;
	gap: 8px;
	padding: 14px;
	border: 1px solid var(--products-line);
	background: #fff;
}
.products-category-media { display: block; height: 140px; border-radius: 4px; background: #e7d5c7; }
.products-category-card small { color: var(--products-muted); }
.products-makers { background: #fff; }
.products-maker-grid,
.products-story-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 14px;
	margin-top: 28px;
}
.products-maker-grid article,
.products-story-grid article {
	padding: 14px;
	border: 1px solid var(--products-line);
	background: #fff;
}
.products-maker-grid h3,
.products-story-grid h3 { margin: 14px 0 8px; font-size: 18px; }
.products-maker-grid p,
.products-story-grid p { margin: 0; color: var(--products-muted); font-size: 13px; line-height: 1.7; }
.products-maker-photo,
.products-story-photo {
	display: grid;
	place-items: center;
	min-height: 190px;
	background: #e9e0d3;
	color: var(--products-muted);
	font-size: 12px;
}
.products-stories { background: var(--products-rose); }
.products-story-photo { background: #e7eef0; }
.products-choose-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 16px;
	margin-top: 28px;
}
.products-choose-grid article {
	padding: 20px;
	border: 1px solid var(--products-line);
	background: #fff;
}
.products-choose-grid article > span { color: var(--color-red); font-size: 12px; font-weight: 700; }
.products-choose-grid h3 { margin: 8px 0; font-size: 20px; }
.products-choose-grid p { margin: 0; color: var(--products-muted); font-size: 13px; line-height: 1.7; }
.products-producer { background: var(--products-warm); }
.products-producer-grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 460px);
	align-items: center;
	gap: 40px;
}
.products-placeholder-media--producer { min-height: 310px; background: #f3e8d5; }
.products-revenue-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 20px;
	margin-top: 28px;
}
.products-revenue-card { padding: 26px; border: 1px solid var(--products-line); }
.products-revenue-card--ready { background: #eaf3ec; }
.products-revenue-card--inquiry { background: #fbecef; }
.products-revenue-card h3 { margin: 8px 0 10px; font-size: 22px; }
.products-revenue-card p:not(.products-state) { color: var(--products-muted); line-height: 1.7; }
.products-disabled-action {
	display: inline-flex;
	min-height: 48px;
	align-items: center;
	margin-top: 20px;
	padding: 12px 22px;
	border: 1px solid var(--products-line);
	background: #fff;
	color: var(--products-muted);
	font-size: 14px;
}
.products-inquiry { background: #1e1e1c; color: #fff; }
.products-inquiry .section-title,
.products-inquiry .page-body-text { color: #fff; }
.products-inquiry .content-note { color: #d7d2ca; }
.products-inquiry .revenue-form { margin-top: 28px; padding: 28px; background: #fff; color: var(--products-text); }

@media (max-width: 767px) {
	.page-products .content-section { padding: 38px 18px; }
	.products-hero { padding: 38px 18px; }
	.products-hero h1 { font-size: 25px; line-height: 1.5; }
	.products-featured-grid,
	.products-choose-grid,
	.products-producer-grid,
	.products-revenue-grid { grid-template-columns: 1fr; gap: 14px; }
	.products-placeholder-media { min-height: 230px; }
	.products-featured-copy { padding: 0; border: 0; }
	.products-featured-copy h3 { font-size: 22px; }
	.products-category-grid { grid-template-columns: 1fr; gap: 0; }
	.products-category-card {
		grid-template-columns: 1fr auto;
		padding: 8px 0;
		border: 0;
		background: transparent;
	}
	.products-category-media { display: none; }
	.products-maker-grid,
	.products-story-grid { grid-template-columns: 1fr; gap: 10px; }
	.products-maker-photo,
	.products-story-photo { min-height: 150px; }
	.products-placeholder-media--producer { min-height: 220px; }
	.products-inquiry .revenue-form { padding: 18px; }
}

/* Discover / Local Voices — Figma frames 12:159 / 12:292. */
.page-discover--v1 {
	--discover-ink: #1d2522;
	--discover-muted: #65706a;
	--discover-line: #e6e1d9;
	--discover-rose: #fce9ea;
	--discover-rose-soft: #fff5f4;
	--discover-media: #ece5da;
	background: #fff;
	color: var(--discover-ink);
}

.page-discover--v1,
.page-discover--v1 * {
	box-sizing: border-box;
}

.discover-wrap {
	width: min(100%, 1180px);
	margin: 0 auto;
	padding-inline: 40px;
}

.discover-hero {
	padding: 70px 0 64px;
	background: var(--discover-rose);
}

.discover-hero .discover-wrap {
	display: flex;
	flex-direction: column;
	gap: 22px;
}

.discover-kicker {
	margin: 0;
	color: var(--color-red);
	font-size: 12px;
	font-weight: 700;
	line-height: 1.5;
	letter-spacing: 0;
	text-transform: uppercase;
}

.discover-hero h1 {
	max-width: 800px;
	margin: 0;
	font-size: clamp(36px, 4.07vw, 48px);
	font-weight: 700;
	line-height: 1.5;
	letter-spacing: -0.035em;
}

.discover-hero p:last-child,
.discover-heading > p:last-child {
	max-width: 820px;
	margin: 0;
	color: var(--discover-muted);
	font-size: 14px;
	line-height: 1.7;
}

.discover-hero p:last-child {
	max-width: 800px;
	font-size: 16px;
	line-height: 1.5;
}

.discover-section {
	padding: 56px 0;
	background: #fff;
}

.discover-section .discover-wrap {
	display: flex;
	flex-direction: column;
	gap: 24px;
}

.discover-heading {
	display: flex;
	flex-direction: column;
	gap: 7px;
}

.discover-heading h2 {
	max-width: 820px;
	margin: 0;
	font-size: 34px;
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: -0.025em;
}

.discover-featured-grid {
	display: grid;
	grid-template-columns: 550px minmax(0, 1fr);
	gap: 18px;
	align-items: start;
}

.discover-lead-story,
.discover-person-card {
	border: 1px solid var(--discover-line);
	border-radius: 6px;
	background: #fff;
}

.discover-lead-story {
	padding: 12px;
}

.discover-lead-story > a,
.discover-lead-story.discover-story--preparing {
	display: flex;
	flex-direction: column;
	gap: 8px;
	color: inherit;
	text-decoration: none;
}

.discover-media {
	display: flex;
	width: 100%;
	height: 300px;
	align-items: flex-start;
	justify-content: flex-start;
	overflow: hidden;
	border-radius: 4px;
	background: var(--discover-media);
}

.discover-media img,
.discover-story-thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.discover-media-placeholder,
.discover-story-thumb > span,
.discover-person-placeholder {
	padding: 14px;
	color: var(--discover-muted);
	font-size: 11px;
	font-weight: 500;
	line-height: 1.5;
}

.discover-story-tag,
.discover-story-rail small {
	color: #d75f68;
	font-size: 11px;
	font-style: normal;
	font-weight: 700;
	line-height: 1.5;
}

.discover-lead-story h3 {
	margin: 0;
	font-size: 24px;
	line-height: 1.5;
}

.discover-story-meta {
	color: var(--discover-muted);
	font-size: 12px;
	line-height: 1.5;
}

.discover-text-link,
.discover-story-rail em {
	color: var(--discover-ink);
	font-size: 13px;
	font-style: normal;
	font-weight: 500;
	line-height: 1.5;
}

.discover-story-stack {
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.discover-story-rail {
	display: grid;
	grid-template-columns: 150px minmax(0, 1fr);
	gap: 14px;
	min-height: 100px;
	color: inherit;
	text-decoration: none;
}

.discover-story-thumb {
	display: flex;
	height: 100px;
	overflow: hidden;
	border-radius: 4px;
	background: var(--discover-media);
}

.discover-story-rail > span:last-child {
	display: flex;
	min-width: 0;
	flex-direction: column;
	gap: 4px;
}

.discover-story-rail strong {
	overflow: hidden;
	font-size: 17px;
	line-height: 1.5;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.discover-people,
.discover-engine {
	background: var(--discover-rose-soft);
}

.discover-people-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 14px;
}

.discover-person-card {
	display: flex;
	min-width: 0;
	flex-direction: column;
	gap: 7px;
	padding: 12px;
}

.discover-person-placeholder {
	display: flex;
	width: 100%;
	aspect-ratio: 1;
	align-items: flex-start;
	border-radius: 4px;
	background: #e9dad6;
}

.discover-person-card h3,
.discover-person-card p {
	margin: 0;
}

.discover-person-card h3 {
	font-size: 17px;
	line-height: 1.5;
}

.discover-person-card p {
	color: var(--discover-muted);
	font-size: 11px;
	line-height: 1.5;
}

.discover-topic-links,
.discover-bridge-links {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

.discover-topic-links a,
.discover-topic-links span {
	display: inline-flex;
	min-height: 47px;
	align-items: center;
	padding: 12px 22px;
	border: 1px solid var(--discover-line);
	border-radius: 999px;
	color: var(--discover-ink);
	font-size: 14px;
	font-weight: 500;
	line-height: 1.5;
	text-decoration: none;
}

.discover-topic-links span[aria-disabled="true"] {
	color: var(--discover-muted);
	background: #fbfaf7;
}

.discover-bridges {
	background: #fbfaf7;
}

.discover-bridge-links {
	gap: 12px 32px;
}

.discover-bridge-links a {
	color: var(--discover-ink);
	font-size: 15px;
	font-weight: 500;
	text-decoration: underline;
	text-decoration-color: var(--discover-line);
	text-underline-offset: 5px;
}

.discover-engine {
	background: var(--discover-rose);
}

.discover-engine-steps {
	display: grid;
	grid-template-columns: repeat(6, minmax(0, 1fr));
	gap: 10px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.discover-engine-steps li {
	display: flex;
	min-width: 0;
	min-height: 78px;
	flex-direction: column;
	gap: 7px;
	padding: 14px;
	border: 1px solid var(--discover-line);
	border-radius: 6px;
	background: #fff;
	font-size: 14px;
	font-weight: 700;
	line-height: 1.5;
}

.discover-engine-steps span {
	color: var(--color-red);
	font-size: 11px;
}

.discover-lead-story a:hover h3,
.discover-lead-story a:focus-visible h3,
.discover-story-rail:hover strong,
.discover-story-rail:focus-visible strong,
.discover-bridge-links a:hover,
.discover-bridge-links a:focus-visible {
	color: var(--color-red);
}

@media (max-width: 760px) {
	.discover-wrap {
		padding-inline: 18px;
	}

	.discover-hero,
	.discover-section {
		padding-block: 38px;
	}

	.discover-hero .discover-wrap,
	.discover-section .discover-wrap,
	.discover-heading {
		gap: 14px;
	}

	.discover-kicker {
		display: none;
	}

	.discover-hero h1,
	.discover-heading h2 {
		max-width: 350px;
		font-size: 25px;
		line-height: 1.5;
		letter-spacing: -0.025em;
	}

	.discover-hero h1 {
		max-width: 290px;
	}

	.discover-hero h1 br {
		display: none;
	}

	.discover-hero p:last-child,
	.discover-heading > p:last-child {
		font-size: 14px;
		line-height: 1.5;
	}

	.discover-featured-grid {
		display: block;
	}

	.discover-lead-story {
		padding: 0;
		border: 0;
	}

	.discover-media {
		height: 230px;
	}

	.discover-lead-story h3 {
		font-size: 21px;
	}

	.discover-story-stack {
		display: none;
	}

	.discover-people-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 10px;
	}

	.discover-person-card {
		padding: 10px;
	}

	.discover-person-card:nth-child(n + 3) {
		display: none;
	}

	.discover-person-card h3 {
		font-size: 15px;
	}

	.discover-person-card p {
		display: none;
	}

	.discover-topic-links,
	.discover-bridge-links {
		flex-direction: column;
		align-items: flex-start;
		gap: 12px;
	}

	.discover-topic-links a,
	.discover-topic-links span {
		min-height: auto;
		padding: 0;
		border: 0;
		border-radius: 0;
		background: transparent;
		font-size: 15px;
	}

	.discover-topic-links a::after {
		content: " →";
	}

	.discover-engine-steps {
		display: flex;
		flex-wrap: wrap;
		gap: 0;
	}

	.discover-engine-steps li {
		display: inline;
		min-height: auto;
		padding: 0;
		border: 0;
		background: transparent;
		font-size: 13px;
		font-weight: 500;
	}

	.discover-engine-steps li:not(:last-child)::after {
		content: " → ";
	}

	.discover-engine-steps span {
		display: none;
	}
}

/* Keep the Figma-era Hire form treatment above older page-hire overrides. */
body.page-template-page-hire .page-hire--business-v1 .hire-contact-section {
	padding: 56px 40px;
	background: #fff;
}

body.page-template-page-hire .page-hire--business-v1 .hire-contact-section.content-section--alt {
	background: var(--hire-v1-paper);
}

body.page-template-page-hire .page-hire--business-v1 .hire-contact-form {
	padding: 28px;
	border: 1px solid var(--hire-v1-line);
	background: #fff;
}

@media (max-width: 767px) {
	body.page-template-page-hire .page-hire--business-v1 .hire-contact-section {
		padding: 38px 18px;
	}

	body.page-template-page-hire .page-hire--business-v1 .hire-contact-form {
		padding: 18px;
	}
}
