/*
 * Art-direction layer: quiet intelligence with a small, unnamed presence.
 * Structure remains in site.css; this file is intentionally the visual switchboard.
 */
:root {
	--navy: var(--deep-water);
	--ink: var(--text-ink);
	--ink-soft: rgba(var(--text-ink-rgb), 0.76);
	--line: rgba(var(--text-ink-rgb), 0.22);
	--line-soft: rgba(var(--text-ink-rgb), 0.11);
	--mist: var(--mist-blue);
	--warm-paper: var(--foam-white);
	--school-yellow: var(--lemon);
	--school-coral: var(--coral);
	--school-aqua: var(--aqua);
	--school-violet: var(--water-blue);
	--font-service-number: var(--font-en);
}

/*
 * Yuki Eto profile: surface-to-deep visual system.
 * The page remains one continuous ocean, while each depth has its own cues.
 */
.page-etohyuki-profile .person-profile-dive {
	background: #173a59;
}

.page-etohyuki-profile .person-profile-depth {
	isolation: isolate;
	overflow: hidden;
}

.page-etohyuki-profile .person-profile-depth--surface {
	background: linear-gradient(180deg, #fbffff 0%, #f1fbfb 48%, #e5f6f7 100%);
}

.page-etohyuki-profile .person-profile-depth--shallow {
	background: linear-gradient(180deg, #e5f6f7 0%, #d0ecef 48%, #add9e1 100%);
}

.page-etohyuki-profile .person-profile-depth--mid {
	background: linear-gradient(180deg, #add9e1 0%, #82b8c7 48%, #5389a2 100%);
	color: #17384b;
}

.page-etohyuki-profile .person-profile-depth--deep {
	background: linear-gradient(180deg, #5389a2 0%, #32657f 30%, #214e6a 58%, #173a59 100%);
}

.page-etohyuki-profile .person-profile-depth__shell {
	z-index: 3;
}

.page-etohyuki-profile .person-profile-surface-scene,
.page-etohyuki-profile .person-profile-midscape,
.page-etohyuki-profile .person-profile-deepscape {
	position: absolute;
	z-index: 0;
	display: block;
	width: 100%;
	pointer-events: none;
}

.page-etohyuki-profile .person-profile-surface-scene {
	top: 0;
	left: 0;
	height: clamp(300px, 36vw, 440px);
}

.page-etohyuki-profile .person-profile-surface-scene__water {
	fill: rgba(204, 238, 240, 0.74);
}

.page-etohyuki-profile .person-profile-surface-scene__fish,
.page-etohyuki-profile .person-profile-midscape__fish {
	fill: rgba(63, 110, 140, 0.24);
}

.page-etohyuki-profile .person-profile-depth--surface .person-profile-depth__shell {
	padding-top: clamp(32px, 4vw, 58px);
}

.page-etohyuki-profile .person-profile-depth--surface .person-profile-depth__marker,
.page-etohyuki-profile .person-profile-depth--surface .person-profile-surface {
	text-shadow: 0 1px 0 rgba(255, 255, 255, 0.42);
}

.page-etohyuki-profile .person-profile-depth--shallow::after {
	position: absolute;
	z-index: 0;
	inset: 0;
	background:
		repeating-linear-gradient(168deg, transparent 0 72px, rgba(255, 255, 255, 0.1) 73px 74px, transparent 75px 148px);
	content: "";
	opacity: 0.48;
	pointer-events: none;
}

.page-etohyuki-profile .person-profile-shallowscape {
	z-index: 2;
	opacity: 0.72;
}

.page-etohyuki-profile .person-profile-bubbles--shallow {
	z-index: 2;
}

.page-etohyuki-profile .person-profile-midscape {
	top: 7%;
	right: 0;
	height: 82%;
	opacity: 0.5;
}

.page-etohyuki-profile .person-profile-midscape__fish {
	fill: rgba(30, 83, 109, 0.24);
}

.page-etohyuki-profile .person-profile-depth--mid .person-profile-depth__marker {
	color: rgba(23, 56, 75, 0.78);
}

.page-etohyuki-profile .person-profile-depth--mid .person-profile-timeline::before {
	background: rgba(23, 56, 75, 0.26);
}

.page-etohyuki-profile .person-profile-depth--mid .person-profile-timeline li::before {
	border-color: rgba(23, 56, 75, 0.54);
	background: #8fc1ce;
}

.page-etohyuki-profile .person-profile-depth--mid .person-profile-timeline time {
	color: #285d78;
}

.page-etohyuki-profile .person-profile-deepscape {
	right: 0;
	bottom: -1px;
	left: 0;
	height: clamp(180px, 22vw, 310px);
}

.page-etohyuki-profile .person-profile-deepscape > path {
	fill: rgba(10, 40, 66, 0.44);
}

.page-etohyuki-profile .person-profile-depth--deep .person-profile-qa article {
	border-color: rgba(231, 247, 248, 0.26);
	background: rgba(235, 248, 249, 0.035);
}

.page-etohyuki-profile .global-footer {
	min-height: 0;
	margin-top: -1px;
	background: #173a59;
}

.page-etohyuki-profile .global-footer__sea,
.page-etohyuki-profile .global-footer__ripple {
	display: none;
}

.page-etohyuki-profile .global-footer__inner {
	padding-top: clamp(84px, 9vw, 132px);
	padding-bottom: 34px;
}

@media (max-width: 680px) {
	.page-etohyuki-profile .person-profile-dive {
		background: #173a59;
	}

	.page-etohyuki-profile .person-profile-surface-scene {
		height: 300px;
	}

	.page-etohyuki-profile .person-profile-depth--surface .person-profile-depth__shell {
		padding-top: 10px;
	}

	.page-etohyuki-profile .person-profile-depth--shallow::after {
		opacity: 0.28;
	}

	.page-etohyuki-profile .person-profile-shallowscape {
		right: -118px;
		bottom: 0;
		width: 350px;
		opacity: 0.52;
	}

	.page-etohyuki-profile .person-profile-midscape {
		top: 17%;
		right: -35%;
		width: 138%;
		height: 66%;
	}

	.page-etohyuki-profile .person-profile-deepscape {
		right: -28%;
		width: 128%;
		height: 170px;
	}

	.page-etohyuki-profile .global-footer__inner {
		padding-top: 76px;
	}
}

/*
 * Yuki Eto profile prototype: an official archive that gradually descends
 * from a bright surface into the quieter, more personal layers below.
 */
.page-etohyuki-profile .person-profile-dive {
	position: relative;
	overflow: clip;
	isolation: isolate;
	background:
		linear-gradient(
			180deg,
			#ffffff 0%,
			#f8fcfc 11%,
			#e6f5f7 27%,
			#c5e8ee 43%,
			#84c6d5 60%,
			#3f7f9e 77%,
			#173a59 100%
		);
	color: var(--text-ink);
}

.page-etohyuki-profile .person-profile-depth {
	position: relative;
	min-height: 720px;
	padding: clamp(104px, 10vw, 156px) var(--gutter);
	background: transparent;
}

.page-etohyuki-profile .person-profile-depth__shell {
	position: relative;
	z-index: 2;
	display: grid;
	grid-template-columns: 112px minmax(0, 1fr);
	gap: clamp(50px, 7vw, 108px);
	width: min(1240px, 100%);
	margin: 0 auto;
}

.page-etohyuki-profile .person-profile-depth__marker {
	position: sticky;
	top: 132px;
	align-self: start;
	color: var(--water-ink);
	font-family: var(--font-en);
	font-style: normal;
	line-height: 1.25;
}

.page-etohyuki-profile .person-profile-depth__marker::after {
	display: block;
	width: 1px;
	height: 88px;
	margin: 24px 0 0 8px;
	background: currentColor;
	content: "";
	opacity: 0.34;
}

.page-etohyuki-profile .person-profile-depth__marker span,
.page-etohyuki-profile .person-profile-depth__marker em,
.page-etohyuki-profile .person-profile-depth__marker small {
	display: block;
	font-style: normal;
}

.page-etohyuki-profile .person-profile-depth__marker span {
	font-size: 10px;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.page-etohyuki-profile .person-profile-depth__marker strong {
	display: block;
	margin-top: 8px;
	font-size: 32px;
	font-weight: 400;
	letter-spacing: -0.03em;
}

.page-etohyuki-profile .person-profile-depth__marker em {
	margin-top: 1px;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.04em;
}

.page-etohyuki-profile .person-profile-depth__marker small {
	margin-top: 25px;
	font-family: var(--font-sans);
	font-size: 10px;
	font-weight: 500;
	letter-spacing: 0.06em;
	line-height: 1.75;
}

.page-etohyuki-profile .person-profile-depth--surface {
	min-height: min(900px, calc(100svh - 20px));
	padding-top: clamp(112px, 11vw, 168px);
}

.page-etohyuki-profile .person-profile-surface {
	display: grid;
	grid-template-columns: minmax(0, 1.12fr) minmax(260px, 0.72fr);
	gap: clamp(56px, 8vw, 120px);
	align-items: center;
}

.page-etohyuki-profile .person-profile-eyebrow,
.page-etohyuki-profile .person-profile-chapter-heading > p:first-child,
.page-etohyuki-profile .person-profile-practice-grid h3,
.page-etohyuki-profile .person-profile-links > p {
	margin: 0;
	color: var(--water-ink);
	font-family: var(--font-en);
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.12em;
}

.page-etohyuki-profile .person-profile-surface h1 {
	margin: 24px 0 0;
	font-size: clamp(48px, 5.4vw, 74px);
	font-weight: 500;
	letter-spacing: 0.08em;
	line-height: 1.22;
}

.page-etohyuki-profile .person-profile-surface__role {
	margin: 15px 0 0;
	color: rgba(var(--text-ink-rgb), 0.68);
	font-size: 13px;
	font-weight: 500;
	letter-spacing: 0.065em;
}

.page-etohyuki-profile .person-profile-surface__bio {
	max-width: 650px;
	margin-top: 47px;
}

.page-etohyuki-profile .person-profile-surface__bio p {
	margin: 0;
	font-size: 15px;
	font-weight: 400;
	letter-spacing: 0.035em;
	line-height: 2.15;
}

.page-etohyuki-profile .person-profile-surface__portrait {
	position: relative;
	margin: 0;
}

.page-etohyuki-profile .person-profile-surface__portrait::before {
	position: absolute;
	z-index: -1;
	inset: -26px -31px 36px 35px;
	border: 1px solid rgba(114, 174, 235, 0.26);
	border-radius: 50% 47% 53% 45% / 46% 52% 48% 54%;
	content: "";
}

.page-etohyuki-profile .person-profile-surface__portrait img {
	display: block;
	width: 100%;
	max-height: 510px;
	border-radius: 34px;
	object-fit: cover;
	object-position: 50% 28%;
}

.page-etohyuki-profile .person-profile-surface-current {
	position: absolute;
	z-index: 0;
	right: -12vw;
	bottom: -110px;
	left: 18vw;
	height: 250px;
	border: 1px solid rgba(114, 174, 235, 0.18);
	border-radius: 50%;
	transform: rotate(-3deg);
}

.page-etohyuki-profile .person-profile-surface-current::before {
	position: absolute;
	inset: 45px -70px -35px 110px;
	border: 1px solid rgba(114, 174, 235, 0.12);
	border-radius: inherit;
	content: "";
}

.page-etohyuki-profile .person-profile-depth--shallow {
	min-height: 880px;
	padding-top: clamp(138px, 13vw, 198px);
}

.page-etohyuki-profile .person-profile-shallow-profile {
	position: relative;
	z-index: 3;
	width: min(900px, 100%);
}

.page-etohyuki-profile .person-profile-shallow-profile h3 {
	margin: 0;
	color: rgba(var(--water-ink-rgb), 0.65);
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.1em;
	line-height: 1.5;
}

.page-etohyuki-profile .person-profile-shallow-profile__themes {
	width: min(720px, 100%);
}

.page-etohyuki-profile .person-profile-theme-orbit {
	position: relative;
	width: min(700px, 100%);
	height: clamp(350px, 35vw, 440px);
	margin: clamp(28px, 3vw, 40px) auto 0;
}

.page-etohyuki-profile .person-profile-theme-orbit__item {
	position: absolute;
	box-sizing: border-box;
	width: clamp(98px, 9.5vw, 122px);
	aspect-ratio: 1;
	opacity: 0;
	transform: translate3d(var(--bubble-rise-start-x, 0), 280px, 0) scale(0.68);
}

.page-etohyuki-profile .person-profile-theme-orbit__bubble {
	position: relative;
	display: grid;
	place-items: center;
	box-sizing: border-box;
	width: 100%;
	height: 100%;
	padding: 13px;
	border: 1px solid rgba(var(--water-ink-rgb), 0.2);
	border-radius: 50%;
	background:
		radial-gradient(circle at 29% 23%, rgba(255, 255, 255, 0.32) 0 2%, rgba(255, 255, 255, 0.08) 10%, transparent 28%),
		rgba(239, 250, 251, 0.035);
	font-size: clamp(11px, 0.95vw, 13px);
	font-weight: 500;
	letter-spacing: 0.04em;
	line-height: 1.6;
	text-align: center;
	transform-origin: center;
	animation: profile-theme-bubble-drift-a 12.8s ease-in-out 4.2s infinite;
}

.page-etohyuki-profile .person-profile-theme-orbit__bubble::before {
	position: absolute;
	top: 14%;
	left: 19%;
	width: 25%;
	height: 16%;
	border-top: 1px solid rgba(255, 255, 255, 0.5);
	border-radius: 50%;
	content: "";
	opacity: 0.72;
}

.page-etohyuki-profile .person-profile-content.is-visible .person-profile-theme-orbit__item {
	animation: profile-theme-bubble-rise 4.15s cubic-bezier(0.22, 0.6, 0.26, 1) forwards;
}

.page-etohyuki-profile .person-profile-theme-orbit__item--core {
	top: 23%;
	left: 25%;
	width: clamp(118px, 11vw, 142px);
	--bubble-rise-start-x: 34px;
	--bubble-rise-mid-x: -13px;
	--bubble-rise-late-x: 7px;
	font-size: clamp(15px, 1.35vw, 18px);
	font-weight: 500;
}

.page-etohyuki-profile .person-profile-theme-orbit__item--core .person-profile-theme-orbit__bubble {
	background:
		radial-gradient(circle at 29% 23%, rgba(255, 255, 255, 0.4) 0 2%, rgba(255, 255, 255, 0.09) 11%, transparent 29%),
		rgba(242, 252, 252, 0.055);
	font-size: clamp(15px, 1.35vw, 18px);
	animation-name: profile-theme-bubble-drift-core;
}

.page-etohyuki-profile .person-profile-theme-orbit__item--career {
	top: 3%;
	right: 12%;
	--bubble-rise-start-x: -28px;
	--bubble-rise-mid-x: 16px;
	--bubble-rise-late-x: -5px;
}

.page-etohyuki-profile .person-profile-theme-orbit__item--career {
	animation-delay: 0.08s !important;
}

.page-etohyuki-profile .person-profile-theme-orbit__item--core {
	animation-delay: 0.42s !important;
}

.page-etohyuki-profile .person-profile-theme-orbit__item--wellbeing {
	bottom: 8%;
	left: 8%;
	--bubble-rise-start-x: 22px;
	--bubble-rise-mid-x: -17px;
	--bubble-rise-late-x: 5px;
	animation-delay: 0.82s !important;
}

.page-etohyuki-profile .person-profile-theme-orbit__item--wellbeing .person-profile-theme-orbit__bubble {
	animation-name: profile-theme-bubble-drift-b;
	animation-delay: 4.8s;
	animation-duration: 14.2s;
}

.page-etohyuki-profile .person-profile-theme-orbit__item--connection {
	right: 24%;
	bottom: 1%;
	width: clamp(92px, 8.7vw, 112px);
	--bubble-rise-start-x: -36px;
	--bubble-rise-mid-x: 12px;
	--bubble-rise-late-x: -7px;
	animation-delay: 1.18s !important;
}

.page-etohyuki-profile .person-profile-theme-orbit__item--connection .person-profile-theme-orbit__bubble {
	animation-name: profile-theme-bubble-drift-c;
	animation-delay: 5.2s;
	animation-duration: 13.4s;
}

@keyframes profile-theme-bubble-rise {
	0% {
		opacity: 0;
		transform: translate3d(var(--bubble-rise-start-x, 0), 280px, 0) scale(0.68);
	}

	18% {
		opacity: 0.2;
	}

	46% {
		opacity: 0.68;
		transform: translate3d(var(--bubble-rise-mid-x, 0), 132px, 0) scale(0.84);
	}

	76% {
		opacity: 0.94;
		transform: translate3d(var(--bubble-rise-late-x, 0), 32px, 0) scale(0.975);
	}

	100% {
		opacity: 1;
		transform: translate3d(0, 0, 0) scale(1);
	}
}

@keyframes profile-theme-bubble-drift-a {
	0%, 100% { transform: translate3d(0, 0, 0) scale(1); }
	31% { transform: translate3d(4px, -7px, 0) scale(1.006, 0.996); }
	66% { transform: translate3d(-5px, 4px, 0) scale(0.996, 1.005); }
}

@keyframes profile-theme-bubble-drift-b {
	0%, 100% { transform: translate3d(0, 0, 0) scale(1); }
	37% { transform: translate3d(-5px, -5px, 0) scale(0.997, 1.005); }
	73% { transform: translate3d(3px, 5px, 0) scale(1.005, 0.997); }
}

@keyframes profile-theme-bubble-drift-c {
	0%, 100% { transform: translate3d(0, 0, 0) scale(1); }
	33% { transform: translate3d(5px, 4px, 0) scale(1.005, 0.997); }
	69% { transform: translate3d(-4px, -6px, 0) scale(0.997, 1.005); }
}

@keyframes profile-theme-bubble-drift-core {
	0%, 100% { transform: translate3d(0, 0, 0) scale(1); }
	35% { transform: translate3d(-4px, -6px, 0) scale(1.004, 0.997); }
	71% { transform: translate3d(5px, 3px, 0) scale(0.997, 1.004); }
}

.page-etohyuki-profile .person-profile-shallow-profile__practice {
	width: min(760px, 100%);
	margin-top: clamp(50px, 5vw, 70px);
}

.page-etohyuki-profile .person-profile-shallow-profile__practice ul {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: clamp(26px, 4vw, 52px);
	margin-top: 28px;
}

.page-etohyuki-profile .person-profile-shallow-profile ul {
	margin: 0;
	padding: 0;
	list-style: none;
}

.page-etohyuki-profile .person-profile-shallow-profile__practice li {
	display: grid;
	grid-template-rows: 48px auto;
	gap: 14px;
	justify-items: center;
	padding: 0;
	font-size: 12px;
	font-weight: 500;
	letter-spacing: 0.045em;
	line-height: 1.8;
	text-align: center;
}

.page-etohyuki-profile .person-profile-shallow-profile__practice svg {
	width: 48px;
	height: 48px;
	fill: none;
	stroke: rgba(var(--water-ink-rgb), 0.66);
	stroke-width: 1.5;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.page-etohyuki-profile .person-profile-shallow-profile__record {
	margin-top: clamp(58px, 6.5vw, 86px);
}

.page-etohyuki-profile .person-profile-shallow-profile__record dl {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: clamp(42px, 7vw, 86px);
	margin: 0;
}

.page-etohyuki-profile .person-profile-shallow-profile__record dt,
.page-etohyuki-profile .person-profile-shallow-profile__record dd {
	margin: 0;
}

.page-etohyuki-profile .person-profile-shallow-profile__record dt {
	font-size: 14px;
	font-weight: 600;
	letter-spacing: 0.025em;
	line-height: 1.7;
}

.page-etohyuki-profile .person-profile-shallow-profile__record dd {
	margin-top: 4px;
	font-size: 14px;
	font-weight: 500;
	letter-spacing: 0.04em;
	line-height: 1.7;
}

.page-etohyuki-profile .person-profile-content {
	width: min(980px, 100%);
}

.page-etohyuki-profile .person-profile-chapter-heading h2 {
	margin: 17px 0 0;
	font-size: clamp(30px, 3.1vw, 46px);
	font-weight: 500;
	letter-spacing: 0.035em;
	line-height: 1.5;
}

.page-etohyuki-profile .person-profile-chapter-heading__lead {
	max-width: 600px;
	margin: 22px 0 0 !important;
	font-size: 13px !important;
	letter-spacing: 0.04em !important;
	line-height: 2 !important;
}

.page-etohyuki-profile .person-profile-practice-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: clamp(56px, 8vw, 108px);
	margin-top: clamp(62px, 7vw, 92px);
}

.page-etohyuki-profile .person-profile-practice-grid h3 {
	padding-bottom: 18px;
	border-bottom: 1px solid rgba(var(--water-ink-rgb), 0.26);
}

.page-etohyuki-profile .person-profile-areas-list,
.page-etohyuki-profile .person-profile-experience-list {
	margin: 0;
	padding: 0;
	list-style: none;
}

.page-etohyuki-profile .person-profile-areas-list li,
.page-etohyuki-profile .person-profile-experience-list > div {
	border-bottom: 1px solid rgba(var(--water-ink-rgb), 0.18);
}

.page-etohyuki-profile .person-profile-areas-list li {
	padding: 21px 0 23px;
	font-size: 15px;
	font-weight: 500;
	letter-spacing: 0.035em;
}

.page-etohyuki-profile .person-profile-experience-list > div {
	display: grid;
	grid-template-columns: 0.75fr 1.25fr;
	gap: 18px;
	align-items: baseline;
	padding: 19px 0 21px;
}

.page-etohyuki-profile .person-profile-experience-list dt,
.page-etohyuki-profile .person-profile-experience-list dd {
	margin: 0;
}

.page-etohyuki-profile .person-profile-experience-list dt {
	font-size: 11px;
	font-weight: 500;
	letter-spacing: 0.045em;
}

.page-etohyuki-profile .person-profile-experience-list dd {
	font-size: 15px;
	font-weight: 600;
	letter-spacing: 0.025em;
	line-height: 1.7;
}

.page-etohyuki-profile .person-profile-depth--mid {
	min-height: 1180px;
	padding-top: clamp(142px, 14vw, 210px);
}

.page-etohyuki-profile .person-profile-timeline {
	position: relative;
	width: min(760px, 100%);
	margin: clamp(58px, 6vw, 84px) 0 0;
	padding: 0;
	list-style: none;
}

.page-etohyuki-profile .person-profile-timeline::before {
	position: absolute;
	top: 14px;
	bottom: 16px;
	left: 25px;
	width: 1px;
	background: rgba(var(--water-ink-rgb), 0.26);
	content: "";
}

.page-etohyuki-profile .person-profile-timeline li {
	position: relative;
	display: block;
	padding: 0 0 30px;
	padding-left: 76px;
}

.page-etohyuki-profile .person-profile-timeline li::before {
	position: absolute;
	top: 8px;
	left: 21px;
	width: 9px;
	height: 9px;
	border: 2px solid rgba(63, 110, 140, 0.62);
	border-radius: 50%;
	background: #c5e8ee;
	content: "";
}

.page-etohyuki-profile .person-profile-timeline time {
	display: block;
	color: var(--water-ink);
	font-family: var(--font-en);
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.03em;
	text-align: left;
}

.page-etohyuki-profile .person-profile-timeline p {
	margin: 3px 0 0;
	font-size: 14px;
	letter-spacing: 0.035em;
	line-height: 1.9;
}

.page-etohyuki-profile .person-profile-links {
	width: min(760px, 100%);
	margin-top: clamp(64px, 8vw, 104px);
}

.page-etohyuki-profile .person-profile-links > p {
	padding-bottom: 17px;
	border-bottom: 1px solid rgba(var(--water-ink-rgb), 0.26);
}

.page-etohyuki-profile .person-profile-links a {
	display: grid;
	grid-template-columns: 0.8fr 1fr auto;
	gap: 28px;
	align-items: center;
	padding: 22px 0 24px;
	border-bottom: 1px solid rgba(var(--water-ink-rgb), 0.2);
	color: inherit;
	text-decoration: none;
}

.page-etohyuki-profile .person-profile-links span {
	font-size: 15px;
	font-weight: 600;
}

.page-etohyuki-profile .person-profile-links small {
	font-size: 11px;
	letter-spacing: 0.04em;
}

.page-etohyuki-profile .person-profile-links b {
	color: var(--water-ink);
	font-size: 15px;
	font-weight: 400;
	transition: transform 260ms ease;
}

.page-etohyuki-profile .person-profile-links a:hover b,
.page-etohyuki-profile .person-profile-links a:focus-visible b {
	transform: translate(3px, -2px);
}

.page-etohyuki-profile .person-profile-depth--deep,
.page-etohyuki-profile .person-profile-depth--abyss {
	color: rgba(255, 255, 255, 0.94);
}

.page-etohyuki-profile .person-profile-depth--deep {
	min-height: 980px;
	padding-top: clamp(150px, 15vw, 226px);
}

.page-etohyuki-profile .person-profile-depth--deep .person-profile-depth__marker,
.page-etohyuki-profile .person-profile-depth--deep .person-profile-chapter-heading > p:first-child,
.page-etohyuki-profile .person-profile-depth--deep .person-profile-chapter-heading__lead {
	color: rgba(255, 255, 255, 0.72);
}

.page-etohyuki-profile .person-profile-qa {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 18px;
	margin-top: clamp(58px, 7vw, 88px);
}

.page-etohyuki-profile .person-profile-qa article {
	min-height: 220px;
	padding: clamp(25px, 3vw, 36px);
	border: 1px solid rgba(255, 255, 255, 0.34);
	border-radius: 22px;
	background: rgba(255, 255, 255, 0.035);
}

.page-etohyuki-profile .person-profile-qa article:last-child {
	grid-column: 1 / -1;
	width: calc(50% - 9px);
	margin-left: auto;
}

.page-etohyuki-profile .person-profile-qa h3,
.page-etohyuki-profile .person-profile-qa p {
	margin: 0;
	font-size: 13px;
	font-weight: 400;
	letter-spacing: 0.035em;
	line-height: 2;
}

.page-etohyuki-profile .person-profile-qa h3 {
	font-weight: 600;
}

.page-etohyuki-profile .person-profile-qa p {
	margin-top: 23px;
	color: rgba(255, 255, 255, 0.8);
}

.page-etohyuki-profile .person-profile-qa span {
	margin-right: 8px;
	font-family: var(--font-en);
	font-weight: 700;
}

.page-etohyuki-profile .person-profile-depth--abyss {
	display: grid;
	min-height: 520px;
	place-items: center;
	padding-top: 100px;
	padding-bottom: 140px;
	text-align: center;
}

.page-etohyuki-profile .person-profile-abyss__inner p {
	margin: 0;
	font-size: 13px;
	letter-spacing: 0.1em;
	line-height: 2.2;
}

.page-etohyuki-profile .person-profile-abyss__inner p + p {
	margin-top: 6px;
	color: rgba(255, 255, 255, 0.62);
}

.page-etohyuki-profile .person-profile-abyss__inner span {
	display: block;
	margin-top: 38px;
	font-size: 16px;
	opacity: 0.58;
	animation: person-profile-depth-arrow 3.8s ease-in-out infinite;
}

.page-etohyuki-profile .person-profile-bubbles {
	position: absolute;
	z-index: 1;
	inset: 0;
	pointer-events: none;
}

.page-etohyuki-profile .person-profile-bubbles i {
	position: absolute;
	display: block;
	width: 9px;
	height: 9px;
	border: 1px solid rgba(255, 255, 255, 0.42);
	border-radius: 50%;
	animation: person-profile-bubble-rise 14s ease-in-out infinite;
}

.page-etohyuki-profile .person-profile-bubbles--shallow i {
	border-color: rgba(63, 110, 140, 0.18);
}

.page-etohyuki-profile .person-profile-bubbles i:nth-child(1) { left: 78%; bottom: 15%; animation-delay: -2s; }
.page-etohyuki-profile .person-profile-bubbles i:nth-child(2) { left: 84%; bottom: 43%; width: 5px; height: 5px; animation-delay: -8s; animation-duration: 17s; }
.page-etohyuki-profile .person-profile-bubbles i:nth-child(3) { left: 69%; bottom: 29%; width: 13px; height: 13px; animation-delay: -5s; animation-duration: 19s; }
.page-etohyuki-profile .person-profile-bubbles i:nth-child(4) { left: 91%; bottom: 23%; width: 7px; height: 7px; animation-delay: -11s; animation-duration: 16s; }
.page-etohyuki-profile .person-profile-bubbles i:nth-child(5) { left: 57%; bottom: 12%; width: 4px; height: 4px; animation-delay: -13s; animation-duration: 21s; }

.page-etohyuki-profile .global-footer {
	background: #173a59;
}

.page-etohyuki-profile .global-footer__sea path {
	fill: #102f4d;
}

@keyframes person-profile-bubble-rise {
	0%, 100% { opacity: 0; transform: translate3d(0, 18px, 0) scale(0.7); }
	18% { opacity: 0.46; }
	72% { opacity: 0.28; }
	90% { opacity: 0; transform: translate3d(7px, -76px, 0) scale(1.08); }
}

@keyframes person-profile-depth-arrow {
	0%, 100% { opacity: 0.42; transform: translateY(0); }
	50% { opacity: 0.74; transform: translateY(7px); }
}

@media (max-width: 900px) {
	.page-etohyuki-profile .person-profile-depth__shell {
		grid-template-columns: 86px minmax(0, 1fr);
		gap: 42px;
	}

	.page-etohyuki-profile .person-profile-surface {
		grid-template-columns: minmax(0, 1fr) minmax(220px, 0.65fr);
		gap: 46px;
	}

	.page-etohyuki-profile .person-profile-practice-grid {
		gap: 44px;
	}
}

@media (max-width: 680px) {
	.page-etohyuki-profile .person-profile-dive {
		background: linear-gradient(180deg, #ffffff 0%, #f4fbfc 13%, #dff2f5 31%, #acdbe4 49%, #5d9db8 68%, #173a59 100%);
	}

	.page-etohyuki-profile .person-profile-depth {
		min-height: 0;
		padding: 96px 24px 112px;
	}

	.page-etohyuki-profile .person-profile-depth__shell {
		display: block;
	}

	.page-etohyuki-profile .person-profile-depth__marker {
		position: relative;
		top: auto;
		display: grid;
		grid-template-columns: auto auto 1fr;
		gap: 8px;
		align-items: baseline;
		margin-bottom: 48px;
	}

	.page-etohyuki-profile .person-profile-depth__marker::after {
		display: none;
	}

	.page-etohyuki-profile .person-profile-depth__marker span,
	.page-etohyuki-profile .person-profile-depth__marker strong,
	.page-etohyuki-profile .person-profile-depth__marker em {
		display: inline;
		margin: 0;
	}

	.page-etohyuki-profile .person-profile-depth__marker strong {
		font-size: 25px;
	}

	.page-etohyuki-profile .person-profile-depth__marker small {
		grid-column: 1 / -1;
		margin-top: 8px;
	}

	.page-etohyuki-profile .person-profile-depth--surface {
		padding-top: 82px;
	}

	.page-etohyuki-profile .person-profile-surface {
		display: flex;
		flex-direction: column;
		gap: 58px;
	}

	.page-etohyuki-profile .person-profile-surface__copy {
		order: 1;
	}

	.page-etohyuki-profile .person-profile-surface__portrait {
		order: 2;
		width: min(78vw, 330px);
		margin: 0 auto;
	}

	.page-etohyuki-profile .person-profile-surface__portrait::before {
		inset: -18px -19px 27px 24px;
	}

	.page-etohyuki-profile .person-profile-surface h1 {
		font-size: clamp(40px, 13vw, 54px);
	}

	.page-etohyuki-profile .person-profile-surface__bio {
		margin-top: 38px;
	}

	.page-etohyuki-profile .person-profile-surface__bio p {
		font-size: 14px;
		line-height: 2.05;
	}

	.page-etohyuki-profile .person-profile-surface-current {
		right: -90vw;
		bottom: -75px;
		left: -30vw;
		height: 180px;
	}

	.page-etohyuki-profile .person-profile-chapter-heading h2 {
		font-size: clamp(28px, 8.8vw, 36px);
	}

	.page-etohyuki-profile .person-profile-practice-grid,
	.page-etohyuki-profile .person-profile-qa {
		grid-template-columns: 1fr;
		gap: 48px;
	}

	.page-etohyuki-profile .person-profile-practice-grid {
		margin-top: 54px;
	}

	.page-etohyuki-profile .person-profile-shallow-profile__record dl {
		grid-template-columns: 1fr;
		gap: 38px;
	}

	.page-etohyuki-profile .person-profile-theme-orbit {
		height: 390px;
	}

	.page-etohyuki-profile .person-profile-theme-orbit__item {
		width: 104px;
		padding: 0;
		font-size: 11px;
	}

	.page-etohyuki-profile .person-profile-theme-orbit__bubble {
		padding: 13px;
	}

	.page-etohyuki-profile .person-profile-theme-orbit__item--core {
		top: 22%;
		left: 8%;
		width: 132px;
		font-size: 16px;
	}

	.page-etohyuki-profile .person-profile-theme-orbit__item--core .person-profile-theme-orbit__bubble {
		font-size: 16px;
	}

	.page-etohyuki-profile .person-profile-theme-orbit__item--career {
		top: 0;
		right: 0;
		width: 104px;
	}

	.page-etohyuki-profile .person-profile-theme-orbit__item--wellbeing {
		bottom: 0;
		left: 5%;
	}

	.page-etohyuki-profile .person-profile-theme-orbit__item--connection {
		right: 4%;
		bottom: 10%;
		width: 98px;
	}

	.page-etohyuki-profile .person-profile-shallow-profile__practice ul {
		gap: 18px;
	}

	.page-etohyuki-profile .person-profile-shallow-profile__practice li {
		font-size: 11px;
	}

	.page-etohyuki-profile .person-profile-shallow-profile__record {
		margin-top: 48px;
	}

	.page-etohyuki-profile .person-profile-experience-list > div {
		grid-template-columns: 0.72fr 1.28fr;
	}

	.page-etohyuki-profile .person-profile-depth--mid,
	.page-etohyuki-profile .person-profile-depth--deep {
		padding-top: 126px;
	}

	.page-etohyuki-profile .person-profile-timeline li {
		grid-template-columns: 64px minmax(0, 1fr);
		gap: 18px;
	}

	.page-etohyuki-profile .person-profile-links a {
		grid-template-columns: 1fr auto;
		gap: 8px 16px;
	}

	.page-etohyuki-profile .person-profile-links small {
		grid-column: 1;
	}

	.page-etohyuki-profile .person-profile-links b {
		grid-column: 2;
		grid-row: 1 / span 2;
	}

	.page-etohyuki-profile .person-profile-qa article,
	.page-etohyuki-profile .person-profile-qa article:last-child {
		grid-column: auto;
		width: 100%;
		min-height: 0;
		margin-left: 0;
	}

	.page-etohyuki-profile .person-profile-depth--abyss {
		min-height: 460px;
		padding-top: 120px;
		padding-bottom: 130px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.page-etohyuki-profile .person-profile-bubbles i,
	.page-etohyuki-profile .person-profile-abyss__inner span {
		animation: none;
	}
}

/*
 * Yuki Eto profile, second pass.
 * Each depth now has its own quiet visual grammar: surface light, shallow-life,
 * mid-water currents and a deep layer that continues directly into the footer.
 */
.page-etohyuki-profile .person-profile-depth {
	min-height: 0;
	padding-top: clamp(66px, 6vw, 92px);
	padding-bottom: clamp(72px, 6.5vw, 102px);
}

.page-etohyuki-profile .person-profile-depth__shell {
	grid-template-columns: 82px minmax(0, 1fr);
	gap: clamp(42px, 5.6vw, 78px);
	width: min(1180px, 100%);
}

.page-etohyuki-profile .person-profile-depth__marker {
	top: 116px;
}

.page-etohyuki-profile .person-profile-depth__marker::after {
	height: 58px;
	margin-top: 18px;
}

.page-etohyuki-profile .person-profile-depth__marker strong {
	font-size: 27px;
}

.page-etohyuki-profile .person-profile-depth__marker small {
	margin-top: 18px;
}

.page-etohyuki-profile .person-profile-depth--surface {
	min-height: 0;
	padding-top: clamp(82px, 7vw, 108px);
	padding-bottom: clamp(84px, 7vw, 112px);
}

.page-etohyuki-profile .person-profile-depth--surface::before,
.page-etohyuki-profile .person-profile-depth--shallow::before {
	display: none;
	content: none;
}

.page-etohyuki-profile .person-profile-surface {
	display: block;
}

.page-etohyuki-profile .person-profile-surface__copy {
	display: grid;
	grid-template-columns: minmax(270px, 0.78fr) minmax(360px, 1.22fr);
	gap: clamp(54px, 8vw, 116px);
	align-items: start;
	width: min(1010px, 100%);
}

.page-etohyuki-profile .person-profile-surface h1 {
	margin: 0;
	font-size: clamp(34px, 3.2vw, 44px);
	font-weight: 500;
}

.page-etohyuki-profile .person-profile-surface__bio {
	max-width: 620px;
	margin-top: 0;
	padding: 30px 0 2px;
	border-top: 1px solid rgba(var(--water-ink-rgb), 0.18);
}

.page-etohyuki-profile .person-profile-surface__bio p {
	font-size: 14px;
	line-height: 2;
}

.page-etohyuki-profile .person-profile-surface__bio p + p {
	margin-top: 14px;
}

.page-etohyuki-profile .person-profile-surface-current {
	display: none;
}

.page-etohyuki-profile .person-profile-depth--shallow {
	min-height: 0;
	padding-top: clamp(76px, 6.5vw, 104px);
	padding-bottom: clamp(82px, 7vw, 110px);
}

.page-etohyuki-profile .person-profile-depth--shallow::before {
	display: none;
	content: none;
}

.page-etohyuki-profile .person-profile-practice-grid {
	gap: clamp(50px, 7vw, 88px);
	margin-top: 0;
}

.page-etohyuki-profile .person-profile-shallowscape {
	position: absolute;
	z-index: 1;
	right: clamp(-88px, -4vw, -44px);
	bottom: 5px;
	width: min(36vw, 480px);
	height: auto;
	overflow: visible;
	pointer-events: none;
	opacity: 0.58;
}

.page-etohyuki-profile .person-profile-shallowscape__plants path {
	fill: none;
	stroke: var(--aqua);
	stroke-width: 13;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.page-etohyuki-profile .person-profile-shallowscape__coral path {
	fill: rgba(255, 133, 120, 0.72);
}

.page-etohyuki-profile .person-profile-shallowscape__fish path:first-child {
	fill: rgba(244, 192, 90, 0.78);
}

.page-etohyuki-profile .person-profile-shallowscape__fish path:not(:first-child) {
	fill: none;
	stroke: rgba(255, 255, 255, 0.88);
	stroke-width: 7;
}

.page-etohyuki-profile .person-profile-shallowscape__fish circle {
	fill: var(--deep-water);
}

.page-etohyuki-profile .person-profile-shallowscape__fish--two {
	opacity: 0.62;
}

.page-etohyuki-profile .person-profile-depth--mid {
	min-height: 0;
	padding-top: clamp(78px, 7vw, 108px);
	padding-bottom: clamp(86px, 7.5vw, 116px);
}

.page-etohyuki-profile .person-profile-depth--mid::before,
.page-etohyuki-profile .person-profile-depth--mid::after {
	display: none;
	content: none;
}

.page-etohyuki-profile .person-profile-timeline {
	margin-top: 0;
}

.page-etohyuki-profile .person-profile-timeline li {
	padding-bottom: 23px;
}

.page-etohyuki-profile .person-profile-depth--mid .person-profile-timeline::before {
	display: none;
}

.page-etohyuki-profile .person-profile-depth--mid .person-profile-timeline li:not(:last-child)::after {
	position: absolute;
	top: 13px;
	left: 25px;
	width: 1px;
	height: 100%;
	background: rgba(23, 56, 75, 0.16);
	content: "";
	transform: scaleX(0.75);
	transform-origin: center;
}

.page-etohyuki-profile .person-profile-depth--mid .person-profile-timeline li::before {
	z-index: 1;
	top: 9px;
	left: 21px;
	width: 8px;
	height: 8px;
	border-width: 1px;
	border-color: rgba(23, 56, 75, 0.38);
	background: rgba(143, 193, 206, 0.78);
}

.page-etohyuki-profile .person-profile-depth--mid .person-profile-timeline li:nth-child(1) {
	padding-bottom: 28px;
}

.page-etohyuki-profile .person-profile-depth--mid .person-profile-timeline li:nth-child(2) {
	padding-bottom: 18px;
}

.page-etohyuki-profile .person-profile-depth--mid .person-profile-timeline li:nth-child(3) {
	padding-bottom: 27px;
}

.page-etohyuki-profile .person-profile-depth--mid .person-profile-timeline li:nth-child(4) {
	padding-bottom: 19px;
}

.page-etohyuki-profile .person-profile-depth--mid .person-profile-timeline li:nth-child(5) {
	padding-bottom: 25px;
}

.page-etohyuki-profile .person-profile-depth--mid .person-profile-timeline li:nth-child(6) {
	padding-bottom: 19px;
}

.page-etohyuki-profile .person-profile-depth--mid .person-profile-timeline li:nth-child(7) {
	padding-bottom: 26px;
}

.page-etohyuki-profile .person-profile-depth--mid .person-profile-timeline li:last-child {
	padding-bottom: 0;
}

.page-etohyuki-profile .person-profile-depth--mid .person-profile-timeline time {
	color: rgba(40, 93, 120, 0.76);
	font-size: 12.5px;
}

.page-etohyuki-profile .person-profile-depth--mid .person-profile-timeline p {
	color: rgba(23, 56, 75, 0.9);
	font-size: 14.5px;
	font-weight: 400;
	letter-spacing: 0.025em;
	line-height: 1.85;
}

.page-etohyuki-profile .person-profile-links {
	margin-top: clamp(48px, 5vw, 68px);
}

.page-etohyuki-profile .person-profile-depth--deep {
	min-height: 0;
	padding-top: clamp(88px, 8vw, 122px);
	padding-bottom: clamp(116px, 10vw, 156px);
}

.page-etohyuki-profile .person-profile-depth--deep::before {
	display: none;
	content: none;
}

.page-etohyuki-profile .person-profile-qa {
	grid-template-columns: minmax(0, 1fr);
	width: min(760px, 100%);
	gap: clamp(24px, 3vw, 34px);
	margin-top: 0;
}

.page-etohyuki-profile .person-profile-qa article,
.page-etohyuki-profile .person-profile-qa article:last-child {
	grid-column: auto;
	width: 100%;
	min-height: 0;
	margin: 0;
	border-radius: 34px 24px 38px 27px / 28px 37px 24px 36px;
	background: rgba(255, 255, 255, 0.025);
	transform: none;
}

.page-etohyuki-profile .person-profile-qa__answer {
	margin-top: 23px;
}

.page-etohyuki-profile .person-profile-qa__answer p {
	margin-top: 0;
}

.page-etohyuki-profile .person-profile-qa__answer p + p {
	margin-top: 16px;
}

.page-etohyuki-profile .person-profile-qa__answer strong {
	color: rgba(255, 255, 255, 0.94);
	font-weight: 600;
}

.page-etohyuki-profile .person-profile-depth--abyss {
	min-height: 340px;
	padding-top: 70px;
	padding-bottom: 88px;
	background: #173a59;
}

.page-etohyuki-profile .global-footer {
	margin-top: -1px;
	background: #173a59;
}

.page-etohyuki-profile .global-footer__sea path {
	fill: #173a59;
}

.page-etohyuki-profile .global-footer__ripple {
	display: none;
}

@media (max-width: 900px) {
	.page-etohyuki-profile .person-profile-depth__shell {
		grid-template-columns: 72px minmax(0, 1fr);
		gap: 34px;
	}

	.page-etohyuki-profile .person-profile-surface__copy {
		grid-template-columns: minmax(240px, 0.8fr) minmax(300px, 1.2fr);
		gap: 42px;
	}

	.page-etohyuki-profile .person-profile-shallowscape {
		right: -86px;
		width: 430px;
		opacity: 0.44;
	}
}

@media (max-width: 680px) {
	.page-etohyuki-profile .person-profile-depth {
		padding: 76px 24px 88px;
	}

	.page-etohyuki-profile .person-profile-depth__marker {
		top: auto;
		margin-bottom: 34px;
	}

	.page-etohyuki-profile .person-profile-depth--surface {
		min-height: 0;
		padding-top: 122px;
		padding-bottom: 96px;
	}

	.page-etohyuki-profile .person-profile-surface__copy {
		display: block;
	}

	.page-etohyuki-profile .person-profile-surface__bio {
		margin-top: 38px;
	}

	.page-etohyuki-profile .person-profile-depth--shallow,
	.page-etohyuki-profile .person-profile-depth--mid,
	.page-etohyuki-profile .person-profile-depth--deep {
		min-height: 0;
		padding-top: 88px;
		padding-bottom: 104px;
	}

	.page-etohyuki-profile .person-profile-shallowscape {
		right: -105px;
		bottom: -6px;
		width: 330px;
		opacity: 0.36;
	}

	.page-etohyuki-profile .person-profile-practice-grid {
		gap: 38px;
		margin-top: 44px;
	}

	.page-etohyuki-profile .person-profile-links {
		margin-top: 44px;
	}

	.page-etohyuki-profile .person-profile-qa article:nth-child(2),
	.page-etohyuki-profile .person-profile-qa article:last-child {
		transform: none;
	}

	.page-etohyuki-profile .person-profile-depth--abyss {
		min-height: 300px;
		padding-top: 70px;
		padding-bottom: 76px;
	}
}

/*
 * Philosophy page: COTEN-like page head, Mission/Vision field and alternating
 * value stories, translated into Konoha's water-garden visual language.
 */
.page-main--philosophy {
	--philosophy-side: clamp(80px, 11.111vw, 160px);
	--philosophy-end: clamp(60px, 8.333vw, 120px);
	padding-top: 0;
	overflow: hidden;
}

.philosophy-hero {
	position: relative;
	min-height: 1095px;
	padding: 216px var(--philosophy-end) 0 var(--philosophy-side);
	overflow: hidden;
	background: var(--foam-white);
}

.philosophy-hero__breadcrumb {
	position: relative;
	z-index: 3;
	display: flex;
	align-items: center;
	gap: 18px;
	margin: 0 0 49px;
	font-size: 14px;
	letter-spacing: 0.04em;
}

.philosophy-hero__breadcrumb a {
	color: rgba(var(--text-ink-rgb), 0.52);
	text-decoration: none;
}

.philosophy-hero__breadcrumb a:hover,
.philosophy-hero__breadcrumb a:focus-visible {
	color: var(--link-color);
}

.philosophy-hero__breadcrumb span[aria-hidden="true"] {
	color: var(--water-blue);
	font-size: 11px;
}

.philosophy-hero h1 {
	position: relative;
	z-index: 3;
	margin: 0;
	color: var(--water-blue);
	font-family: var(--font-sans);
	font-size: clamp(112px, 11.111vw, 160px);
	font-weight: 300 !important;
	letter-spacing: -0.055em;
	line-height: 0.8;
}

.philosophy-hero__garden {
	position: absolute;
	inset: 0;
	pointer-events: none;
}

.philosophy-hero__mist,
.philosophy-hero__presence {
	position: absolute;
	display: block;
}

.philosophy-hero__mist {
	background: rgba(228, 243, 244, 0.76);
}

.philosophy-hero__mist--top {
	top: 18px;
	left: -82px;
	width: min(59vw, 850px);
	height: 154px;
	border-radius: 45% 55% 49% 51% / 42% 58% 42% 58%;
	transform: rotate(1.5deg);
}

.philosophy-hero__mist--middle {
	right: -155px;
	bottom: 298px;
	width: min(74vw, 1060px);
	height: 188px;
	border-radius: 57% 43% 52% 48% / 48% 56% 44% 52%;
	background: rgba(221, 243, 245, 0.72);
	transform: rotate(-2deg);
}

.philosophy-hero__mist--bottom {
	right: -100px;
	bottom: 146px;
	width: min(88vw, 1260px);
	height: 188px;
	border-radius: 49% 51% 46% 54% / 44% 53% 47% 56%;
	background: rgba(228, 243, 244, 0.62);
	transform: rotate(1.25deg);
}

.philosophy-hero__presence {
	z-index: 2;
	right: 23%;
	bottom: 360px;
	width: 78px;
	height: 56px;
	border-radius: 54% 46% 49% 51% / 58% 53% 47% 42%;
	background: var(--creature-edge);
	box-shadow: inset -8px -6px 0 var(--creature-mid);
	transform: rotate(-5deg);
}

.philosophy-hero__presence::before,
.philosophy-hero__presence i {
	position: absolute;
	display: block;
	border-radius: 50%;
	background: var(--creature-core);
	content: "";
}

.philosophy-hero__presence::before {
	top: 12px;
	left: 17px;
	width: 36px;
	height: 26px;
}

.philosophy-hero__presence i {
	right: -8px;
	bottom: 1px;
	width: 25px;
	height: 21px;
}

.philosophy-hero__intro {
	position: absolute;
	z-index: 3;
	right: var(--philosophy-end);
	bottom: 0;
	left: var(--philosophy-side);
	min-height: 180px;
	margin: 0;
	font-style: normal;
}

.philosophy-hero__intro p {
	margin: 0;
	font-size: 18px;
	font-weight: 500;
	letter-spacing: 0.025em;
	line-height: 2.5;
}

.philosophy-hero__intro cite {
	display: block;
	margin-top: 18px;
	color: rgba(var(--text-ink-rgb), 0.58);
	font-size: 12px;
	font-style: normal;
	letter-spacing: 0.06em;
}

.philosophy-mission-vision {
	position: relative;
	min-height: 1143px;
	margin-top: 199px;
	padding: 160px var(--philosophy-end) 160px var(--philosophy-side);
	background: rgba(228, 243, 244, 0.42);
}

.philosophy-mission-vision__inner {
	position: relative;
	max-width: 1160px;
	margin: 0 auto;
}

.philosophy-mission-vision__copy {
	position: relative;
	z-index: 2;
	width: 600px;
}

.philosophy-mission-vision__copy > section + section {
	margin-top: 80px;
}

.philosophy-mission-vision h2,
.philosophy-values__header h2 {
	margin: 0;
	color: var(--water-blue);
	font-family: var(--font-sans);
	font-size: 80px;
	font-weight: 400 !important;
	letter-spacing: -0.05em;
	line-height: 1;
}

.philosophy-mission-vision__statement {
	margin: 32px 0 0;
	font-size: 28px;
	font-weight: 600;
	letter-spacing: 0.02em;
	line-height: 1.75;
}

.philosophy-mission-vision__body {
	position: absolute;
	left: 640px;
	width: min(520px, calc(100vw - 800px));
	margin: 0;
	color: var(--ink);
	font-size: 14px;
	letter-spacing: 0.025em;
	line-height: 2.15;
}

.philosophy-mission-vision__copy > section:first-child .philosophy-mission-vision__body {
	top: 575px;
}

.philosophy-mission-vision__copy > section:nth-child(2) .philosophy-mission-vision__body {
	top: 735px;
}

.philosophy-mission-vision__visual {
	position: absolute;
	top: 52px;
	right: -10px;
	width: 470px;
	height: 410px;
}

.philosophy-mission-vision__water,
.philosophy-mission-vision__seed,
.philosophy-mission-vision__rings {
	position: absolute;
	display: block;
}

.philosophy-mission-vision__water {
	inset: 50px 10px 18px 15px;
	border-radius: 58% 42% 51% 49% / 47% 57% 43% 53%;
	background: rgba(114, 174, 235, 0.25);
	transform: rotate(-4deg);
}

.philosophy-mission-vision__seed {
	top: 130px;
	left: 178px;
	width: 112px;
	height: 85px;
	border-radius: 55% 45% 48% 52% / 60% 52% 48% 40%;
	background: var(--foam-white);
	box-shadow: inset -16px -12px 0 rgba(120, 212, 207, 0.42);
}

.philosophy-mission-vision__rings {
	top: 103px;
	left: 121px;
	width: 225px;
	height: 118px;
	border: 2px solid rgba(var(--text-ink-rgb), 0.22);
	border-radius: 50%;
}

.philosophy-mission-vision__rings i {
	position: absolute;
	top: 24px;
	right: 35px;
	bottom: 24px;
	left: 35px;
	border: 1px solid rgba(var(--text-ink-rgb), 0.18);
	border-radius: inherit;
}

.philosophy-values {
	margin-top: 160px;
	padding-bottom: 210px;
	background: var(--foam-white);
}

.philosophy-values__header {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 520px;
	padding: 0 var(--philosophy-end) 0 var(--philosophy-side);
}

.philosophy-values__header h2 {
	grid-column: 2;
}

.philosophy-values__header > div {
	grid-column: 2;
	margin-top: 92px;
}

.philosophy-values__header > div > p {
	margin: 0;
	font-size: 14px;
	letter-spacing: 0.025em;
	line-height: 2;
}

.philosophy-values__flow {
	display: grid;
	grid-template-columns: repeat(5, 1fr);
	gap: 12px;
	margin: 42px 0 0;
	padding: 0;
	list-style: none;
}

.philosophy-values__flow li {
	padding-top: 14px;
	border-top: 1px solid rgba(var(--text-ink-rgb), 0.2);
	font-size: 12px;
	letter-spacing: 0.04em;
}

.philosophy-values__flow span {
	display: block;
	margin-bottom: 8px;
	color: rgba(var(--text-ink-rgb), 0.48);
	font-size: 9px;
}

.philosophy-value {
	display: grid;
	min-height: 625px;
	grid-template-columns: minmax(0, 60%) minmax(330px, 40%);
	align-items: center;
	margin-top: 80px;
}

.philosophy-value__visual {
	position: relative;
	min-height: 560px;
	overflow: hidden;
}

.philosophy-value__visual::before,
.philosophy-value__visual span,
.philosophy-value__visual i,
.philosophy-value__visual b {
	position: absolute;
	display: block;
	content: "";
}

.philosophy-value__visual::before {
	top: 18px;
	right: 0;
	bottom: 18px;
	left: -74px;
	border-radius: 54% 46% 49% 51% / 47% 56% 44% 53%;
	background: rgba(114, 174, 235, 0.53);
}

.philosophy-value__visual span {
	top: 118px;
	left: 26%;
	width: 250px;
	height: 250px;
	border-radius: 36% 64% 39% 61% / 53% 37% 63% 47%;
	background: rgba(255, 255, 255, 0.86);
	transform: rotate(18deg);
}

.philosophy-value__visual i {
	top: 80px;
	right: 19%;
	width: 84px;
	height: 84px;
	border: 14px solid rgba(255, 255, 255, 0.72);
	border-radius: 50%;
}

.philosophy-value__visual b {
	right: 14%;
	bottom: 92px;
	width: 72px;
	height: 53px;
	border-radius: 55% 45% 48% 52% / 58% 54% 46% 42%;
	background: var(--creature-core);
	box-shadow: inset -9px -7px 0 var(--creature-edge);
}

.philosophy-value__copy {
	width: min(400px, calc(100% - 80px));
	margin: 0 auto;
}

.philosophy-value__number {
	margin: 0 0 26px;
	color: var(--water-blue);
	font-size: 11px;
	letter-spacing: 0.12em;
}

.philosophy-value__copy h3 {
	margin: 0;
	font-size: 28px;
	font-weight: 500 !important;
	letter-spacing: 0.025em;
	line-height: 1.75;
}

.philosophy-value__copy h3 + p {
	margin: 28px 0 0;
	font-size: 14px;
	letter-spacing: 0.025em;
	line-height: 2.15;
}

.philosophy-value--reverse {
	grid-template-columns: minmax(330px, 40%) minmax(0, 60%);
}

.philosophy-value--reverse .philosophy-value__visual {
	grid-column: 2;
}

.philosophy-value--reverse .philosophy-value__copy {
	grid-row: 1;
	grid-column: 1;
}

.philosophy-value--words .philosophy-value__visual::before {
	right: -74px;
	left: 0;
	border-radius: 46% 54% 42% 58% / 56% 44% 53% 47%;
	background: rgba(244, 127, 120, 0.58);
}

.philosophy-value--words .philosophy-value__visual span {
	top: 180px;
	left: 23%;
	width: 355px;
	height: 82px;
	border-radius: 52% 48% 58% 42% / 50%;
	transform: rotate(-8deg);
}

.philosophy-value--words .philosophy-value__visual i {
	top: 92px;
	right: 24%;
	width: 66px;
	height: 66px;
	border: 0;
	background: rgba(243, 215, 96, 0.92);
}

.philosophy-value--words .philosophy-value__visual b {
	right: 25%;
	bottom: 104px;
}

.philosophy-value--relations .philosophy-value__visual::before {
	background: rgba(120, 212, 207, 0.62);
}

.philosophy-value--relations .philosophy-value__visual span {
	top: 130px;
	left: 18%;
	width: 230px;
	height: 230px;
	border-radius: 50%;
	background: rgba(114, 174, 235, 0.62);
	transform: none;
}

.philosophy-value--relations .philosophy-value__visual i {
	top: 170px;
	right: 21%;
	width: 180px;
	height: 180px;
	border: 0;
	background: rgba(244, 127, 120, 0.52);
}

@media (max-width: 980px) {
	.page-main--philosophy {
		--philosophy-side: 56px;
		--philosophy-end: 56px;
	}

	.philosophy-hero h1 {
		font-size: clamp(96px, 14vw, 132px);
	}

	.philosophy-mission-vision__copy {
		width: 52%;
	}

	.philosophy-mission-vision__body {
		left: 56%;
		width: 44%;
	}

	.philosophy-mission-vision__visual {
		right: -90px;
		transform: scale(0.82);
	}

	.philosophy-values__header {
		grid-template-columns: minmax(0, 1fr) minmax(420px, 48%);
	}
}

@media (max-width: 700px) {
	.page-main--philosophy {
		--philosophy-side: 24px;
		--philosophy-end: 24px;
	}

	.philosophy-hero {
		min-height: 720px;
		padding-top: 132px;
	}

	.philosophy-hero__breadcrumb {
		gap: 12px;
		margin-bottom: 42px;
		font-size: 11px;
	}

	.philosophy-hero h1 {
		font-size: clamp(57px, 17vw, 70px);
	}

	.philosophy-hero__mist--top {
		top: 72px;
		left: -120px;
		width: 390px;
		height: 82px;
	}

	.philosophy-hero__mist--middle {
		right: -205px;
		bottom: 244px;
		width: 520px;
		height: 112px;
	}

	.philosophy-hero__mist--bottom {
		right: -175px;
		bottom: 150px;
		width: 560px;
		height: 104px;
	}

	.philosophy-hero__presence {
		right: 58px;
		bottom: 288px;
		width: 56px;
		height: 41px;
	}

	.philosophy-hero__presence::before {
		top: 9px;
		left: 13px;
		width: 26px;
		height: 19px;
	}

	.philosophy-hero__presence i {
		right: -6px;
		width: 19px;
		height: 16px;
	}

	.philosophy-hero__intro {
		bottom: 40px;
		min-height: 0;
	}

	.philosophy-hero__intro p {
		font-size: 14px;
		line-height: 2.15;
	}

	.philosophy-hero__intro cite {
		margin-top: 14px;
		font-size: 10px;
	}

	.philosophy-mission-vision {
		min-height: 0;
		margin-top: 104px;
		padding: 88px 24px 100px;
	}

	.philosophy-mission-vision__copy {
		width: 100%;
	}

	.philosophy-mission-vision__copy > section + section {
		margin-top: 72px;
	}

	.philosophy-mission-vision h2,
	.philosophy-values__header h2 {
		font-size: 52px;
	}

	.philosophy-mission-vision__statement {
		margin-top: 24px;
		font-size: 21px;
		line-height: 1.7;
	}

	.philosophy-mission-vision__body {
		position: static;
		width: auto;
		margin-top: 24px;
		font-size: 13px;
		line-height: 2.05;
	}

	.philosophy-mission-vision__visual {
		position: relative;
		top: auto;
		right: auto;
		width: 100%;
		height: 285px;
		margin-top: 64px;
		transform: none;
	}

	.philosophy-mission-vision__water {
		inset: 34px 5px 10px;
	}

	.philosophy-mission-vision__seed {
		top: 91px;
		left: calc(50% - 50px);
		width: 100px;
		height: 76px;
	}

	.philosophy-mission-vision__rings {
		top: 72px;
		left: calc(50% - 100px);
		width: 200px;
		height: 104px;
	}

	.philosophy-values {
		margin-top: 104px;
		padding-bottom: 120px;
	}

	.philosophy-values__header {
		display: block;
		padding: 0 24px;
	}

	.philosophy-values__header > div {
		margin-top: 52px;
	}

	.philosophy-values__header > div > p {
		font-size: 13px;
		line-height: 2;
	}

	.philosophy-values__flow {
		gap: 7px;
		margin-top: 32px;
	}

	.philosophy-values__flow li {
		padding-top: 10px;
		font-size: 10px;
	}

	.philosophy-value,
	.philosophy-value--reverse {
		display: flex;
		min-height: 0;
		flex-direction: column;
		margin-top: 86px;
	}

	.philosophy-value__visual,
	.philosophy-value--reverse .philosophy-value__visual {
		width: 100%;
		min-height: 330px;
		order: 1;
	}

	.philosophy-value__copy,
	.philosophy-value--reverse .philosophy-value__copy {
		width: auto;
		order: 2;
		margin: 45px 24px 0;
	}

	.philosophy-value__visual::before {
		left: -80px;
	}

	.philosophy-value--words .philosophy-value__visual::before {
		right: -80px;
	}

	.philosophy-value__visual span {
		top: 78px;
		left: 22%;
		width: 150px;
		height: 150px;
	}

	.philosophy-value__visual i {
		top: 54px;
		right: 14%;
		width: 58px;
		height: 58px;
		border-width: 9px;
	}

	.philosophy-value__visual b {
		right: 14%;
		bottom: 55px;
		width: 58px;
		height: 42px;
	}

	.philosophy-value--words .philosophy-value__visual span {
		top: 112px;
		left: 12%;
		width: 250px;
		height: 60px;
	}

	.philosophy-value--relations .philosophy-value__visual span {
		top: 82px;
		left: 12%;
		width: 145px;
		height: 145px;
	}

	.philosophy-value--relations .philosophy-value__visual i {
		top: 108px;
		right: 14%;
		width: 125px;
		height: 125px;
	}

	.philosophy-value__copy h3 {
		font-size: 24px;
	}

	.philosophy-value__copy h3 + p {
		margin-top: 22px;
		font-size: 13px;
		line-height: 2.05;
	}
}

.site-brand__mark {
	border-radius: 52% 48% 46% 54% / 48% 54% 46% 52%;
}

/* A single waterline replaces the former observation diagram. */
.home-hero {
	grid-template-columns: minmax(390px, 0.86fr) minmax(420px, 1.14fr);
}

.quiet-water {
	position: relative;
	width: min(48vw, 700px);
	aspect-ratio: 1.4;
	justify-self: end;
	transform: translate(5vw, 5vh);
}

.quiet-water__line,
.quiet-water__touch,
.quiet-water__ripple,
.quiet-water__note {
	position: absolute;
}

.quiet-water__line {
	top: 55%;
	right: 0;
	left: 7%;
	height: 1px;
	background: rgba(var(--text-ink-rgb), 0.32);
}

.quiet-water__line::after {
	position: absolute;
	right: 0;
	top: -2px;
	width: 5px;
	height: 5px;
	border-radius: 50%;
	background: var(--paper);
	box-shadow: 0 0 0 1px rgba(var(--text-ink-rgb), 0.42);
	content: "";
}

.quiet-water__touch {
	top: calc(55% - 3px);
	left: 42%;
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: var(--navy);
	animation: quiet-touch 6s ease-in-out infinite;
}

.quiet-water__ripple {
	top: 55%;
	left: 42%;
	width: 66%;
	height: 24%;
	border: 1px solid rgba(var(--text-ink-rgb), 0.32);
	border-radius: 50%;
	transform: translate(-50%, -50%);
	animation: quiet-ripple 7s ease-in-out infinite;
}

.quiet-water__note {
	top: calc(55% + 25px);
	left: 44%;
	padding: 2px 6px;
	background: var(--paper);
	color: var(--ink);
	font-family: var(--font-sans);
	font-size: 9px;
	letter-spacing: 0.08em;
}

@keyframes quiet-touch {
	0%, 100% { transform: translateX(0); }
	50% { transform: translateX(8px); }
}

@keyframes quiet-ripple {
	0%, 100% { transform: translate(-50%, -50%) scale(0.985); }
	50% { transform: translate(-50%, -50%) scale(1.015); }
}

/* The unnamed presence is deliberately featureless and slightly unresolved. */
.little-presence {
	position: absolute;
	z-index: 3;
	display: block;
	width: 46px;
	height: 35px;
	border-radius: 54% 46% 51% 49% / 59% 56% 44% 41%;
	background: var(--creature-mid);
	box-shadow: 0 8px 20px rgba(var(--text-ink-rgb), 0.11), inset -5px -5px 0 var(--creature-edge);
	animation: quietly-inhabits 5.4s ease-in-out infinite;
}

.little-presence::before,
.little-presence::after,
.little-presence i {
	position: absolute;
	display: block;
	border-radius: 50%;
	background: var(--creature-edge);
	content: "";
}

.little-presence::before {
	left: -5px;
	bottom: 3px;
	width: 18px;
	height: 18px;
}

.little-presence::after {
	right: -3px;
	bottom: 1px;
	width: 16px;
	height: 16px;
}

.little-presence i {
	top: -4px;
	left: 13px;
	width: 22px;
	height: 19px;
	background: var(--creature-core);
}

@keyframes quietly-inhabits {
	0%, 100% { transform: translateY(0) rotate(-1.5deg) scaleX(1); }
	50% { transform: translateY(-4px) rotate(1deg) scaleX(0.98); }
}

.home-introduction {
	position: relative;
	background: #FFFFFF;
}

.little-presence--home {
	right: clamp(28px, 7vw, 110px);
	bottom: clamp(42px, 7vw, 105px);
	opacity: 0.82;
}

/* Philosophy now reads as pale water and breathing room, not outer space. */
.philosophy-feature {
	min-height: 108svh;
	background: var(--mist);
	color: var(--ink);
}

.philosophy-feature::before {
	right: 32%;
	background: rgba(var(--text-ink-rgb), 0.08);
}

.philosophy-feature__head .eyebrow,
.philosophy-feature__source,
.philosophy-feature__copy h2 + p {
	color: var(--ink-soft);
}

.philosophy-feature .section-code--light,
.philosophy-feature .section-code--light span {
	color: var(--ink);
}

.philosophy-feature .section-code--light::before {
	background: var(--navy);
}

.philosophy-feature__quote::before {
	width: 94%;
	height: 43%;
	border-color: rgba(var(--text-ink-rgb), 0.36);
	transform: translate(-50%, -50%);
}

.philosophy-feature__quote::after {
	display: none;
}

.quote-line--two {
	background: rgba(var(--text-ink-rgb), 0.16);
}

.text-link--light {
	border-color: var(--navy);
	color: var(--ink);
}

.little-presence--philosophy {
	right: 4%;
	bottom: 27%;
}

/* The school opens a warmer, livelier room inside the company site. */
.business-feature {
	background: #FFFFFF;
}

.business-feature__visual {
	background: #FFFFFF;
}

.business-feature__visual::before,
.business-feature__visual::after {
	display: none;
}

.school-signal {
	top: auto;
	bottom: 0;
	height: 58%;
	border-radius: 18px 18px 0 0;
	transform-origin: bottom;
	transition: transform 500ms cubic-bezier(0.22, 1, 0.36, 1);
}

.school-signal--one { left: 10%; background: var(--school-coral); transform: rotate(-1.5deg); }
.school-signal--two { left: 14.5%; height: 68%; background: var(--school-yellow); transform: rotate(0.8deg); }
.school-signal--three { left: 19%; height: 52%; background: var(--school-aqua); transform: rotate(-0.5deg); }
.school-signal--four { left: 23.5%; height: 63%; background: var(--school-violet); transform: rotate(1.2deg); }

.business-feature__visual:hover .school-signal:nth-child(odd) { transform: translateY(-8px) rotate(-1deg); }
.business-feature__visual:hover .school-signal:nth-child(even) { transform: translateY(6px) rotate(1deg); }

.school-orbit {
	inset: 0;
	width: auto;
	height: auto;
	border: 0;
	border-radius: 0;
	transform: none;
}

.school-orbit::before,
.school-orbit::after {
	position: absolute;
	border-radius: 50%;
	content: "";
}

.school-orbit::before {
	top: 15%;
	right: 10%;
	width: 42%;
	aspect-ratio: 1;
	background: rgba(243, 215, 96, 0.5);
}

.school-orbit::after {
	right: 31%;
	bottom: 15%;
	width: 20%;
	aspect-ratio: 1;
	background: rgba(120, 212, 207, 0.44);
}

.school-orbit span {
	z-index: 2;
	padding: 7px 10px;
	border: 1px solid rgba(var(--text-ink-rgb), 0.23);
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.78);
	font-family: var(--font-sans);
	font-size: 11px;
	font-weight: 400;
	letter-spacing: 0.08em;
}

.school-orbit span:nth-child(1) { top: 21%; left: 38%; }
.school-orbit span:nth-child(2) { top: 47%; left: 58%; }
.school-orbit span:nth-child(3) { top: 70%; right: 10%; }

/* Questions become a warm editorial pause rather than a research agenda. */
.questions-feature {
	background: var(--warm-paper);
	color: var(--ink);
}

.questions-feature .section-code--light,
.questions-feature .section-code--light span {
	color: var(--ink);
}

.questions-feature .section-code--light::before {
	background: var(--navy);
}

.questions-feature__intro h2 + p,
.question-list li > span,
.question-list li > i {
	color: var(--ink);
}

.question-list,
.question-list li {
	border-color: rgba(var(--text-ink-rgb), 0.2);
}

.question-list li > span {
	font-family: var(--font-sans);
	font-size: 9px;
	letter-spacing: 0.06em;
}

.question-list li > i {
	padding: 5px 10px;
	border: 1px solid rgba(var(--text-ink-rgb), 0.18);
	border-radius: 999px;
	font-family: var(--font-sans);
	font-size: 10px;
	letter-spacing: 0.06em;
}

.company-feature {
	overflow: hidden;
	background: #FFFFFF;
}

.round-link {
	border-radius: 52% 48% 45% 55% / 49% 55% 45% 51%;
	transform: translate(var(--play-x, 0), var(--play-y, 0));
}

.round-link:hover,
.round-link:focus-visible {
	background: var(--mist-blue);
	color: var(--ink);
	transform: translate(var(--play-x, 0), var(--play-y, 0)) rotate(-4deg);
}

.question-list li p,
.stance-list li > div {
	transition: transform 420ms cubic-bezier(0.22, 1, 0.36, 1);
}

.question-list li:hover p,
.stance-list li:hover > div {
	transform: translateX(7px);
}

.little-presence--company {
	right: -13px;
	bottom: 14%;
	opacity: 0.72;
}

.contact-feature {
	background: var(--mist);
}

/* Page heroes share one waterline, then take on a small page-specific gesture. */
.page-hero {
	background: #FFFFFF;
}

.page-hero__figure {
	right: -7vw;
	bottom: -12vw;
	width: min(53vw, 800px);
}

.page-hero__figure::before {
	top: 48%;
	right: 0;
	left: 5%;
	width: auto;
	height: 1px;
	border: 0;
	border-radius: 0;
	background: rgba(var(--text-ink-rgb), 0.22);
	transform: none;
}

.page-hero__figure::after {
	top: 48%;
	left: 48%;
	width: 68%;
	height: 28%;
	border-color: rgba(var(--text-ink-rgb), 0.24);
	transform: translate(-50%, -50%);
}

.page-hero__figure i {
	display: none;
}

.page-hero__figure span {
	top: 51%;
	left: auto;
	right: 7%;
	color: rgba(var(--text-ink-rgb), 0.32);
	font-size: 8px;
}

.page-main--about .page-hero__figure::after {
	width: 56%;
	height: 22%;
	border-radius: 48% 52% 45% 55%;
}

.page-main--philosophy .page-hero__figure::after {
	width: 78%;
	height: 31%;
}

.page-main--business .page-hero__figure::after {
	width: 35%;
	height: 35%;
	border: 0;
	background: rgba(243, 215, 96, 0.44);
}

.page-main--business .page-hero__figure::before {
	height: 7px;
	background: linear-gradient(90deg, var(--school-coral) 0 18%, transparent 18% 23%, var(--school-aqua) 23% 40%, transparent 40% 100%);
}

.page-main--contact .page-hero__figure::after {
	display: none;
}

.page-opening {
	background: #FFFFFF;
}

.stance-section,
.contact-notes {
	background: var(--warm-paper);
}

.stance-list li > span {
	display: grid;
	width: 27px;
	height: 27px;
	place-items: center;
	border: 1px solid rgba(var(--text-ink-rgb), 0.2);
	border-radius: 50%;
}

/* A plain relation line replaces the former three-axis model. */
.about-position {
	background: #FFFFFF;
}

.about-position__diagram::before {
	top: 50%;
	right: 8%;
	left: 8%;
	height: 1px;
	background: rgba(var(--text-ink-rgb), 0.3);
}

.about-position__diagram::after {
	display: none;
}

.about-position__ring {
	top: 50%;
	left: 50%;
	width: 66%;
	height: 29%;
	border-color: rgba(var(--text-ink-rgb), 0.28);
	transform: translate(-50%, -50%);
}

.about-position__diagram i:nth-of-type(1) { top: calc(50% - 3px); left: 20%; }
.about-position__diagram i:nth-of-type(2) { top: calc(50% - 3px); left: 50%; }
.about-position__diagram i:nth-of-type(3) { top: calc(50% - 3px); right: 18%; }
.about-position__diagram small:nth-of-type(1) { top: 43%; left: 14%; }
.about-position__diagram small:nth-of-type(2) { top: 53%; left: 45%; }
.about-position__diagram small:nth-of-type(3) { top: 43%; right: 11%; }

/* One deep-water chapter remains, now with a single ripple and a resident. */
.philosophy-statement {
	background: var(--deep-water);
}

.philosophy-statement__mark {
	right: -5vw;
	bottom: -11vw;
	width: 60vw;
}

.philosophy-statement__mark::before {
	width: 86%;
	height: 36%;
	border-color: rgba(255, 255, 255, 0.23);
	transform: translate(-50%, -50%);
}

.philosophy-statement__mark::after,
.philosophy-statement__mark i {
	display: none;
}

.philosophy-statement__mark span {
	top: 49%;
	left: 49%;
}

.philosophy-statement__mark small {
	top: 39%;
	left: 22%;
}

.little-presence--statement {
	right: clamp(30px, 8vw, 120px);
	bottom: clamp(44px, 7vw, 100px);
	opacity: 0.8;
	filter: blur(1px);
}

.philosophy-copy {
	background: #FFFFFF;
}

.language-flow {
	background: var(--mist);
}

.language-flow li::before {
	background: var(--navy);
}

.language-flow li:first-child::before {
	background: var(--school-coral);
}

.language-flow li small {
	font-family: var(--font-sans);
	letter-spacing: 0.04em;
}

.philosophy-principles article span {
	display: grid;
	width: 27px;
	height: 27px;
	place-items: center;
	border: 1px solid rgba(var(--text-ink-rgb), 0.2);
	border-radius: 50%;
}

/* Business pages inherit the school's warmer, hand-placed rhythm. */
.business-school {
	background: #FFFFFF;
}

.business-school__signal {
	background: #FFFFFF;
}

.business-school__signal::before,
.business-school__signal::after {
	display: block;
	border-radius: 50%;
	content: "";
}

.business-school__signal::before {
	top: 12%;
	right: 8%;
	bottom: auto;
	left: auto;
	width: 46%;
	height: auto;
	aspect-ratio: 1;
	background: rgba(243, 215, 96, 0.56);
}

.business-school__signal::after {
	top: auto;
	right: 30%;
	bottom: 11%;
	left: auto;
	width: 19%;
	height: auto;
	aspect-ratio: 1;
	background: rgba(120, 212, 207, 0.46);
}

.business-school__signal i {
	top: auto;
	bottom: 0;
	width: 1.5%;
	border-radius: 16px 16px 0 0;
}

.business-school__signal i:nth-child(1) { left: 10%; height: 58%; background: var(--school-coral); transform: rotate(-1.5deg); }
.business-school__signal i:nth-child(2) { left: 14.5%; height: 68%; background: var(--school-yellow); transform: rotate(0.8deg); }
.business-school__signal i:nth-child(3) { left: 19%; height: 52%; background: var(--school-aqua); transform: rotate(-0.5deg); }
.business-school__signal i:nth-child(4) { left: 23.5%; height: 63%; background: var(--school-violet); transform: rotate(1.2deg); }

.business-school__signal span {
	top: 44%;
	left: 64%;
	width: auto;
	aspect-ratio: auto;
	padding: 12px 18px;
	border-color: rgba(var(--text-ink-rgb), 0.22);
	border-radius: 52% 48% 44% 56%;
	background: rgba(255, 255, 255, 0.82);
	font-family: var(--font-sans);
	font-size: 13px;
	transform: translate(-50%, -50%) rotate(-2deg);
}

.school-method {
	background: #F3D760;
	color: var(--ink);
}

.school-method .split-heading > p,
.school-method li span,
.school-method li p {
	color: var(--ink-soft);
}

.school-method ol,
.school-method li,
.school-method li + li {
	border-color: rgba(var(--text-ink-rgb), 0.2);
}

.school-method li {
	position: relative;
}

.school-method li::before {
	position: absolute;
	top: -5px;
	left: 0;
	width: 9px;
	height: 9px;
	border-radius: 50%;
	background: var(--school-coral);
	content: "";
}

.school-method li:nth-child(2)::before { background: var(--school-aqua); }
.school-method li:nth-child(3)::before { background: var(--school-violet); }

.business-scope {
	background: #FFFFFF;
}

/* Company remains factual; the surrounding gesture becomes gently odd. */
.company-profile {
	background: #FFFFFF;
}

.company-coordinate {
	background: var(--warm-paper);
}

.company-coordinate__map::before,
.company-coordinate__map::after {
	display: none;
}

.company-coordinate__map i:first-child {
	display: block;
	top: 50%;
	right: 7%;
	bottom: auto;
	left: 7%;
	width: auto;
	height: 1px;
	background: rgba(var(--text-ink-rgb), 0.3);
}

.company-coordinate__map i:nth-child(2) {
	display: none;
}

.company-coordinate__map span {
	top: calc(50% - 3px);
	left: 38%;
	background: var(--school-coral);
}

.company-coordinate__map small {
	top: calc(50% + 16px);
	left: 39%;
	background: var(--warm-paper);
	font-family: var(--font-sans);
	letter-spacing: 0.06em;
}

.little-presence em {
	position: absolute;
	top: -4px;
	left: 13px;
	display: block;
	width: 22px;
	height: 19px;
	border-radius: 50%;
	background: inherit;
}

.little-presence--profile {
	right: 8%;
	top: calc(50% - 30px);
	opacity: 0.78;
	filter: blur(0.75px);
}

.contact-opening {
	background: #FFFFFF;
}

.contact-notes {
	background: var(--mist);
}

.next-page {
	background: var(--warm-paper);
}

.global-footer {
	background: #FFFFFF;
}

@media (max-width: 900px) {
	.home-hero {
		grid-template-columns: 1fr;
	}

	.quiet-water {
		position: absolute;
		right: -24vw;
		bottom: 7vh;
		width: min(105vw, 620px);
		transform: none;
	}

	.philosophy-feature__quote {
		width: min(100%, 560px);
	}

	.page-hero__figure {
		right: -25vw;
		bottom: -16vw;
		width: 93vw;
	}

	.philosophy-statement__mark {
		right: -34vw;
		bottom: -8vw;
		width: 102vw;
	}
}

@media (max-width: 520px) {
	.quiet-water {
		right: -42vw;
		bottom: 4vh;
		width: 132vw;
	}

	.quiet-water__note {
		left: 39%;
		font-size: 8px;
	}

	.little-presence {
		width: 39px;
		height: 30px;
	}

	.little-presence--home {
		right: 24px;
		bottom: 32px;
	}

	.philosophy-feature__copy h2 {
		font-size: 27px;
	}

	.school-orbit span {
		font-size: 9px;
	}

	.question-list li > i {
		display: block;
		grid-column: 2;
		width: max-content;
		margin-top: -14px;
	}

	.page-hero__figure {
		right: -36vw;
		bottom: -18vw;
		width: 115vw;
	}

	.page-main--business .page-hero__figure::before {
		height: 5px;
	}

	.philosophy-statement__mark {
		right: -54vw;
		bottom: -4vw;
		width: 135vw;
	}

	.little-presence--statement {
		right: 24px;
		bottom: 38px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.quiet-water__touch,
	.quiet-water__ripple,
	.little-presence {
		animation: none !important;
	}
}

/*
 * HOME philosophy study, v2.
 * A quiet statement opens into a long-form reading surface.
 */
.connection-statement {
	position: relative;
	display: grid;
	min-height: 90svh;
	grid-template-columns: minmax(160px, 0.32fr) minmax(540px, 1fr);
	column-gap: clamp(50px, 8vw, 140px);
	align-content: start;
	padding: clamp(110px, 11vw, 170px) var(--gutter) clamp(100px, 11vw, 165px);
	overflow: hidden;
	background: #FFFFFF;
}

.connection-statement > .section-code {
	grid-column: 1;
}

.connection-statement__message {
	position: relative;
	z-index: 2;
	grid-column: 2;
	max-width: 720px;
	margin-top: clamp(74px, 11vh, 125px);
}

.connection-statement__message .eyebrow {
	margin-bottom: clamp(36px, 5vw, 62px);
}

.connection-statement__message h2 {
	margin: 0;
	font-family: var(--font-sans);
	font-size: clamp(48px, 5vw, 72px);
	font-weight: 400;
	letter-spacing: -0.035em;
	line-height: 1.48;
}

.connection-statement__water {
	position: absolute;
	right: -5vw;
	bottom: 15%;
	width: min(42vw, 620px);
	height: 1px;
	background: rgba(var(--text-ink-rgb), 0.2);
}

.connection-statement__water::before {
	position: absolute;
	top: 0;
	left: 40%;
	width: 54%;
	height: clamp(70px, 8vw, 118px);
	border: 1px solid rgba(var(--text-ink-rgb), 0.2);
	border-radius: 50%;
	content: "";
	transform: translate(-50%, -50%);
}

.connection-statement__water i {
	position: absolute;
	top: -3px;
	left: 40%;
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: var(--navy);
}

.connection-statement__water span {
	position: absolute;
	top: -2px;
	right: 0;
	width: 5px;
	height: 5px;
	border-radius: 50%;
	background: #FFFFFF;
	box-shadow: 0 0 0 1px rgba(var(--text-ink-rgb), 0.35);
}

.connection-essay {
	position: relative;
	padding: clamp(110px, 11vw, 170px) var(--gutter) clamp(130px, 15vw, 230px);
	overflow: hidden;
	background: #E4F3F4;
	color: var(--ink);
}

.connection-essay__header {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 40px;
}

.connection-essay__header > p:last-child {
	margin: 2px 0 0;
	color: var(--ink);
	font-size: 8px;
	font-weight: 600;
	letter-spacing: 0.18em;
}

.connection-essay__opening,
.connection-essay__choice,
.connection-essay__balance,
.connection-essay__movement,
.connection-essay__care,
.connection-essay__declaration {
	position: relative;
	z-index: 2;
}

.connection-essay__opening {
	max-width: 720px;
	margin: clamp(90px, 12vw, 175px) 0 0 8vw;
}

.connection-essay__opening h2 {
	margin: 0 0 clamp(50px, 6vw, 76px);
	font-family: var(--font-sans);
	font-size: clamp(38px, 4.1vw, 60px);
	font-weight: 400;
	letter-spacing: -0.025em;
	line-height: 1.55;
}

.connection-essay__opening p,
.connection-essay__choice > p:not(.connection-essay__emphasis),
.connection-essay__balance p,
.connection-essay__movement p,
.connection-essay__care > p:not(.connection-essay__emphasis),
.connection-essay__declaration > p:first-child {
	margin: 0;
	color: var(--ink);
	font-size: clamp(14px, 1.15vw, 17px);
	letter-spacing: 0.055em;
	line-height: 2.35;
}

.connection-essay__opening p + p,
.connection-essay__balance p + p {
	margin-top: 26px;
}

.connection-essay__choice {
	max-width: 880px;
	margin: clamp(150px, 16vw, 240px) 3vw 0 auto;
}

.connection-essay__emphasis {
	margin: clamp(42px, 5vw, 70px) 0;
	font-family: var(--font-sans);
	font-size: clamp(25px, 2.7vw, 41px);
	font-weight: 400;
	letter-spacing: -0.015em;
	line-height: 1.85;
}

.connection-essay__balance {
	max-width: 680px;
	margin: clamp(150px, 16vw, 235px) 0 0 15vw;
}

.connection-directions {
	position: relative;
	z-index: 2;
	max-width: 760px;
	margin: clamp(155px, 17vw, 250px) auto 0;
	border-top: 1px solid rgba(var(--text-ink-rgb), 0.24);
	border-bottom: 1px solid rgba(var(--text-ink-rgb), 0.24);
}

.connection-directions > p {
	display: grid;
	grid-template-columns: 105px 1fr;
	gap: 30px;
	align-items: baseline;
	margin: 0;
	padding: 29px 0;
	border-bottom: 1px solid rgba(var(--text-ink-rgb), 0.14);
}

.connection-directions > p:last-of-type {
	border-bottom: 0;
}

.connection-directions small {
	color: var(--ink);
	font-size: 8px;
	font-weight: 600;
	letter-spacing: 0.18em;
}

.connection-directions span:not(.little-presence) {
	font-family: var(--font-sans);
	font-size: clamp(21px, 2vw, 30px);
	letter-spacing: 0.035em;
}

.little-presence--connection {
	right: -72px;
	bottom: 24px;
	opacity: 0.76;
	filter: blur(0.75px);
}

.connection-essay__movement {
	max-width: 650px;
	margin: clamp(140px, 15vw, 220px) 8vw 0 auto;
}

.connection-essay__care {
	max-width: 900px;
	margin: clamp(155px, 17vw, 250px) 0 0 7vw;
}

.connection-essay__care .connection-essay__emphasis {
	margin-bottom: 0;
}

.connection-essay__declaration {
	max-width: 900px;
	margin: clamp(180px, 19vw, 280px) 0 0 auto;
	padding-top: clamp(50px, 6vw, 76px);
	border-top: 1px solid rgba(var(--text-ink-rgb), 0.32);
}

.connection-essay__declaration > p:nth-child(2) {
	margin: 45px 0 0;
	font-family: var(--font-sans);
	font-size: clamp(27px, 3.2vw, 47px);
	font-weight: 400;
	letter-spacing: -0.02em;
	line-height: 1.8;
}

.connection-essay__declaration .text-link {
	margin-top: 68px;
	margin-right: 0;
}

.sp-line-break {
	display: none;
}

.connection-essay__waterline {
	position: absolute;
	top: 29%;
	right: 0;
	width: 28vw;
	height: 1px;
	background: rgba(var(--text-ink-rgb), 0.16);
}

.connection-essay__waterline i {
	position: absolute;
	top: -3px;
	left: 0;
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: var(--school-coral);
}

@media (max-width: 900px) {
	.connection-statement {
		min-height: 78svh;
		grid-template-columns: 1fr;
		padding-top: 100px;
	}

	.connection-statement > .section-code,
	.connection-statement__message {
		grid-column: 1;
	}

	.connection-statement__message {
		margin-top: 76px;
		margin-left: 12vw;
	}

	.connection-statement__water {
		right: -24vw;
		bottom: 12%;
		width: 76vw;
	}

	.connection-essay__opening,
	.connection-essay__balance,
	.connection-essay__care {
		margin-left: 0;
	}

	.connection-essay__choice,
	.connection-essay__movement,
	.connection-essay__declaration {
		margin-right: 0;
	}

	.connection-essay__waterline {
		display: none;
	}
}

@media (max-width: 520px) {
	.connection-statement {
		min-height: 72svh;
		padding-top: 88px;
		padding-bottom: 88px;
	}

	.connection-statement__message {
		margin-top: 58px;
		margin-left: 9vw;
	}

	.connection-statement__message .eyebrow {
		margin-bottom: 28px;
	}

	.connection-statement__message h2 {
		font-size: clamp(42px, 12vw, 52px);
		line-height: 1.48;
	}

	.connection-statement__water {
		right: -34vw;
		bottom: 9%;
		width: 96vw;
	}

	.connection-essay {
		padding-top: 88px;
		padding-bottom: 120px;
	}

	.connection-essay__header {
		display: block;
	}

	.connection-essay__header > p:last-child {
		margin-top: -14px;
	}

	.connection-essay__opening {
		margin-top: 84px;
	}

	.connection-essay__opening h2 {
		margin-bottom: 46px;
		font-size: 35px;
	}

	.connection-essay__opening p,
	.connection-essay__choice > p:not(.connection-essay__emphasis),
	.connection-essay__balance p,
	.connection-essay__movement p,
	.connection-essay__care > p:not(.connection-essay__emphasis),
	.connection-essay__declaration > p:first-child {
		font-size: 14px;
		line-height: 2.25;
	}

	.connection-essay__opening br,
	.connection-essay__choice br,
	.connection-essay__balance br,
	.connection-essay__movement br,
	.connection-essay__care br {
		display: none;
	}

	.connection-essay__choice,
	.connection-essay__balance,
	.connection-essay__movement,
	.connection-essay__care {
		margin-top: 105px;
	}

	.connection-essay__emphasis {
		margin: 42px 0;
		font-size: 23px;
		letter-spacing: -0.025em;
		line-height: 1.82;
	}

	.connection-directions {
		margin-top: 115px;
	}

	.connection-directions > p {
		grid-template-columns: 66px 1fr;
		gap: 16px;
		padding: 24px 0;
	}

	.connection-directions span:not(.little-presence) {
		font-size: 21px;
	}

	.little-presence--connection {
		right: 2px;
		bottom: -42px;
	}

	.connection-essay__declaration {
		margin-top: 130px;
		padding-top: 46px;
	}

	.connection-essay__declaration > p:nth-child(2) {
		margin-top: 34px;
		font-size: 26px;
		line-height: 1.8;
	}

	.sp-line-break {
		display: inline;
	}

	.connection-essay__declaration .text-link {
		margin-top: 48px;
	}
}

/*
 * HOME philosophy study, v3.
 * The main statement now lives in the hero; this section begins with society,
 * narrows into a question, and ends with the company's position.
 */
.home-hero__copy {
	max-width: 650px;
}

.home-hero h1 {
	font-size: clamp(52px, 5.2vw, 78px);
	line-height: 1.45;
}

.connection-essay--corporate {
	padding-bottom: clamp(145px, 16vw, 240px);
	background: #E4F3F4;
}

.connection-essay--corporate .connection-essay__opening {
	max-width: 900px;
}

.connection-essay--corporate .connection-essay__opening h2 {
	font-size: clamp(35px, 3.65vw, 54px);
	line-height: 1.65;
}

.connection-essay__context {
	max-width: 760px;
}

.connection-essay__context > p {
	font-size: clamp(15px, 1.22vw, 18px) !important;
	line-height: 2.45 !important;
}

.connection-essay__tension {
	max-width: 780px;
	margin-left: 10vw;
}

.connection-essay__tension > p {
	color: var(--ink);
	font-family: var(--font-sans);
	font-size: clamp(30px, 3.05vw, 46px);
	font-weight: 400;
	letter-spacing: -0.02em;
	line-height: 1.82;
}

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

.connection-actions li {
	display: flex;
	align-items: center;
	gap: 22px;
	margin: 0;
	font-family: var(--font-sans);
	font-size: clamp(22px, 2vw, 30px);
	letter-spacing: 0.02em;
	line-height: 1.7;
}

.connection-actions li::before {
	width: 34px;
	height: 1px;
	flex: 0 0 auto;
	background: rgba(var(--text-ink-rgb), 0.36);
	content: "";
}

.connection-actions li + li {
	margin-top: 17px;
}

.connection-actions li:nth-child(2) {
	margin-left: 7%;
}

.connection-actions li:nth-child(3) {
	margin-left: 14%;
}

.connection-actions li:nth-child(4) {
	margin-left: 21%;
}

.connection-essay__question {
	max-width: 940px;
}

.connection-essay__question > p:last-child {
	margin-top: 0;
}

.mobile-break {
	display: none;
}

.connection-essay--corporate .connection-essay__declaration {
	max-width: 980px;
}

@media (max-width: 900px) {
	.home-hero__copy {
		max-width: 590px;
	}

	.connection-essay__tension {
		margin-left: 0;
	}

	.connection-essay__context,
	.connection-essay__movement,
	.connection-essay__declaration {
		margin-right: 0;
	}
}

@media (max-width: 520px) {
	.home-hero h1 {
		font-size: clamp(43px, 12.2vw, 52px);
		line-height: 1.48;
	}

	.connection-essay--corporate {
		padding-top: 88px;
		padding-bottom: 120px;
	}

	.connection-essay--corporate .connection-essay__opening h2 {
		font-size: 28px;
		line-height: 1.72;
	}

	.connection-essay__context,
	.connection-essay__tension,
	.connection-essay__movement,
	.connection-essay__question {
		margin-top: 100px;
	}

	.connection-essay__context > p {
		font-size: 14px !important;
		line-height: 2.3 !important;
	}

	.connection-essay__tension > p {
		font-size: 27px;
		line-height: 1.86;
	}

	.connection-actions li {
		gap: 15px;
		font-size: 21px;
	}

	.connection-actions li::before {
		width: 24px;
	}

	.connection-actions li:nth-child(2) {
		margin-left: 8px;
	}

	.connection-actions li:nth-child(3) {
		margin-left: 16px;
	}

	.connection-actions li:nth-child(4) {
		margin-left: 24px;
	}

	.connection-essay__question .connection-essay__emphasis {
		font-size: 23px;
		letter-spacing: -0.025em;
		line-height: 1.86;
	}

	.mobile-break {
		display: block;
		height: 0;
	}
}

/*
 * Typography and HOME question, v4.
 * The entire prototype uses a single humanist gothic family. Hierarchy comes
 * from weight, spacing and scale rather than switching type families.
 */
body h1,
body h2,
body h3 {
	font-family: var(--font-sans) !important;
	font-weight: 600 !important;
}

/*
 * Latin display voice. The Japanese headings and body copy stay in the
 * established gothic stack; only the large English landmarks use Nunito.
 */
.home-coten__mission h2,
.home-coten__services-intro h2,
.home-coten__news-heading h2,
.philosophy-hero h1,
.philosophy-mission-vision h2,
.philosophy-values__header h2,
.company-hero__title h1,
.company-water-heading h2,
.person-profile-hero__heading h1,
.person-profile-section__heading h2 {
	font-family: var(--font-display-latin) !important;
}

.site-brand__mark,
.school-orbit span,
.question-list li > span,
.question-list li > i,
.language-flow li small,
.business-school__signal span,
.company-coordinate__map small {
	font-weight: 500;
}

.question-list li p,
.philosophy-statement blockquote p,
.language-flow li strong,
.contact-mail strong,
.fallback-content h1 {
	font-weight: 500;
}

.page-hero h1 {
	font-size: clamp(55px, 7.3vw, 108px);
	letter-spacing: -0.055em;
}

.philosophy-statement blockquote p {
	font-size: clamp(39px, 5.5vw, 80px);
	letter-spacing: -0.025em;
}

.contact-opening > h2 {
	font-size: clamp(40px, 5.35vw, 78px);
	letter-spacing: -0.04em;
}

.home-question {
	position: relative;
	padding: clamp(105px, 10vw, 155px) var(--gutter) clamp(115px, 12vw, 180px);
	overflow: hidden;
	background: #E4F3F4;
	color: var(--ink);
}

.home-question__header {
	position: relative;
	z-index: 2;
}

.home-question__body {
	position: relative;
	z-index: 2;
	width: min(760px, 100%);
	margin: clamp(58px, 6vw, 86px) auto 0;
}

.home-question__text {
	max-width: none;
	margin-top: 0;
}

.home-question__text p {
	margin: 0;
	color: var(--ink);
	font-family: var(--font-sans);
	font-size: 16px;
	font-weight: 400;
	letter-spacing: 0.045em;
	line-height: 2.15;
}

.home-question__text p + p {
	margin-top: 16px;
}

.home-question__link {
	margin-top: clamp(38px, 4vw, 54px);
	margin-left: 0;
	margin-right: 0;
}

.little-presence--question {
	right: clamp(26px, 8vw, 120px);
	bottom: clamp(62px, 8vw, 120px);
	opacity: 0.72;
	filter: blur(0.7px);
}

@media (max-width: 520px) {
	.page-hero h1 {
		font-size: clamp(44px, 12vw, 50px);
	}

	.home-question {
		padding-top: 82px;
		padding-bottom: 104px;
	}

	.home-question__body {
		margin-top: 50px;
	}

	.home-question__text {
		margin-top: 0;
	}

	.home-question__text p {
		font-size: 15px;
		line-height: 2.1;
	}

	.home-question__text p + p {
		margin-top: 15px;
	}

	.home-question__link {
		margin-top: 40px;
	}

	.little-presence--question {
		right: 22px;
		bottom: 48px;
	}
}

/* Two current services, presented as part of one corporate practice. */
.services-feature {
	padding: clamp(110px, 12vw, 180px) var(--gutter) clamp(125px, 14vw, 210px);
	background: #FFFFFF;
}

.services-feature__introduction {
	display: grid;
	grid-template-columns: minmax(280px, 0.72fr) minmax(480px, 1fr);
	gap: clamp(70px, 10vw, 170px);
	align-items: start;
	margin-top: clamp(48px, 6vw, 84px);
}

.services-feature__introduction h2 {
	margin: 0;
	font-size: clamp(46px, 5.2vw, 76px);
	font-weight: 600;
	letter-spacing: -0.055em;
	line-height: 1.16;
}

.services-feature__lead {
	max-width: 650px;
}

.services-feature__lead p {
	margin: 0;
	color: var(--ink-soft);
	font-size: clamp(14px, 1.05vw, 16px);
	letter-spacing: 0.045em;
	line-height: 2.2;
}

.services-feature__lead p + p {
	margin-top: 16px;
}

.services-feature__lead strong {
	color: var(--ink);
	font-weight: 600;
}

.services-feature__list {
	margin-top: clamp(82px, 9vw, 138px);
	border-top: 1px solid rgba(var(--text-ink-rgb), 0.2);
}

.service-entry {
	display: grid;
	grid-template-columns: minmax(340px, 0.76fr) minmax(500px, 1.24fr);
	gap: clamp(60px, 8vw, 130px);
	align-items: center;
	padding: clamp(82px, 9vw, 138px) 0;
	border-bottom: 1px solid rgba(var(--text-ink-rgb), 0.2);
}

.service-entry__copy h3 {
	margin: 0;
	font-size: clamp(38px, 4vw, 59px);
	font-weight: 600;
	letter-spacing: -0.045em;
	line-height: 1.3;
}

.service-entry__description {
	max-width: 530px;
	margin-top: clamp(36px, 4vw, 54px);
}

.service-entry__description p {
	margin: 0;
	color: var(--ink-soft);
	font-size: 14px;
	letter-spacing: 0.045em;
	line-height: 2.2;
}

.service-entry__description p + p {
	margin-top: 16px;
}

.service-entry__link {
	margin-top: clamp(34px, 3.6vw, 48px);
}

.service-entry__visual {
	position: relative;
	min-width: 0;
	aspect-ratio: 1.52;
	overflow: hidden;
	border: 1px solid rgba(var(--text-ink-rgb), 0.12);
}

.service-entry__visual--school {
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 0;
	background: #F47F78;
}

.service-entry__visual--school img {
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.service-entry__visual--library {
	background: #E4F3F4;
}

.library-shelf {
	position: absolute;
	right: 10%;
	bottom: 20%;
	left: 10%;
	display: flex;
	align-items: flex-end;
	gap: clamp(9px, 1.2vw, 17px);
	height: 46%;
	border-bottom: 1px solid rgba(var(--text-ink-rgb), 0.58);
}

.library-spine {
	display: block;
	width: clamp(24px, 3.5vw, 54px);
	border: 1px solid rgba(var(--text-ink-rgb), 0.58);
	border-bottom: 0;
	background: rgba(255, 255, 255, 0.65);
}

.library-spine--one { height: 68%; }
.library-spine--two { height: 93%; background: rgba(120, 212, 207, 0.72); }
.library-spine--three { height: 78%; }
.library-spine--four { height: 100%; background: rgba(255, 255, 255, 0.86); }
.library-spine--five { height: 58%; background: rgba(120, 212, 207, 0.74); }


@media (max-width: 980px) {
	.services-feature__introduction,
	.service-entry {
		grid-template-columns: 1fr;
	}

	.services-feature__introduction {
		gap: 34px;
	}

	.services-feature__lead {
		max-width: 680px;
	}

	.service-entry {
		gap: 52px;
	}

	.service-entry__copy {
		max-width: 680px;
	}
}

@media (max-width: 520px) {
	.services-feature {
		padding-top: 88px;
		padding-bottom: 112px;
	}

	.services-feature__introduction {
		margin-top: 46px;
	}

	.services-feature__introduction h2 {
		font-size: 44px;
	}

	.services-feature__lead p,
	.service-entry__description p {
		font-size: 14px;
		line-height: 2.1;
	}

	.services-feature__list {
		margin-top: 70px;
	}

	.service-entry {
		gap: 42px;
		padding: 68px 0 72px;
	}

	.service-entry__copy h3 {
		margin-top: 0;
		font-size: 35px;
	}

	.service-entry__description {
		margin-top: 32px;
	}

	.service-entry__visual {
		aspect-ratio: 1.16;
	}

	.service-entry__visual--school img {
		width: 100%;
		height: 100%;
	}
}

/* HOME rebuild: a restrained, readable corporate-site foundation. */
:root {
	--home-content: 1120px;
	--home-text: 720px;
}

.global-header {
	height: 92px;
	background: rgba(255, 255, 255, 0.98);
}

.global-header.is-condensed {
	height: 68px;
	background: rgba(255, 255, 255, 0.98);
	backdrop-filter: none;
}

.global-nav ul {
	gap: clamp(28px, 3vw, 48px);
}

.global-nav a {
	font-size: 11px;
	letter-spacing: 0.08em;
}

.global-nav li:last-child a {
	padding: 11px 22px;
	border-radius: 999px;
	background: var(--navy);
	color: #FFFFFF;
}

.global-nav li:last-child a::after {
	display: none;
}

.home-rebuild {
	background: #FFFFFF;
}

.home-rebuild__inner {
	width: min(calc(100% - (var(--gutter) * 2)), var(--home-content));
	margin-inline: auto;
}

.home-rebuild__inner--text {
	width: min(calc(100% - (var(--gutter) * 2)), var(--home-text));
}

.home-rebuild__label {
	margin: 0;
	color: var(--ink);
	font-family: var(--font-sans);
	font-size: 10px;
	font-weight: 600;
	letter-spacing: 0.12em;
}

.home-rebuild__hero {
	display: flex;
	min-height: 100svh;
	align-items: center;
	padding: calc(var(--header-height) + 50px) max(var(--gutter), calc((100vw - var(--home-content)) / 2)) 100px;
	background: #FFFFFF;
}

.home-rebuild__hero h1 {
	margin: 0;
	font-family: var(--font-sans);
	font-size: clamp(48px, 5.5vw, 78px);
	font-weight: 600;
	letter-spacing: -0.055em;
	line-height: 1.34;
}

.home-rebuild__context {
	padding: clamp(130px, 13vw, 190px) 0;
	background: #E4F3F4;
}

.home-rebuild__context-text {
	margin-top: clamp(52px, 6vw, 76px);
}

.home-rebuild__context-text p {
	margin: 0;
	color: var(--ink);
	font-family: var(--font-sans);
	font-size: 16px;
	font-weight: 400;
	letter-spacing: 0.035em;
	line-height: 2.15;
}

.home-rebuild__context-text p + p {
	margin-top: 17px;
}

.home-rebuild__philosophy,
.home-rebuild__services {
	padding: clamp(130px, 13vw, 190px) 0;
}

.home-rebuild__philosophy {
	background: #FFFFFF;
}

.home-rebuild__section-header {
	max-width: 760px;
	margin: 0 auto;
	text-align: center;
}

.home-rebuild__section-header h2 {
	margin: 34px 0 0;
	font-family: var(--font-sans);
	font-size: clamp(35px, 3.7vw, 52px);
	font-weight: 600;
	letter-spacing: -0.04em;
	line-height: 1.45;
}

.home-rebuild__mobile-break {
	display: none;
}

.home-rebuild__section-header > p:last-child {
	max-width: 620px;
	margin: 36px auto 0;
	color: var(--ink-soft);
	font-size: 15px;
	letter-spacing: 0.035em;
	line-height: 2.05;
}

.home-rebuild__relations {
	position: relative;
	width: min(680px, 100%);
	height: 410px;
	margin-top: clamp(72px, 8vw, 110px);
	margin-right: auto;
	margin-left: auto;
}

.home-rebuild__relations article {
	position: absolute;
	display: flex;
	width: 240px;
	height: 240px;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	border: 1px solid rgba(var(--text-ink-rgb), 0.25);
	border-radius: 50%;
	background: rgba(228, 243, 244, 0.52);
	text-align: center;
}

.home-rebuild__relation--self { top: 0; left: 85px; }
.home-rebuild__relation--other { top: 0; right: 85px; }
.home-rebuild__relation--society { bottom: 0; left: 50%; transform: translateX(-50%); }

.home-rebuild__relations h3 {
	margin: 0;
	font-size: 21px;
	font-weight: 600;
	letter-spacing: 0.05em;
}

.home-rebuild__relations p {
	margin: 15px 0 0;
	color: var(--ink-soft);
	font-size: 14px;
	letter-spacing: 0.04em;
}

.home-rebuild__button {
	display: inline-flex;
	min-width: 190px;
	align-items: center;
	justify-content: space-between;
	gap: 26px;
	margin-top: 50px;
	padding: 14px 22px;
	border-radius: 999px;
	background: var(--navy);
	color: #FFFFFF;
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 0.07em;
	text-decoration: none;
}

.home-rebuild__philosophy > .home-rebuild__inner > .home-rebuild__button {
	display: flex;
	width: 190px;
	margin-right: auto;
	margin-left: auto;
}

.home-rebuild__services {
	background: #FFFFFF;
}

.home-rebuild__section-header--services {
	max-width: 700px;
	margin-left: 0;
	text-align: left;
}

.home-rebuild__section-header--services h2 {
	margin-top: 0;
	color: #78D4CF;
	font-size: clamp(76px, 10vw, 138px);
	font-weight: 400;
	letter-spacing: -0.055em;
	line-height: 0.95;
}

.home-rebuild__section-header--services > p:last-child {
	max-width: 650px;
	margin-top: clamp(45px, 5vw, 68px);
	margin-left: 0;
}

.home-rebuild__service-list {
	margin-top: clamp(84px, 9vw, 130px);
	border-top: 1px solid var(--line);
}

.home-rebuild__service {
	display: grid;
	grid-template-columns: minmax(340px, 0.82fr) minmax(480px, 1.18fr);
	gap: clamp(60px, 8vw, 120px);
	align-items: center;
	padding: clamp(86px, 9vw, 130px) 0;
	border-bottom: 1px solid var(--line);
}

.home-rebuild__service--reverse .home-rebuild__service-copy {
	grid-column: 2;
}

.home-rebuild__service--reverse .home-rebuild__service-image {
	grid-row: 1;
	grid-column: 1;
}

.home-rebuild__service-copy h3 {
	margin: 0 0 38px;
	font-size: clamp(30px, 3.1vw, 44px);
	font-weight: 600;
	letter-spacing: -0.035em;
	line-height: 1.4;
}

.home-rebuild__service-copy > p {
	margin: 0;
	color: var(--ink-soft);
	font-size: 15px;
	letter-spacing: 0.035em;
	line-height: 2.05;
}

.home-rebuild__service-copy > p + p {
	margin-top: 16px;
}

.home-rebuild__service-copy .home-rebuild__button {
	margin-top: 42px;
}

.home-rebuild__service-image {
	position: relative;
	min-width: 0;
	aspect-ratio: 1.5;
	overflow: hidden;
	margin: 0;
	background: #F47F78;
}

.home-rebuild__service-image img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.home-rebuild__service-image--library {
	background: #E4F3F4;
}

.home-rebuild__books {
	position: absolute;
	top: 18%;
	right: 14%;
	bottom: 18%;
	left: 14%;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	gap: clamp(7px, 0.9vw, 13px);
}

.home-rebuild__books i {
	display: block;
	height: 13%;
	border: 1px solid rgba(var(--text-ink-rgb), 0.52);
	background: rgba(255, 255, 255, 0.62);
}

.home-rebuild__books i:nth-child(1) { width: 72%; margin-left: 8%; }
.home-rebuild__books i:nth-child(2) { width: 86%; background: rgba(120, 212, 207, 0.8); }
.home-rebuild__books i:nth-child(3) { width: 66%; margin-left: 15%; }
.home-rebuild__books i:nth-child(4) { width: 91%; margin-left: 3%; }
.home-rebuild__books i:nth-child(5) { width: 78%; margin-left: 10%; background: rgba(120, 212, 207, 0.8); }

.home-rebuild__contact {
	padding: clamp(100px, 10vw, 145px) 0;
	background: #E4F3F4;
}

.home-rebuild__contact-inner {
	display: grid;
	grid-template-columns: minmax(300px, 0.8fr) minmax(420px, 1fr);
	gap: clamp(60px, 9vw, 140px);
}

.home-rebuild__contact h2 {
	margin: 30px 0 0;
	font-size: clamp(35px, 3.8vw, 52px);
	font-weight: 600;
	letter-spacing: -0.04em;
}

.home-rebuild__contact-inner > div:last-child > p {
	margin: 0;
	color: var(--ink-soft);
	font-size: 15px;
	letter-spacing: 0.035em;
	line-height: 2.05;
}

@media (max-width: 900px) {
	:root {
		--header-height: 64px;
	}

	.global-header,
	.global-header.is-condensed {
		height: 64px;
	}

	.global-nav li:last-child a {
		padding: 16px 0;
		border-radius: 0;
		background: transparent;
		color: var(--ink);
	}

	.home-rebuild__hero {
		min-height: 88svh;
		padding-bottom: 76px;
	}

	.home-rebuild__relations {
		height: 380px;
	}

	.home-rebuild__service,
	.home-rebuild__contact-inner {
		grid-template-columns: 1fr;
	}

	.home-rebuild__service {
		gap: 48px;
	}

	.home-rebuild__service--reverse .home-rebuild__service-copy,
	.home-rebuild__service--reverse .home-rebuild__service-image {
		grid-row: auto;
		grid-column: auto;
	}

	.home-rebuild__service--reverse .home-rebuild__service-copy {
		order: 1;
	}

	.home-rebuild__service--reverse .home-rebuild__service-image {
		order: 2;
	}

	.home-rebuild__contact-inner {
		gap: 40px;
	}
}

@media (max-width: 520px) {
	.home-rebuild__inner,
	.home-rebuild__inner--text {
		width: calc(100% - 48px);
	}

	.home-rebuild__hero {
		min-height: 82svh;
		padding: calc(var(--header-height) + 44px) 24px 68px;
	}

	.home-rebuild__hero h1 {
		font-size: clamp(42px, 12vw, 50px);
		line-height: 1.4;
	}

	.home-rebuild__context,
	.home-rebuild__philosophy,
	.home-rebuild__services {
		padding: 96px 0 108px;
	}

	.home-rebuild__context-text {
		margin-top: 45px;
	}

	.home-rebuild__context-text p {
		font-size: 15px;
		line-height: 2.08;
	}

	.home-rebuild__context-text p + p {
		margin-top: 15px;
	}

	.home-rebuild__section-header {
		text-align: left;
	}

	.home-rebuild__section-header h2 {
		margin-top: 25px;
		font-size: 32px;
	}

	.home-rebuild__mobile-break {
		display: block;
	}

	.home-rebuild__section-header > p:last-child {
		margin-top: 26px;
		font-size: 14px;
	}

	.home-rebuild__relations {
		height: 292px;
		margin-top: 58px;
	}

	.home-rebuild__relations article {
		width: 170px;
		height: 170px;
		text-align: center;
	}

	.home-rebuild__relation--self { top: 0; left: 0; }
	.home-rebuild__relation--other { top: 0; right: 0; }
	.home-rebuild__relation--society { bottom: 0; left: 50%; }

	.home-rebuild__relations h3 {
		font-size: 17px;
	}

	.home-rebuild__relations p {
		margin-top: 10px;
		font-size: 12px;
	}

	.home-rebuild__section-header--services h2 {
		font-size: 66px;
	}

	.home-rebuild__section-header--services > p:last-child {
		margin-top: 34px;
	}

	.home-rebuild__philosophy > .home-rebuild__inner > .home-rebuild__button {
		margin-left: 0;
	}

	.home-rebuild__service-list {
		margin-top: 64px;
	}

	.home-rebuild__service {
		gap: 40px;
		padding: 68px 0 74px;
	}

	.home-rebuild__service-copy h3 {
		margin-bottom: 28px;
		font-size: 30px;
	}

	.home-rebuild__service-copy > p {
		font-size: 14px;
		line-height: 2.05;
	}

	.home-rebuild__service-image {
		aspect-ratio: 1.18;
	}

	.home-rebuild__contact {
		padding: 88px 0 96px;
	}

	.home-rebuild__contact h2 {
		margin-top: 22px;
		font-size: 32px;
	}

	.home-rebuild__contact-inner > div:last-child > p {
		font-size: 14px;
	}
}

/*
 * Water Garden palette, 2026-08.
 * The seven brand colors are the single source of truth for every page.
 */
html,
body,
.site-view,
.home-rebuild,
.page-main {
	background: var(--foam-white);
	color: var(--ink);
}

.global-header {
	color: var(--ink);
	background: linear-gradient(to bottom, rgba(255, 255, 255, 0.97), rgba(255, 255, 255, 0));
}

.global-header.is-condensed {
	background: rgba(255, 255, 255, 0.94);
}

.global-nav li:last-child a,
.home-rebuild__button,
.external-button {
	background: var(--deep-water);
	color: var(--foam-white);
}

.global-nav li:last-child a:hover,
.global-nav li:last-child a:focus-visible,
.home-rebuild__button:hover,
.home-rebuild__button:focus-visible,
.external-button:hover,
.external-button:focus-visible {
	background: var(--coral);
	color: var(--deep-water);
}

.home-rebuild__hero,
.home-rebuild__services,
.page-hero,
.page-opening,
.contact-notes,
.philosophy-principles,
.business-scope,
.global-footer {
	background: var(--foam-white);
}

.home-rebuild__context,
.home-rebuild__contact,
.philosophy-copy,
.language-flow,
.stance-section,
.school-method,
.contact-opening {
	background: var(--mist-blue);
}

.home-rebuild__philosophy,
.about-position {
	background: var(--water-blue);
	color: var(--deep-water);
}

.home-rebuild__philosophy .home-rebuild__section-header > p:last-child,
.home-rebuild__philosophy .home-rebuild__relations p {
	color: rgba(var(--text-ink-rgb), 0.78);
}

.home-rebuild__relations article {
	border-color: rgba(var(--text-ink-rgb), 0.34);
	background: rgba(255, 255, 255, 0.72);
}

.home-rebuild__relation--other {
	background: rgba(120, 212, 207, 0.76) !important;
}

/* HOME 2026-08: COTEN-like scale and rhythm, translated into the water garden. */
:root {
	/* Three repeatable brand silhouettes: broad water, standing water, and a small drop. */
	--puddle-horizontal: 7% 12% 10% 6% / 18% 24% 30% 25%;
	--puddle-vertical: 46% 54% 48% 52% / 39% 44% 56% 61%;
	--puddle-small: 52% 48% 56% 44% / 43% 51% 49% 57%;
}

.shape-puddle-horizontal {
	border-radius: var(--puddle-horizontal);
	clip-path: url("#puddle-horizontal");
}

.shape-puddle-vertical {
	border-radius: var(--puddle-vertical);
	clip-path: url("#puddle-vertical");
}

.shape-puddle-small {
	border-radius: var(--puddle-small);
	clip-path: url("#puddle-small");
}

.shape-puddle-from-left {
	border-radius: var(--puddle-horizontal);
	clip-path: url("#puddle-from-left");
}

.puddle-shape-defs {
	position: absolute;
	width: 0;
	height: 0;
	overflow: hidden;
	pointer-events: none;
}

.home-coten {
	overflow: clip;
	background: var(--foam-white);
	color: var(--ink);
}

.home-coten__opening {
	--hero-progress: 0;
	--hero-ripple-scale: 1;
	--hero-ripple-opacity: 1;
	--hero-copy-opacity: 1;
	--hero-copy-y: 0px;
	--hero-mist-opacity: 1;
	--hero-mist-scale: 1;
	--hero-hold: clamp(260px, 40svh, 430px);
	position: relative;
	background: var(--foam-white);
	isolation: isolate;
}

.home-coten__hero-atmosphere {
	--hero-caustics-duration: 16s;
	--hero-caustics-opacity: 0.24;
	position: absolute;
	z-index: 0;
	inset: 0;
	overflow: hidden;
	pointer-events: none;
}

.home-coten__hero-atmosphere::before,
.home-coten__hero-atmosphere::after {
	position: absolute;
	inset: -18%;
	content: "";
	background:
		radial-gradient(ellipse at 18% 26%, transparent 0 28%, rgba(203, 235, 244, 0.48) 31%, transparent 35%),
		radial-gradient(ellipse at 62% 18%, transparent 0 25%, rgba(211, 240, 247, 0.42) 29%, transparent 34%),
		radial-gradient(ellipse at 78% 68%, transparent 0 29%, rgba(196, 230, 240, 0.4) 33%, transparent 37%),
		radial-gradient(ellipse at 32% 78%, transparent 0 27%, rgba(218, 242, 247, 0.44) 31%, transparent 36%);
	background-size: 310px 220px, 380px 270px, 340px 250px, 420px 300px;
	filter: blur(9px);
	opacity: var(--hero-caustics-opacity);
	transform: translate3d(-2%, -1%, 0) rotate(-2deg) scale(1.05);
	transform-origin: center;
	animation: home-coten-caustics-drift var(--hero-caustics-duration) ease-in-out infinite alternate;
	will-change: transform, background-position;
}

.home-coten__hero-atmosphere::after {
	inset: -24%;
	background-position: 90px 40px, -120px 80px, 60px -90px, -40px 120px;
	filter: blur(14px);
	opacity: calc(var(--hero-caustics-opacity) * 0.58);
	transform: translate3d(3%, 2%, 0) rotate(3deg) scale(1.08);
	animation-duration: calc(var(--hero-caustics-duration) * 1.28);
	animation-direction: alternate-reverse;
}

@keyframes home-coten-caustics-drift {
	0% {
		background-position: 0 0, 30px -20px, -20px 40px, 50px 10px;
		transform: translate3d(-2%, -1%, 0) rotate(-2deg) scale(1.05);
	}
	55% {
		background-position: 38px 22px, -10px 26px, 24px 8px, 6px 42px;
	}
	100% {
		background-position: 72px 44px, -52px 58px, 58px -28px, -46px 70px;
		transform: translate3d(2%, 1.5%, 0) rotate(1.5deg) scale(1.09);
	}
}

.home-coten__hero-mist-field {
	position: absolute;
	inset: 0;
	transform: scale(var(--hero-mist-scale));
	transform-origin: 78% 76%;
	opacity: var(--hero-mist-opacity);
	will-change: transform, opacity;
}

.home-coten__hero-mist {
	position: absolute;
	display: block;
	border-radius: 50%;
	background:
		radial-gradient(circle at 48% 45%, rgba(244, 251, 252, 0.28) 0 22%, rgba(228, 243, 244, 0.15) 46%, rgba(228, 243, 244, 0.06) 64%, transparent 78%);
	filter: blur(24px);
	opacity: 0.34;
}

.home-coten__hero-mist--one {
	top: 19%;
	right: 8%;
	width: clamp(300px, 30vw, 470px);
	aspect-ratio: 1.22;
}

.home-coten__hero-mist--two {
	right: 30%;
	bottom: 14%;
	width: clamp(250px, 24vw, 390px);
	aspect-ratio: 1.08;
	opacity: 0.24;
}

.home-coten__hero-mist--three {
	top: 39%;
	right: 2%;
	width: clamp(210px, 20vw, 320px);
	aspect-ratio: 0.94;
	opacity: 0.26;
}

.home-coten__hero {
	position: sticky;
	z-index: 1;
	top: 0;
	display: flex;
	height: 100svh;
	min-height: 680px;
	align-items: flex-end;
	overflow: clip;
	padding: 0 clamp(80px, 8.3vw, 120px) 142px;
	background: var(--foam-white);
	isolation: isolate;
}

.home-coten__hero-ripple {
	position: absolute;
	z-index: 1;
	top: 8%;
	left: 87%;
	width: clamp(1080px, 118vw, 2100px);
	aspect-ratio: 1;
	transform: translate3d(-50%, -50%, 0) scale(var(--hero-ripple-scale));
	transform-origin: 50% 50%;
	opacity: var(--hero-ripple-opacity);
	pointer-events: none;
	will-change: transform, opacity;
}

.home-coten__hero-ripple svg {
	display: block;
	width: 100%;
	height: 100%;
	overflow: visible;
}

.home-coten__hero-ripple-ink {
	filter: url("#home-coten-ripple-ink");
}

.home-coten__hero-ripple-ring {
	fill: none;
	stroke: url("#home-coten-ripple-paint");
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 2cm;
	vector-effect: non-scaling-stroke;
}

.home-coten__hero-ripple-ring--inner { opacity: 0.68; }
.home-coten__hero-ripple-ring--outer { opacity: 0.48; }

.home-coten__hero-copy {
	position: relative;
	z-index: 2;
	max-width: 560px;
	transform: translate3d(0, var(--hero-copy-y), 0);
	opacity: var(--hero-copy-opacity);
	will-change: transform, opacity, filter;
}

.home-coten__hero-copy-en {
	margin: 0 0 15px 4px;
	color: rgba(76, 127, 166, 0.72);
	font-size: 13px;
	font-weight: 500;
	letter-spacing: 0.28em;
	line-height: 1.4;
}

.home-coten__hero h1 {
	margin: 0;
	color: #294149;
	font-family: "Zen Kaku Gothic New", var(--font-jp);
	font-size: clamp(52px, 4.8vw, 70px);
	font-weight: 400;
	letter-spacing: 0.06em;
	line-height: 1.32;
}

.home-coten__hero h1 span {
	display: block;
}

.home-coten__hero h1 span + span {
	margin-left: 0.38em;
}

.intro-running .home-coten__hero-copy {
	animation: home-coten-copy-surface-rise var(--reveal-duration) cubic-bezier(0.22, 0.61, 0.36, 1) var(--reveal-delay) both;
}

@keyframes home-coten-copy-surface-rise {
	0% {
		filter: blur(8px);
		opacity: 0;
		transform: translate3d(0, 18px, 0);
	}
	100% {
		filter: blur(0);
		opacity: 1;
		transform: translate3d(0, 0, 0);
	}
}
.home-coten__lead {
	position: relative;
	z-index: 3;
	display: grid;
	height: 720px;
	grid-template-columns: minmax(520px, 0.95fr) minmax(500px, 1.05fr);
	align-items: center;
	overflow: hidden;
	margin-top: var(--hero-hold);
	padding-left: max(11vw, calc((100vw - 1120px) / 2));
	background: var(--water-blue);
	color: var(--foam-white);
}

.home-coten__lead-copy {
	position: relative;
	z-index: 1;
	max-width: 600px;
}

.home-coten__lead-copy p {
	margin: 0;
	font-size: 17px;
	font-weight: 550;
	letter-spacing: 0.03em;
	line-height: 2.15;
}

.home-coten__lead-copy p + p { margin-top: 32px; }

.home-coten__lead-ripple-field {
	position: absolute;
	top: 7%;
	right: 1.5%;
	bottom: 5%;
	width: min(52vw, 760px);
	pointer-events: none;
}

.home-coten__lead-ripple-field svg {
	display: block;
	width: 100%;
	height: 100%;
	overflow: visible;
}

/* A small unnamed presence: condensed mist rather than a mascot. */
.home-coten__presence {
	position: absolute;
	z-index: 2;
	display: block;
	width: 58px;
	height: 42px;
	border-radius: 53% 47% 49% 51% / 57% 54% 46% 43%;
	background: var(--creature-core);
	box-shadow:
		-8px 4px 0 -2px var(--creature-mid),
		8px 6px 0 -3px var(--creature-edge),
		0 9px 18px rgba(var(--text-ink-rgb), 0.08),
		inset -7px -6px 0 rgba(221, 243, 245, 0.62);
	pointer-events: none;
	animation: home-coten-presence-breathe 6.2s ease-in-out infinite;
}

.home-coten__presence::before,
.home-coten__presence::after {
	position: absolute;
	z-index: -1;
	bottom: 1px;
	width: 22px;
	height: 22px;
	border-radius: 50%;
	background: var(--creature-mid);
	content: "";
}

.home-coten__presence::before { left: -7px; }
.home-coten__presence::after { right: -6px; background: var(--creature-edge); }

.home-coten__presence > i {
	position: absolute;
	top: 18px;
	width: 3px;
	height: 3px;
	border-radius: 50%;
	background: var(--deep-water);
}

.home-coten__presence > i:first-child { left: 22px; }
.home-coten__presence > i:last-child { left: 34px; }

.home-coten__presence--lead {
	position: absolute;
	width: 122px;
	height: 112px;
	overflow: hidden;
	border-radius: 0;
	background: none;
	box-shadow: none;
	-webkit-mask-image: radial-gradient(ellipse 58% 58% at 50% 50%, #000 0 56%, rgba(0, 0, 0, 0.92) 70%, rgba(0, 0, 0, 0.35) 87%, transparent 100%);
	mask-image: radial-gradient(ellipse 58% 58% at 50% 50%, #000 0 56%, rgba(0, 0, 0, 0.92) 70%, rgba(0, 0, 0, 0.35) 87%, transparent 100%);
	will-change: transform;
}

.home-coten__presence--lead-main {
	right: clamp(14px, 4vw, 48px);
	bottom: -4px;
	transform-origin: 0 72%;
	animation: home-coten-presence-meet-main 18s linear infinite;
}

.home-coten__presence--lead-sub {
	--meet-x: calc(34vw - clamp(14px, 4vw, 48px) - 80px);
	--meet-x-one: calc(6.8vw - clamp(2.8px, .8vw, 9.6px) - 16px);
	--meet-x-two: calc(15.3vw - clamp(6.3px, 1.8vw, 21.6px) - 36px);
	--meet-x-three: calc(23.8vw - clamp(9.8px, 2.8vw, 33.6px) - 56px);
	--meet-x-four: calc(30.6vw - clamp(12.6px, 3.6vw, 43.2px) - 72px);
	right: 34%;
	bottom: -2px;
	width: 61px;
	height: 56px;
	-webkit-mask-image: radial-gradient(ellipse 50% 54% at 50% 50%, #000 0 62%, rgba(0, 0, 0, 0.96) 74%, rgba(0, 0, 0, 0.42) 90%, transparent 100%);
	mask-image: radial-gradient(ellipse 50% 54% at 50% 50%, #000 0 62%, rgba(0, 0, 0, 0.96) 74%, rgba(0, 0, 0, 0.42) 90%, transparent 100%);
	transform-origin: 100% 72%;
	animation: home-coten-presence-meet-sub 18s linear infinite;
}

.home-coten__presence--lead::before,
.home-coten__presence--lead::after { content: none; }

.home-coten__presence-body {
	position: absolute;
	inset: 0;
	display: block;
	will-change: transform;
}

.home-coten__presence--lead-main .home-coten__presence-body {
	animation: home-coten-presence-float-main 18s ease-in-out infinite;
}

.home-coten__presence--lead-sub .home-coten__presence-body {
	animation: home-coten-presence-float-sub 18s ease-in-out infinite;
}

.home-coten__presence--lead img {
	position: absolute;
	top: 50%;
	left: 50%;
	display: block;
	width: 197%;
	max-width: none;
	height: auto;
	mix-blend-mode: lighten;
	transform: translate(-48%, -46%);
}

.has-resident-cutout .home-coten__presence--lead {
	-webkit-mask-image: none;
	mask-image: none;
}

.has-resident-cutout .home-coten__presence--lead img {
	mix-blend-mode: normal;
}

.home-coten__presence-body > i {
	position: absolute;
	z-index: 3;
	top: 50%;
	width: 4.4%;
	height: auto;
	aspect-ratio: 1;
	border-radius: 50%;
	background: #111;
	transform: translate(-50%, -50%);
}

.home-coten__presence-body > i:nth-of-type(1) { left: 44%; }
.home-coten__presence-body > i:nth-of-type(2) { left: 58%; }

@keyframes home-coten-presence-meet-main {
	0%, 68%, 100% { transform: translate3d(0, 0, 0) scale(1); }
	32% { transform: translate3d(0, 0, 0) scale(1); animation-timing-function: cubic-bezier(0.42, 0, 0.28, 1); }
	34% { transform: translate3d(0, 0, 0) rotate(0deg) scaleX(0.96) scaleY(1.03); animation-timing-function: cubic-bezier(0.42, 0, 0.28, 1); }
	36.5% { transform: translate3d(0, 0, 0) rotate(0deg) scaleX(0.84) scaleY(1.1); animation-timing-function: cubic-bezier(0.42, 0, 0.28, 1); }
	39% { transform: translate3d(4px, -1px, 0) rotate(-0.3deg) scaleX(0.9) scaleY(1.06); animation-timing-function: cubic-bezier(0.42, 0, 0.28, 1); }
	41.5% { transform: translate3d(10px, -4px, 0) rotate(-0.7deg) scaleX(1.05) scaleY(0.96); animation-timing-function: cubic-bezier(0.42, 0, 0.28, 1); }
	43.5% { transform: translate3d(18px, -1px, 0) rotate(0.4deg) scale(1); animation-timing-function: linear; }
	48% { transform: translate3d(12px, 0, 0) scale(1); }
	56% { transform: translate3d(8px, 0, 0) scale(1); }
	64% { transform: translate3d(4px, 0, 0) scale(1); }
}

@keyframes home-coten-presence-meet-sub {
	0%, 11%, 100% { transform: translate3d(0, 0, 0) scale(1); }
	16% { transform: translate3d(var(--meet-x-one), 0, 0) scale(1); }
	21% { transform: translate3d(var(--meet-x-two), 0, 0) scale(1); }
	26% { transform: translate3d(var(--meet-x-three), 0, 0) scale(1); }
	32% { transform: translate3d(var(--meet-x-four), 0, 0) scale(1); animation-timing-function: cubic-bezier(0.42, 0, 0.28, 1); }
	34% { transform: translate3d(var(--meet-x), 0, 0) rotate(0deg) scaleX(0.96) scaleY(1.03); animation-timing-function: cubic-bezier(0.42, 0, 0.28, 1); }
	36.5% { transform: translate3d(var(--meet-x), 0, 0) rotate(0deg) scaleX(0.84) scaleY(1.1); animation-timing-function: cubic-bezier(0.42, 0, 0.28, 1); }
	39% { transform: translate3d(calc(var(--meet-x) - 3px), -1px, 0) rotate(0.3deg) scaleX(0.9) scaleY(1.06); animation-timing-function: cubic-bezier(0.42, 0, 0.28, 1); }
	41.5% { transform: translate3d(calc(var(--meet-x) - 8px), -4px, 0) rotate(0.8deg) scaleX(1.05) scaleY(0.96); animation-timing-function: cubic-bezier(0.42, 0, 0.28, 1); }
	43.5% { transform: translate3d(calc(var(--meet-x) - 16px), -1px, 0) rotate(-0.5deg) scale(1); animation-timing-function: linear; }
	48% { transform: translate3d(calc(var(--meet-x) - 22px), 0, 0) scale(1); }
	56% { transform: translate3d(calc(var(--meet-x) - 18px), 0, 0) scale(1); }
	64% { transform: translate3d(calc(var(--meet-x) - 12px), 0, 0) scale(1); }
	68% { transform: translate3d(calc(var(--meet-x) - 15px), 0, 0) scale(1); }
	74% { transform: translate3d(var(--meet-x-four), -3px, 0) rotate(-0.25deg) scale(1); }
	80% { transform: translate3d(var(--meet-x-three), 2px, 0) rotate(0.22deg) scale(1); }
	86% { transform: translate3d(var(--meet-x-two), -4px, 0) rotate(-0.2deg) scale(1); }
	93% { transform: translate3d(var(--meet-x-one), 1px, 0) rotate(0.14deg) scale(1); }
	100% { transform: translate3d(0, 0, 0) scale(1); }
}

@keyframes home-coten-presence-float-main {
	0%, 11%, 100% { transform: translate3d(0, 0, 0) rotate(-0.35deg); }
	16% { transform: translate3d(1px, -2px, 0) rotate(0.2deg); }
	21% { transform: translate3d(-1px, -4px, 0) rotate(0.42deg); }
	26% { transform: translate3d(0.8px, -1px, 0) rotate(-0.28deg); }
	32% { transform: translate3d(0, -3px, 0) rotate(0.18deg); }
	34%, 36.5%, 39%, 41.5%, 43.5% { transform: translate3d(0, 0, 0) rotate(0deg); }
	48% { transform: translate3d(-0.8px, -3px, 0) rotate(-0.3deg); }
	56% { transform: translate3d(1px, -1px, 0) rotate(0.28deg); }
	64% { transform: translate3d(-0.7px, -4px, 0) rotate(-0.22deg); }
	74% { transform: translate3d(0.8px, -2px, 0) rotate(0.2deg); }
	86% { transform: translate3d(-0.8px, -4px, 0) rotate(-0.25deg); }
	93% { transform: translate3d(0.5px, -1px, 0) rotate(0.14deg); }
}

@keyframes home-coten-presence-float-sub {
	0%, 11%, 100% { transform: translate3d(0, -1px, 0) rotate(0.45deg); }
	16% { transform: translate3d(-1.2px, -5px, 0) rotate(-0.62deg); }
	21% { transform: translate3d(1.3px, -2px, 0) rotate(0.5deg); }
	26% { transform: translate3d(-1px, -6px, 0) rotate(-0.55deg); }
	32% { transform: translate3d(0, -2px, 0) rotate(0.38deg); }
	34%, 36.5%, 39%, 41.5%, 43.5% { transform: translate3d(0, 0, 0) rotate(0deg); }
	48% { transform: translate3d(1.2px, -5px, 0) rotate(0.5deg); }
	56% { transform: translate3d(-1.1px, -2px, 0) rotate(-0.42deg); }
	64% { transform: translate3d(1px, -6px, 0) rotate(0.35deg); }
	74% { transform: translate3d(-1px, -3px, 0) rotate(-0.35deg); }
	80% { transform: translate3d(1.2px, -6px, 0) rotate(0.42deg); }
	86% { transform: translate3d(-1.1px, -2px, 0) rotate(-0.38deg); }
	93% { transform: translate3d(0.8px, -5px, 0) rotate(0.28deg); }
}

@keyframes home-coten-presence-breathe {
	0%, 100% { transform: translate3d(0, 0, 0) rotate(-1deg) scaleX(1); }
	50% { transform: translate3d(2px, -3px, 0) rotate(1deg) scaleX(0.985); }
}

.home-coten__ripple-pair {
	--home-coten-ripple-delay: 0s;
	opacity: 1;
}

.home-coten__ripple-pair circle {
	fill: none;
	stroke: #ddf3f5;
	stroke-width: 1.7;
	vector-effect: non-scaling-stroke;
	opacity: 0;
	transform: scale(0.08);
	transform-box: fill-box;
	transform-origin: center;
	animation-name: home-coten-ripple-wave;
	animation-duration: 9.8s;
	animation-timing-function: linear;
	animation-iteration-count: infinite;
	animation-delay: var(--home-coten-ripple-delay);
	will-change: opacity, transform;
}

.home-coten__ripple-pair--one {
	--home-coten-ripple-delay: -1.15s;
}

.home-coten__ripple-pair--two {
	--home-coten-ripple-delay: -6.03s;
}

.home-coten__ripple-pair--three {
	--home-coten-ripple-delay: -3.58s;
}

.home-coten__ripple-pair circle:nth-child(2) {
	animation-delay: calc(var(--home-coten-ripple-delay) + 1.57s);
}

@keyframes home-coten-ripple-wave {
	0% {
		opacity: 0;
		transform: scale(0.08);
	}

	8% {
		opacity: 0.34;
		transform: scale(0.16);
	}

	66% {
		opacity: 0.32;
		transform: scale(0.76);
	}

	82%,
	100% {
		opacity: 0;
		transform: scale(1);
	}
}

.home-coten__mission {
	position: relative;
	min-height: 820px;
	overflow: hidden;
	padding: 120px 24px 110px;
	background: var(--foam-white);
	text-align: center;
}

.home-coten__wash {
	position: absolute;
	top: 118px;
	right: 50%;
	width: 980px;
	height: 84px;
	border-radius: var(--puddle-horizontal);
	clip-path: url("#puddle-horizontal");
	background: var(--mist-blue);
	transform: translateX(-40px);
}

.home-coten__mission-inner {
	position: relative;
	z-index: 1;
	max-width: 720px;
	margin: 0 auto;
}

.home-coten__eyebrow {
	margin: 0;
	font-size: 10px;
	font-weight: 650;
	letter-spacing: 0.16em;
}

.home-coten__mission h2,
.home-coten__services-intro h2 {
	margin: 4px 0 0;
	color: var(--water-blue);
	font-size: clamp(112px, 11.1vw, 160px);
	font-weight: 300 !important;
	letter-spacing: -0.075em;
	line-height: 1;
}

.home-coten__mission h3 {
	margin: 36px 0 0;
	font-size: 34px;
	font-weight: 600;
	letter-spacing: 0.02em;
}

.home-coten__mission-copy {
	max-width: 590px;
	margin: 42px auto 0;
	font-size: 14px;
	letter-spacing: 0.025em;
	line-height: 1.8;
	text-align: center;
}

.home-coten__mission-copy + .home-coten__mission-copy { margin-top: 14px; }

.home-coten__pill {
	display: inline-flex;
	width: 200px;
	align-items: center;
	justify-content: space-between;
	margin-top: 42px;
	padding: 13px 22px;
	border-radius: 999px;
	background: var(--water-blue);
	color: var(--foam-white);
	font-size: 16px;
	font-weight: 650;
	text-decoration: none;
	transition: background .25s ease, transform .25s ease;
}

.home-coten__pill span { font-size: 7px; }
.home-coten__pill:hover,
.home-coten__pill:focus-visible { background: var(--coral); transform: translateY(-2px); }

.home-coten__lead-link {
	margin-top: 38px;
	background: var(--foam-white);
	color: var(--ink);
}

.home-coten__lead-link:hover,
.home-coten__lead-link:focus-visible {
	background: var(--mist-blue);
}

.home-coten__school-cta {
	position: relative;
	display: inline-block;
	margin-top: 42px;
}

.home-coten__school-cta .home-coten__pill {
	position: relative;
	z-index: 2;
	margin-top: 0;
}

.home-coten__presence--school {
	--school-presence-wander-near: 16px;
	--school-presence-wander-mid: 42px;
	--school-presence-wander-far: 66px;
	z-index: 1;
	top: -50px;
	right: 2px;
	bottom: auto;
	left: auto;
	width: 92px;
	height: 85px;
	pointer-events: none;
	animation: home-coten-school-presence-wander 12.8s linear infinite;
	will-change: transform;
}

.home-coten__presence--school .home-coten__presence-body {
	filter: drop-shadow(0 2px 4px rgba(63, 110, 140, 0.34));
	animation: home-coten-school-presence-float 5.3s ease-in-out infinite;
}

@keyframes home-coten-school-presence-wander {
	0%, 100% { transform: translate3d(0, 28px, 0) rotate(-0.7deg); }
	7% { transform: translate3d(2px, 19px, 0) rotate(-0.45deg); }
	14% { transform: translate3d(7px, 9px, 0) rotate(-0.05deg); }
	22% { transform: translate3d(var(--school-presence-wander-near), 0, 0) rotate(0.4deg); }
	31% { transform: translate3d(var(--school-presence-wander-mid), -7px, 0) rotate(0.65deg); }
	43% { transform: translate3d(var(--school-presence-wander-far), -4px, 0) rotate(0.2deg); }
	50% { transform: translate3d(var(--school-presence-wander-far), 2px, 0) rotate(-0.15deg); }
	59% { transform: translate3d(var(--school-presence-wander-mid), 6px, 0) rotate(-0.55deg); }
	68% { transform: translate3d(var(--school-presence-wander-near), 2px, 0) rotate(-0.25deg); }
	78% { transform: translate3d(8px, -4px, 0) rotate(0.2deg); }
	87% { transform: translate3d(2px, 6px, 0) rotate(0.35deg); }
	94% { transform: translate3d(0, 17px, 0) rotate(-0.1deg); }
}

@keyframes home-coten-school-presence-float {
	0%, 100% { transform: translate3d(0, 0, 0) rotate(-0.35deg); }
	34% { transform: translate3d(2px, -3px, 0) rotate(0.5deg); }
	68% { transform: translate3d(-1px, 1px, 0) rotate(-0.45deg); }
}

.home-coten__services {
	position: relative;
	padding: 80px 0 40px;
	background: var(--foam-white);
}

.home-coten__services-intro {
	width: min(calc(100% - 80px), 1120px);
	margin: 0 auto 16px;
	text-align: center;
}

.home-coten__services-intro-copy {
	max-width: 620px;
	margin: 32px auto 0;
	font-size: 14px;
	font-weight: 400;
	letter-spacing: 0.025em;
	line-height: 1.9;
	text-align: center;
}

.home-coten__service-copy h3 {
	margin: 0;
	font-size: 32px;
	font-weight: 600;
	letter-spacing: 0.02em;
	line-height: 1.65;
}

.home-coten__service-copy > p {
	margin: 32px 0 0;
	font-size: 14px;
	letter-spacing: 0.025em;
	line-height: 2.15;
}

.home-coten__service {
	display: grid;
	min-height: 660px;
	grid-template-columns: 57% 43%;
	align-items: center;
}

.home-coten__service + .home-coten__service { margin-top: 16px; }

.home-coten__service-visual {
	position: relative;
	width: calc(100% + 8vw);
	height: 610px;
	overflow: hidden;
	border-radius: 0;
	background: var(--mist-blue);
}

.home-coten__service--school .home-coten__service-visual {
	margin-left: -8vw;
	clip-path: url("#service-puddle-school-morph");
	transform: translateY(-12px);
}

.home-coten__service-visual img {
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.home-coten__service-copy {
	max-width: 500px;
	padding: 0 70px;
}

.home-coten__service-copy > .home-coten__service-label {
	margin: 0 0 13px;
	color: var(--water-ink);
	font-family: var(--font-en);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.08em;
	line-height: 1.4;
}

.home-coten__service--library {
	grid-template-columns: 43% 57%;
}

.home-coten__service--library .home-coten__service-copy {
	justify-self: end;
}

.home-coten__service--library .home-coten__service-visual {
	grid-column: 2;
	grid-row: 1;
	justify-self: end;
	margin-right: -4vw;
	border-radius: 0;
}

.home-coten__library-visual {
	position: relative;
	width: calc(100% + 4vw);
	height: auto;
	aspect-ratio: 1.34;
	overflow: hidden;
	border-radius: 0;
	background: var(--mist-blue);
	clip-path: url("#puddle-library");
	filter: none;
	isolation: isolate;
}

.home-coten__library-visual.shape-puddle-horizontal { clip-path: url("#puddle-library"); }

.home-coten__service--library .home-coten__library-visual,
.home-coten__library-visual.shape-puddle-horizontal {
	clip-path: url("#service-puddle-library-morph");
}

@media (prefers-reduced-motion: reduce) {
	.home-coten__service--school .home-coten__service-visual {
		clip-path: url("#puddle-from-left");
	}

	.home-coten__service--library .home-coten__library-visual,
	.home-coten__library-visual.shape-puddle-horizontal {
		clip-path: url("#puddle-library");
	}
}

.home-coten__library-visual::before {
	display: none;
}

.home-coten__library-mockup {
	position: absolute;
	inset: 0;
	z-index: 1;
	isolation: isolate;
}

.home-coten__library-device {
	position: absolute;
}

.home-coten__library-device--desktop {
	top: 17%;
	left: 15%;
	width: 70%;
	aspect-ratio: 1.62;
	transform: rotate(-2.4deg);
}

.home-coten__library-screen {
	position: absolute;
	inset: 0;
	overflow: hidden;
	border: 2px solid rgba(255, 255, 255, 0.92);
	border-radius: 12px;
	background: #fff;
	box-shadow: 0 12px 28px rgba(var(--text-ink-rgb), 0.11);
}

.home-coten__library-browserbar {
	position: absolute;
	top: 0;
	right: 0;
	left: 0;
	z-index: 2;
	display: flex;
	height: 18px;
	align-items: center;
	gap: 4px;
	padding-left: 8px;
	background: rgba(252, 251, 246, 0.94);
}

.home-coten__library-browserbar i {
	display: block;
	width: 4px;
	height: 4px;
	border-radius: 50%;
	background: rgba(var(--text-ink-rgb), 0.2);
}

.home-coten__library-screen img {
	position: absolute;
	top: 18px;
	right: 0;
	bottom: 0;
	left: 0;
	width: 100%;
	height: calc(100% - 18px);
	object-fit: cover;
	object-position: center top;
}

.home-coten__library-device--phone {
	right: 11%;
	bottom: 11%;
	z-index: 3;
	width: 14.5%;
	aspect-ratio: 0.49;
	overflow: hidden;
	padding: 3px;
	border-radius: 18px;
	background: var(--ink);
	box-shadow: 0 12px 26px rgba(var(--text-ink-rgb), 0.14);
	transform: rotate(2deg);
}

.home-coten__library-device--phone::before {
	position: absolute;
	top: 6px;
	left: 50%;
	z-index: 2;
	width: 28%;
	height: 3px;
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.7);
	content: "";
	transform: translateX(-50%);
}

.home-coten__library-device--phone img {
	display: block;
	width: 100%;
	height: 100%;
	border-radius: 14px;
	object-fit: cover;
	object-position: center top;
}

.home-coten__presence--library {
	left: 5%;
	bottom: 15%;
	z-index: 4;
	width: 24%;
	height: auto;
	aspect-ratio: 1.09;
	filter: drop-shadow(0 3px 6px rgba(63, 110, 140, 0.38));
	transform-origin: 50% 65%;
	animation: home-coten-library-presence-drift 9.8s ease-in-out infinite;
}

.home-coten__presence--library .home-coten__presence-body {
	animation: home-coten-library-presence-breathe 6.4s ease-in-out infinite;
}

.home-coten__presence--library .home-coten__presence-body > i {
	top: 50%;
	width: 3px;
	height: 3px;
	aspect-ratio: auto;
	border: 0;
	border-radius: 50%;
	background: #111;
	box-sizing: border-box;
}

.home-coten__presence--library .home-coten__presence-body > i:nth-of-type(1) {
	left: 46.5%;
	transform: translate(-50%, -50%);
}

.home-coten__presence--library .home-coten__presence-body > i:nth-of-type(2) {
	left: 53.5%;
	transform: translate(-50%, -50%);
}

@keyframes home-coten-library-presence-drift {
	0%, 100% { transform: translate3d(0, 0, 0) rotate(-1deg); }
	28% { transform: translate3d(5%, -9%, 0) rotate(0.6deg); }
	57% { transform: translate3d(-3%, -14%, 0) rotate(-0.3deg); }
	81% { transform: translate3d(6%, -5%, 0) rotate(0.8deg); }
}

@keyframes home-coten-library-presence-breathe {
	0%, 100% { transform: scale(1); }
	50% { transform: scale(1.018, 0.988); }
}

@media (min-width: 1600px) {
	.home-coten__service--library .home-coten__service-visual {
		width: calc(100% + 2vw);
		margin-right: -2vw;
	}

	.home-coten__library-device--desktop {
		left: 15%;
		width: 68%;
	}

	.home-coten__library-device--phone {
		right: 12%;
	}
}

.home-coten__news {
	position: relative;
	padding: 84px max(8vw, calc((100vw - 1210px) / 2)) 130px;
	background: #fff;
	color: var(--ink);
}

.home-coten__news-inner {
	max-width: 1210px;
	margin: 0 auto;
}

.home-coten__news-heading .home-coten__eyebrow {
	margin: 12px 0 26px;
	color: var(--ink);
}

.home-coten__news-heading h2 {
	margin: 0;
	color: var(--water-blue);
	font-size: clamp(72px, 7.6vw, 108px);
	font-weight: 400;
	letter-spacing: -0.035em;
	line-height: 0.9;
}

.home-coten__news-content { padding-top: clamp(50px, 5.5vw, 76px); }

.home-coten__news-filter {
	display: flex;
	align-items: flex-end;
	min-height: 58px;
	border-bottom: 1px solid rgba(var(--text-ink-rgb), 0.14);
}

.home-coten__news-filter span {
	position: relative;
	display: inline-flex;
	align-items: center;
	height: 58px;
	color: var(--water-blue);
	font-size: 13px;
	font-weight: 650;
	letter-spacing: 0.04em;
}

.home-coten__news-filter span::after {
	content: "";
	position: absolute;
	right: 0;
	bottom: -1px;
	left: 0;
	height: 2px;
	background: var(--water-blue);
}

.home-coten__news-list {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: clamp(34px, 4vw, 54px) clamp(24px, 3vw, 40px);
}

.home-coten__news-item {
	display: grid;
	grid-template-columns: 120px 118px minmax(0, 1fr);
	align-items: start;
	gap: 0 28px;
	min-height: 118px;
	padding: 34px 0 30px;
	border-top: 1px solid rgba(var(--text-ink-rgb), 0.14);
}

.home-coten__news-item:first-child { border-top: 0; }

.home-coten__news-category {
	width: max-content;
	max-width: 112px;
	margin: 0;
	padding: 5px 12px;
	border-radius: 999px;
	background: var(--mist-blue);
	color: var(--water-blue);
	font-size: 11px;
	font-weight: 650;
	letter-spacing: 0.035em;
	line-height: 1.35;
}

.home-coten__news-item time {
	padding-top: 5px;
	color: rgba(var(--text-ink-rgb), 0.56);
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.055em;
}

.home-coten__news-item h3 {
	margin: 0;
	font-size: 15px;
	font-weight: 500;
	letter-spacing: 0.015em;
	line-height: 1.8;
}

.home-coten__news-item h3 a {
	color: inherit;
	text-decoration: none;
	transition: color 180ms ease;
}

.home-coten__news-item h3 a:hover { color: var(--link-color); }

.home-coten__news-empty {
	display: flex;
	align-items: center;
	min-height: 154px;
	padding: 38px 0;
}

.home-coten__news-empty p {
	margin: 0;
	font-size: 14px;
	letter-spacing: 0.025em;
	line-height: 1.9;
}

.home-coten__news-more {
	float: right;
	margin-top: 54px;
}

@media (max-width: 900px) {
	.home-coten__opening { --hero-hold: clamp(180px, 30svh, 280px); }
	.home-coten__hero { height: 100svh; min-height: 660px; padding: 0 40px 122px; }
	.home-coten__hero-ripple { top: 0; left: 91%; width: clamp(820px, 132vw, 1100px); }
	.home-coten__hero-mist--one { top: 18%; right: -9%; width: min(470px, 58vw); }
	.home-coten__hero-mist--two { right: 19%; bottom: 18%; width: min(360px, 46vw); }
	.home-coten__hero-mist--three { top: 43%; right: -10%; width: min(300px, 38vw); }
	.home-coten__lead { grid-template-columns: 1fr; height: auto; min-height: 720px; padding: 72px 56px; }
	.home-coten__lead-copy { max-width: 620px; }
	.home-coten__lead-ripple-field { top: 16%; right: -13%; bottom: 4%; width: 72vw; opacity: 0.72; }
	.home-coten__service,
	.home-coten__service--library { min-height: 0; grid-template-columns: 1fr; }
	.home-coten__service-visual,
	.home-coten__service--library .home-coten__service-visual {
		width: calc(100% + 14vw);
		height: 560px;
		grid-row: auto;
		grid-column: auto;
		border-radius: 0;
	}
	.home-coten__service--school .home-coten__service-visual { margin-left: -14vw; transform: translateY(-6px); }
	.home-coten__service--library .home-coten__service-visual {
		width: min(790px, calc(100% + 28px));
		height: auto;
		aspect-ratio: 1.34;
		margin-right: -28px;
		margin-left: auto;
	}
	.home-coten__service-copy,
	.home-coten__service--library .home-coten__service-copy { max-width: 660px; justify-self: start; padding: 56px; }
	.home-coten__library-visual { height: auto; }
	.home-coten__news { padding: 104px 56px 110px; }
	.home-coten__news-content { padding-top: 0; }
	.home-coten__news-heading h2 { font-size: 82px; }
	.home-coten__news-list { grid-template-columns: repeat(2, minmax(0, 1fr)); margin-top: 46px; }
}

@media (max-width: 520px) {
	.home-coten__opening { --hero-hold: clamp(120px, 20svh, 170px); }
	.home-coten__hero-atmosphere {
		--hero-caustics-duration: 14s;
		--hero-caustics-opacity: 0.2;
	}
	.home-coten__hero { height: 100svh; min-height: 620px; padding: 0 24px 110px; }
	.home-coten__hero-ripple {
		top: 15%;
		left: calc(58% + 3cm);
		width: clamp(540px, 150vw, 640px);
	}
	.home-coten__hero-ripple-ring { stroke-width: 1cm; }
	.home-coten__hero-mist--one { top: 14%; right: -32%; width: 82vw; }
	.home-coten__hero-mist--two { right: 1%; bottom: 19%; width: 66vw; }
	.home-coten__hero-mist--three { top: 43%; right: -26%; width: 54vw; }
	.home-coten__hero-copy-en {
		margin-bottom: 13px;
		margin-left: 2px;
		font-size: 10px;
		letter-spacing: 0.22em;
	}
	.home-coten__hero h1 { font-size: 39px; line-height: 1.34; }
	.home-coten__hero h1 span + span { margin-left: 0.24em; }
	.home-coten__lead {
		min-height: 506px;
		align-items: start;
		padding: 70px 24px 32px;
	}
	.home-coten__lead-copy p { font-size: 15px; line-height: 1.85; }
	.home-coten__lead-paragraph { display: block; }
	.home-coten__lead-break { display: none; }
	.home-coten__lead-break + .home-coten__lead-paragraph { margin-top: 28px; }
	.home-coten__lead-link { margin-top: 44px; }
	.home-coten__lead-copy p + p { margin-top: 26px; }
	.home-coten__lead-ripple-field {
		top: 145px;
		right: -50px;
		bottom: auto;
		width: 360px;
		height: 360px;
		opacity: 0.5;
	}
	.home-coten__ripple-pair--one {
		transform: translate3d(76px, 228px, 0) scale(0.62);
		transform-box: fill-box;
		transform-origin: center;
	}
	.home-coten__ripple-pair--two {
		transform: translate3d(138px, -149px, 0);
		transform-box: fill-box;
		transform-origin: center;
	}
	.home-coten__presence--lead {
		width: 110px;
		height: 102px;
	}
	.home-coten__presence--lead-main {
		right: clamp(14px, 4vw, 48px);
		bottom: 0;
		left: auto;
	}
	.home-coten__presence--lead-sub {
		--meet-x: calc(34vw - clamp(14px, 4vw, 48px) - 80px);
		--meet-x-one: calc(6.8vw - clamp(2.8px, .8vw, 9.6px) - 16px);
		--meet-x-two: calc(15.3vw - clamp(6.3px, 1.8vw, 21.6px) - 36px);
		--meet-x-three: calc(23.8vw - clamp(9.8px, 2.8vw, 33.6px) - 56px);
		--meet-x-four: calc(30.6vw - clamp(12.6px, 3.6vw, 43.2px) - 72px);
		right: 34%;
		bottom: 4px;
		left: auto;
		width: 55px;
		height: 51px;
	}
	.home-coten__presence--lead img { width: 197%; }
	.home-coten__ripple-pair--three { display: none; }
	.home-coten__mission { min-height: 780px; padding: 110px 24px 90px; }
	.home-coten__wash { top: 100px; width: 520px; height: 58px; }
	.home-coten__mission h2,
	.home-coten__services-intro h2 { font-size: 78px; }
	.home-coten__mission h3 { margin-top: 32px; font-size: 25px; }
	.home-coten__mission-copy { margin-top: 32px; font-size: 14px; text-align: center; }
	.home-coten__services { padding: 88px 0 56px; }
	.home-coten__services-intro { width: calc(100% - 48px); margin-bottom: 28px; }
	.home-coten__services-intro-copy { margin-top: 24px; font-size: 14px; line-height: 1.85; }
	.home-coten__service-copy h3 { font-size: 25px; line-height: 1.6; }
	.home-coten__service-copy > p { margin-top: 24px; font-size: 14px; line-height: 2.05; }
	.home-coten__service + .home-coten__service { margin-top: 16px; }
	.home-coten__service-visual,
	.home-coten__service--library .home-coten__service-visual { height: 360px; }
	.home-coten__service-copy,
	.home-coten__service--library .home-coten__service-copy {
		display: contents;
		padding: 0;
	}
	.home-coten__service-copy > .home-coten__service-label {
		order: 1;
		margin: 48px 24px 11px;
	}
	.home-coten__service-copy h3 {
		order: 2;
		margin: 0 24px 28px;
	}
	.home-coten__service-visual,
	.home-coten__service--library .home-coten__service-visual { order: 3; }
	.home-coten__service-copy > p:not(.home-coten__service-label) {
		order: 4;
		margin-right: 24px;
		margin-left: 24px;
	}
	.home-coten__service-copy h3 + p { margin-top: 32px; }
	.home-coten__school-cta,
	.home-coten__service--library .home-coten__service-copy > .home-coten__pill {
		order: 5;
		justify-self: start;
		margin: 36px 24px 64px;
	}
	.home-coten__service-copy > .home-coten__service-label {
		font-size: 11px;
	}
	.home-coten__presence--school {
		--school-presence-wander-near: 12px;
		--school-presence-wander-mid: 31px;
		--school-presence-wander-far: 48px;
		top: -43px;
		right: 0;
		width: 82px;
		height: 76px;
	}
	.home-coten__service--library .home-coten__library-visual {
		width: calc(100% + 24px);
		height: auto !important;
		aspect-ratio: 1.34;
		margin-right: -24px;
		margin-left: auto;
	}
	.home-coten__library-mockup { inset: 0; }
	.home-coten__library-device--desktop { top: 17%; left: 14%; width: 72%; transform: rotate(-2deg); }
	.home-coten__library-screen { border-width: 2px; border-radius: 9px; }
	.home-coten__library-browserbar { height: 12px; gap: 3px; padding-left: 6px; }
	.home-coten__library-browserbar i { width: 3px; height: 3px; }
	.home-coten__library-screen img { top: 12px; height: calc(100% - 12px); }
	.home-coten__library-device--phone { right: 8%; bottom: 10%; width: 16%; padding: 2px; border-radius: 13px; }
	.home-coten__library-device--phone::before { top: 4px; height: 2px; }
	.home-coten__library-device--phone img { border-radius: 10px; }
	.home-coten__presence--library {
		left: 5%;
		bottom: 15%;
		width: 25%;
		height: auto;
		aspect-ratio: 1.09;
	}
	.home-coten__presence--library .home-coten__presence-body > i {
		width: 2px;
		height: 2px;
	}
	.home-coten__news { padding: 88px 24px 92px; }
	.home-coten__news-heading .home-coten__eyebrow { margin-bottom: 20px; }
	.home-coten__news-heading h2 { font-size: 58px; }
	.home-coten__news-list { grid-template-columns: 1fr; gap: 42px; margin-top: 38px; }
	.home-coten__news-filter,
	.home-coten__news-filter span { height: 50px; min-height: 50px; }
	.home-coten__news-item { grid-template-columns: 1fr auto; gap: 12px 20px; min-height: 0; padding: 28px 0; }
	.home-coten__news-category { grid-column: 1; grid-row: 1; }
	.home-coten__news-item time { grid-column: 2; grid-row: 1; }
	.home-coten__news-item h3 { grid-column: 1 / -1; grid-row: 2; font-size: 14px; }
	.home-coten__news-empty { min-height: 130px; }
}

@media (prefers-reduced-motion: reduce) {
	.home-coten__opening {
		--hero-hold: 0px;
		--hero-ripple-scale: 1;
		--hero-ripple-opacity: 1;
		--hero-copy-opacity: 1;
		--hero-copy-y: 0px;
		--hero-mist-opacity: 0.46;
		--hero-mist-scale: 1;
	}

	.home-coten__hero-copy {
		filter: none !important;
		animation: none !important;
	}

	.home-coten__hero {
		position: relative;
	}

	.home-coten__hero-ripple { animation: none !important; }
	.home-coten__hero-atmosphere::before,
	.home-coten__hero-atmosphere::after { animation: none !important; }
	.home-coten__hero-mist-field { transform: none; }

	.home-coten__lead {
		margin-top: 0;
	}

	.home-coten__ripple-pair {
		animation: none;
		opacity: 0.18;
		transform: scale(0.82);
	}

	.home-coten__ripple-pair circle {
		animation: none;
		opacity: 1;
	}

	.home-coten__ripple-pair circle:first-child {
		transform: scale(1);
	}

	.home-coten__ripple-pair circle:last-child {
		transform: scale(0.66);
	}

	.home-coten__presence { animation: none; }
	.home-coten__presence-body { animation: none; }
	.home-coten__presence--school { transform: translate3d(0, 8px, 0); }
}

.home-rebuild__relation--society {
	background: rgba(228, 243, 244, 0.82) !important;
}

.home-rebuild__section-header--services h2,
.page-hero__title h1 {
	color: var(--water-blue);
}

.home-rebuild__service-image {
	border: 1px solid rgba(var(--text-ink-rgb), 0.13);
	background: var(--foam-white);
}

.home-rebuild__service-image--library {
	background: var(--mist-blue);
}

.home-rebuild__books i {
	border-color: rgba(var(--text-ink-rgb), 0.45);
	background: var(--foam-white);
}

.home-rebuild__books i:nth-child(2) {
	background: var(--aqua);
}

.home-rebuild__books i:nth-child(4) {
	background: var(--lemon);
}

.home-rebuild__books i:nth-child(5) {
	background: var(--coral);
}

.business-school {
	background: var(--foam-white);
}

.philosophy-statement {
	background: var(--water-blue);
	color: var(--deep-water);
}

.philosophy-statement__mark,
.page-hero__figure::after,
.about-position__ring {
	border-color: rgba(var(--text-ink-rgb), 0.34);
}

.global-footer {
	background: var(--deep-water);
	color: var(--foam-white);
}

.global-footer a,
.global-footer p,
.global-footer small {
	color: inherit;
}

.global-footer__meta {
	color: var(--foam-white);
}

.global-footer .footer-index a,
.global-footer .footer-contact {
	border-color: rgba(255, 255, 255, 0.24);
}

/* Company: the COTEN Company page's clear page-head / Info rhythm, in Konoha colors. */
.page-main--company {
	--company-side: clamp(80px, 11.111vw, 160px);
	--company-end: clamp(48px, 5.555vw, 80px);
	padding-top: 0;
}

.company-hero {
	position: relative;
	min-height: 418px;
	padding: 216px var(--company-end) 0 var(--company-side);
	overflow: hidden;
	background: var(--foam-white);
	color: var(--ink);
}

.company-hero__breadcrumb {
	position: relative;
	z-index: 2;
	display: flex;
	align-items: center;
	gap: 18px;
	margin: 0 0 49px;
	font-size: 14px;
	letter-spacing: 0.04em;
}

.company-hero__breadcrumb a {
	color: rgba(var(--text-ink-rgb), 0.52);
	text-decoration: none;
}

.company-hero__breadcrumb a:hover,
.company-hero__breadcrumb a:focus-visible {
	color: var(--link-color);
}

.company-hero__breadcrumb span[aria-hidden="true"] {
	color: var(--water-blue);
	font-size: 11px;
}

.company-hero__title {
	position: relative;
	z-index: 2;
}

.company-hero__title h1 {
	margin: 0;
	font-family: var(--font-sans);
	color: var(--water-blue);
	font-size: clamp(112px, 11.111vw, 160px);
	font-weight: 300 !important;
	letter-spacing: -0.055em;
	line-height: 0.8;
}

.company-hero__garden {
	position: absolute;
	inset: 0;
	pointer-events: none;
}

.company-hero__waterline,
.company-hero__ripple,
.company-hero__spirit,
.company-hero__light {
	position: absolute;
	display: block;
}

.company-hero__waterline {
	top: 142px;
	right: -54px;
	width: min(40vw, 575px);
	height: 76px;
	border-radius: 48% 52% 44% 56% / 58% 43% 57% 42%;
	background: rgba(228, 243, 244, 0.82);
	transform: rotate(1.5deg);
}

.company-hero__ripple {
	border: 0;
	background: rgba(228, 243, 244, 0.72);
}

.company-hero__ripple--one {
	bottom: -39px;
	left: -116px;
	width: min(43vw, 615px);
	height: 112px;
	border-radius: 44% 56% 46% 54% / 52% 40% 60% 48%;
	transform: rotate(1.5deg);
}

.company-hero__ripple--two {
	top: 111px;
	right: 110px;
	width: min(28vw, 405px);
	height: 47px;
	border-radius: 58% 42% 51% 49% / 46% 56% 44% 54%;
	background: rgba(221, 243, 245, 0.68);
	transform: rotate(-2deg);
}

.company-hero__spirit,
.company-hero__light {
	display: none;
}

.company-water-page {
	background: var(--foam-white);
}

.company-water-section {
	padding: 204px var(--company-end) 172px var(--company-side);
}

.company-water-section__inner {
	display: grid;
	width: 100%;
	grid-template-columns: 200px minmax(0, 920px);
	column-gap: 80px;
	align-items: start;
	margin: 0;
}

.company-water-heading {
	display: block;
	margin: 0;
}

.company-water-heading h2 {
	margin: 0;
	font-family: var(--font-sans);
	color: var(--water-blue);
	font-size: 80px;
	font-weight: 400 !important;
	letter-spacing: -0.05em;
	line-height: 1;
}

.company-water-heading p {
	margin: 25px 0 0;
	color: rgba(var(--text-ink-rgb), 0.64);
	font-size: 13px;
	font-weight: 500;
	letter-spacing: 0.06em;
}

.company-info {
	background: var(--foam-white);
}

.company-info__table {
	position: relative;
	width: 100%;
	margin: 60px 0 0;
	padding: 56px 64px;
	border: 0;
	border-radius: 20px;
	background: rgba(228, 243, 244, 0.62);
}

.company-info__table div {
	display: grid;
	grid-template-columns: 200px minmax(0, 1fr);
	gap: 0;
	padding: 0;
	border: 0;
}

.company-info__table div + div {
	margin-top: 40px;
}

.company-info__table dt,
.company-info__table dd {
	font-size: 16px;
	letter-spacing: 0;
	line-height: 1.75;
}

.company-info__table dt {
	color: rgba(var(--text-ink-rgb), 0.72);
}

.company-info__table dd {
	margin: 0;
	padding-left: 40px;
	border-left: 1px solid rgba(255, 255, 255, 0.95);
}

.company-info__table a {
	text-decoration-color: var(--link-color);
	text-decoration-thickness: 1px;
	text-underline-offset: 6px;
}

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

.company-info__business-list li {
	position: relative;
	padding-left: 1em;
}

.company-info__business-list li::before {
	position: absolute;
	left: 0;
	content: "・";
}

.company-info__representative {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 8px 26px;
}

.company-water-button {
	display: inline-flex;
	min-width: 180px;
	align-items: center;
	justify-content: space-between;
	gap: 28px;
	padding: 16px 22px;
	border-radius: 999px;
	background: var(--deep-water);
	color: var(--foam-white);
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.1em;
	text-decoration: none;
	transition: background-color 180ms ease, color 180ms ease;
}

.company-water-button:hover,
.company-water-button:focus-visible {
	background: var(--coral);
	color: var(--deep-water);
}

@media (max-width: 900px) {
	.page-main--company {
		--company-side: 48px;
		--company-end: 48px;
	}

	.company-hero {
		min-height: 390px;
		padding-top: 196px;
	}

	.company-hero__title h1 {
		font-size: clamp(92px, 15vw, 126px);
	}

	.company-water-section {
		padding-top: 154px;
	}

	.company-water-section__inner {
		grid-template-columns: 155px minmax(0, 1fr);
		column-gap: 46px;
	}

	.company-water-heading h2 {
		font-size: 62px;
	}

	.company-info__table {
		margin-top: 48px;
		padding: 48px;
	}

	.company-info__table div {
		grid-template-columns: 150px minmax(0, 1fr);
	}

	.company-info__table dd {
		padding-left: 30px;
	}
}

@media (max-width: 700px) {
	.page-main--company {
		--company-side: 24px;
		--company-end: 24px;
	}

	.company-hero {
		min-height: 330px;
		padding-top: 132px;
	}

	.company-hero__breadcrumb {
		gap: 12px;
		margin-bottom: 42px;
		font-size: 11px;
	}

	.company-hero__title h1 {
		font-size: clamp(59px, 18vw, 74px);
		letter-spacing: -0.055em;
	}

	.company-hero__waterline {
		top: 93px;
		right: -88px;
		width: 260px;
		height: 47px;
	}

	.company-hero__ripple--one {
		bottom: -24px;
		left: -100px;
		width: 290px;
		height: 67px;
	}

	.company-hero__ripple--two {
		top: 74px;
		right: 22px;
		width: 190px;
		height: 29px;
	}

	.company-water-section {
		padding-top: 112px;
		padding-bottom: 112px;
	}

	.company-water-section__inner {
		display: block;
	}

	.company-water-heading {
		margin: 0;
	}

	.company-water-heading h2 {
		font-size: 48px;
		line-height: 1;
	}

	.company-water-heading p {
		margin-top: 16px;
		font-size: 11px;
	}

	.company-info__table {
		margin-top: 44px;
		padding: 34px 28px 36px;
		border-radius: 14px;
	}

	.company-info__table div {
		grid-template-columns: 96px minmax(0, 1fr);
	}

	.company-info__table div + div {
		margin-top: 27px;
	}

	.company-info__table dt,
	.company-info__table dd {
		font-size: 13px;
		line-height: 1.75;
	}

	.company-info__table dd {
		padding-left: 14px;
	}

	.company-info__representative {
		gap: 5px 8px;
	}

	.company-info__representative a {
		font-size: 12px;
	}

	.company-water-button {
		margin-top: 38px;
	}
}

/* Representative profile: official, factual and continuous with Company. */
.company-info__person-link {
	text-decoration: none;
}

.company-info__profile-link {
	display: inline-flex;
	align-items: center;
	color: rgba(var(--text-ink-rgb), 0.68);
	font-size: 14px;
	text-decoration: none;
}

.company-info__profile-link span {
	display: inline-block;
	transition: transform 180ms ease;
}

.company-info__person-link:hover,
.company-info__person-link:focus-visible,
.company-info__profile-link:hover,
.company-info__profile-link:focus-visible {
	color: var(--link-color);
}

.company-info__profile-link:hover span,
.company-info__profile-link:focus-visible span {
	transform: translateX(4px);
}

.person-profile-page {
	padding-top: 0;
	background: var(--foam-white);
	color: var(--ink);
}

.person-profile-introduction__inner,
.person-profile-section__inner {
	width: min(1180px, 100%);
	margin: 0 auto;
}

.person-profile-section__heading p {
	margin: 0;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.1em;
}

.person-profile-introduction {
	padding: clamp(108px, 10vw, 150px) var(--gutter) clamp(120px, 11vw, 170px);
	background: var(--foam-white);
}

.person-profile-introduction__body {
	display: grid;
	grid-template-columns: minmax(420px, 0.92fr) minmax(340px, 0.68fr);
	gap: clamp(74px, 10vw, 150px);
	align-items: start;
}

.person-profile-hero__copy h2 {
	margin: 0;
	font-size: clamp(42px, 4.2vw, 62px);
	font-weight: 600;
	letter-spacing: 0.02em;
	line-height: 1.4;
}

.person-profile-hero__role {
	margin: 22px 0 0;
	font-size: 16px;
	font-weight: 600;
	letter-spacing: 0.04em;
}

.person-profile-hero__copy ul {
	display: flex;
	flex-wrap: wrap;
	gap: 8px 26px;
	margin: 19px 0 0;
	padding: 0;
	list-style: none;
}

.person-profile-hero__copy li {
	font-size: 12px;
	letter-spacing: 0.04em;
}

.person-profile-hero__lead {
	max-width: 590px;
	margin: 52px 0 0;
	font-size: 15px;
	letter-spacing: 0.035em;
	line-height: 2.1;
}

.person-profile-hero__photo {
	position: relative;
	margin: 0;
	background: var(--foam-white);
}

.person-profile-hero__photo::before,
.person-profile-hero__photo::after {
	position: absolute;
	z-index: 2;
	border-radius: 50%;
	content: "";
}

.person-profile-hero__photo::before {
	top: -34px;
	right: -22px;
	width: 17px;
	height: 17px;
	background: var(--lemon);
}

.person-profile-hero__photo::after {
	right: -5px;
	bottom: 38%;
	width: 10px;
	height: 10px;
	background: var(--coral);
}

.person-profile-hero__photo img {
	display: block;
	width: 100%;
	height: auto;
}

.person-profile-section {
	padding: clamp(125px, 12vw, 190px) var(--gutter);
}

.person-profile-section__heading {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 40px;
	margin-bottom: clamp(78px, 8vw, 120px);
}

.person-profile-section__heading h2 {
	margin: 0;
	font-family: var(--font-sans);
	font-size: clamp(72px, 9vw, 138px);
	font-weight: 500;
	letter-spacing: -0.065em;
	line-height: 0.9;
}

.person-profile-section__body,
.person-profile-history__list,
.person-profile-current__body,
.person-profile-related__links,
.person-profile-contact__body {
	width: min(850px, 76%);
	margin-left: auto;
}

.person-profile-prose p {
	margin: 0;
	font-size: 15px;
	font-weight: 400;
	letter-spacing: 0.035em;
	line-height: 2.15;
}

.person-profile-prose p + p {
	margin-top: 22px;
}

.person-profile-overview,
.person-profile-history,
.person-profile-related {
	background: var(--foam-white);
}

.person-profile-activity,
.person-profile-konoha {
	background: var(--mist-blue);
}

.person-profile-history__list {
	margin-top: 0;
	margin-bottom: 0;
	padding: 0;
	border-top: 1px solid var(--line);
	list-style: none;
}

.person-profile-history__list li {
	display: grid;
	grid-template-columns: 150px 1fr;
	gap: clamp(32px, 5vw, 74px);
	align-items: start;
	padding: 30px 0 33px;
	border-bottom: 1px solid var(--line);
}

.person-profile-history__list time,
.person-profile-history__list span {
	font-size: 18px;
	font-weight: 600;
	letter-spacing: 0.03em;
}

.person-profile-history__list p {
	margin: 0;
	font-size: 14px;
	letter-spacing: 0.035em;
	line-height: 2;
}

.person-profile-current,
.person-profile-contact {
	background: var(--water-blue);
}

.person-profile-current .person-profile-section__heading h2 {
	font-size: clamp(68px, 8.1vw, 122px);
}

.person-profile-current__body {
	display: grid;
	grid-template-columns: minmax(320px, 1fr) minmax(230px, 0.65fr);
	gap: clamp(60px, 8vw, 110px);
}

.person-profile-current__body ul {
	margin: 0;
	padding: 0;
	border-top: 1px solid rgba(var(--text-ink-rgb), 0.32);
	list-style: none;
}

.person-profile-current__body li {
	padding: 14px 0 16px;
	border-bottom: 1px solid rgba(var(--text-ink-rgb), 0.32);
	font-size: 14px;
	letter-spacing: 0.04em;
}

.person-profile-konoha .person-profile-section__heading h2,
.person-profile-related .person-profile-section__heading h2 {
	font-size: clamp(66px, 8vw, 120px);
}

.person-profile-related__links {
	border-top: 1px solid var(--line);
}

.person-profile-related__links a {
	display: grid;
	grid-template-columns: minmax(210px, 0.6fr) 1fr;
	gap: 40px;
	align-items: center;
	padding: 30px 0 32px;
	border-bottom: 1px solid var(--line);
	text-decoration: none;
}

.person-profile-related__links strong {
	font-size: 19px;
	font-weight: 600;
}

.person-profile-related__links span {
	justify-self: end;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.04em;
	transition: transform 180ms ease;
}

.person-profile-related__links a:hover span,
.person-profile-related__links a:focus-visible span {
	transform: translateX(4px);
}

.person-profile-contact .person-profile-section__heading {
	margin-bottom: clamp(55px, 6vw, 80px);
}

.person-profile-contact__body {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 50px;
}

.person-profile-contact__body p {
	max-width: 600px;
	margin: 0;
	font-size: clamp(17px, 1.55vw, 22px);
	letter-spacing: 0.025em;
	line-height: 2;
}

@media (max-width: 1240px) {
	.person-profile-introduction__inner { width: 100%; }
}

@media (max-width: 900px) {
	.person-profile-introduction__body {
		grid-template-columns: minmax(330px, 0.9fr) minmax(290px, 0.65fr);
		gap: 56px;
	}

	.person-profile-section__body,
	.person-profile-history__list,
	.person-profile-current__body,
	.person-profile-related__links,
	.person-profile-contact__body {
		width: 88%;
	}

	.person-profile-current__body {
		grid-template-columns: 1fr 0.65fr;
		gap: 48px;
	}
}

@media (max-width: 560px) {
	.person-profile-introduction {
		padding: 82px 24px 96px;
	}

	.person-profile-introduction__body {
		grid-template-columns: 1fr;
		gap: 54px;
	}

	.person-profile-hero__copy h2 {
		font-size: 36px;
	}

	.person-profile-hero__role {
		margin-top: 18px;
		font-size: 14px;
	}

	.person-profile-hero__copy ul {
		display: block;
		margin-top: 16px;
	}

	.person-profile-hero__copy li + li {
		margin-top: 7px;
	}

	.person-profile-hero__lead {
		margin-top: 38px;
		font-size: 14px;
		line-height: 2.05;
	}

	.person-profile-hero__photo::before {
		top: -22px;
		right: 12px;
	}

	.person-profile-hero__photo::after {
		right: 8px;
	}

	.person-profile-section {
		padding: 94px 24px 104px;
	}

	.person-profile-section__heading {
		display: block;
		margin-bottom: 54px;
	}

	.person-profile-section__heading h2,
	.person-profile-current .person-profile-section__heading h2 {
		font-size: clamp(51px, 16vw, 64px);
		line-height: 0.96;
	}

	.person-profile-konoha .person-profile-section__heading h2 {
		font-size: clamp(42px, 12.5vw, 50px);
	}

	.person-profile-related .person-profile-section__heading h2 {
		font-size: clamp(35px, 10.5vw, 42px);
		line-height: 1.04;
	}

	.person-profile-section__heading p {
		margin-top: 18px;
		font-size: 10px;
	}

	.person-profile-section__body,
	.person-profile-history__list,
	.person-profile-current__body,
	.person-profile-related__links,
	.person-profile-contact__body {
		width: 100%;
	}

	.person-profile-prose p {
		font-size: 14px;
		line-height: 2.05;
	}

	.person-profile-history__list li {
		grid-template-columns: 68px 1fr;
		gap: 22px;
		padding: 23px 0 26px;
	}

	.person-profile-history__list time,
	.person-profile-history__list span {
		font-size: 15px;
	}

	.person-profile-history__list p {
		font-size: 13px;
		line-height: 1.9;
	}

	.person-profile-current__body {
		grid-template-columns: 1fr;
		gap: 42px;
	}

	.person-profile-current__body li {
		font-size: 13px;
	}

	.person-profile-related__links a {
		grid-template-columns: 1fr;
		gap: 14px;
		padding: 25px 0 28px;
	}

	.person-profile-related__links strong {
		font-size: 17px;
	}

	.person-profile-related__links span {
		justify-self: start;
	}

	.person-profile-contact__body {
		display: block;
	}

	.person-profile-contact__body p {
		font-size: 16px;
	}

	.person-profile-contact__body .company-water-button {
		margin-top: 36px;
	}
}

/* Official brand marks. The provided artwork is displayed without recoloring. */
.site-brand {
	position: relative;
	display: block;
	width: clamp(174px, 14.3vw, 208px);
	height: auto;
	aspect-ratio: 6223 / 881;
}

.site-brand__logo {
	position: absolute;
	inset: 0;
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
	object-position: left center;
	transition: opacity 240ms ease;
}

.site-brand__logo--white {
	opacity: 0;
}

.menu-open .site-brand__logo--color {
	opacity: 0;
}

.menu-open .site-brand__logo--white {
	opacity: 1;
}

/*
 * Footer sea.
 * The site's drops, ripples and puddles open into one quiet, full-width water
 * field. Its upper edge stays almost horizontal, but never mechanically flat.
 */
.global-footer {
	position: relative;
	display: block;
	min-height: 440px;
	padding: 0;
	overflow: hidden;
	border: 0;
	background: var(--foam-white);
	color: #FFFFFF;
	isolation: isolate;
}

.global-footer__sea {
	position: absolute;
	z-index: 0;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 100%;
	pointer-events: none;
}

.global-footer__sea path {
	fill: var(--water-blue);
}

.global-footer__sea-path--mobile {
	display: none;
}

.global-footer__ripple {
	position: absolute;
	z-index: 1;
	width: clamp(150px, 15vw, 230px);
	aspect-ratio: 2 / 0.82;
	pointer-events: none;
	opacity: 0;
	transform: scale(0.68);
	transform-origin: center;
	will-change: opacity, transform;
}

.global-footer__ripple::before,
.global-footer__ripple::after {
	position: absolute;
	border: 1px solid rgba(244, 251, 252, 0.42);
	border-radius: 50%;
	content: "";
}

.global-footer__ripple::before {
	inset: 0;
}

.global-footer__ripple::after {
	inset: 18%;
}

.global-footer__ripple--one {
	top: 38%;
	right: 8%;
	animation: global-footer-ripple 24s ease-out infinite;
}

.global-footer__ripple--two {
	top: 68%;
	right: 31%;
	width: clamp(120px, 12vw, 185px);
	animation: global-footer-ripple 24s ease-out -12s infinite;
}

@keyframes global-footer-ripple {
	0%, 8% { opacity: 0; transform: scale(0.68); }
	12% { opacity: 0.48; }
	31% { opacity: 0.18; }
	39%, 100% { opacity: 0; transform: scale(1.18); }
}

.global-footer__inner {
	position: relative;
	z-index: 2;
	width: min(68vw, 940px);
	margin: 0 0 0 clamp(68px, 7vw, 112px);
	padding: 210px 0 22px;
}

.global-footer__brand {
	display: block;
	width: clamp(164px, 14vw, 190px);
	color: inherit;
	text-decoration: none;
}

.global-footer__brand img {
	display: block;
	width: 100%;
	height: auto;
}

.global-footer__nav {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: clamp(30px, 4.5vw, 62px);
	width: min(620px, 100%);
	margin-top: 28px;
}

.global-footer__nav-group {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 14px;
}

.global-footer__nav a {
	position: relative;
	color: inherit;
	font-family: var(--font-sans);
	font-size: clamp(14px, 1.08vw, 17px);
	font-weight: 500;
	line-height: 1.2;
	letter-spacing: 0.06em;
	text-decoration: none;
}

.global-footer__nav a::after {
	position: absolute;
	right: 0;
	bottom: -5px;
	left: 0;
	height: 1px;
	background: currentColor;
	content: "";
	opacity: 0;
	transform: scaleX(0.35);
	transform-origin: left center;
	transition: opacity 240ms ease, transform 360ms var(--ease-out);
}

.global-footer__nav a:hover::after,
.global-footer__nav a:focus-visible::after {
	opacity: 0.74;
	transform: scaleX(1);
}

.global-footer__nav .global-footer__nav-child {
	margin-top: -5px;
	font-size: 11px;
	font-weight: 400;
	letter-spacing: 0.08em;
	opacity: 0.78;
}

.global-footer__nav .global-footer__nav-child::before {
	content: "└";
	margin-right: 7px;
}

.global-footer__bottom {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	width: 100%;
	margin-top: 42px;
	font-size: 9px;
	letter-spacing: 0.1em;
}

.global-footer__bottom p {
	margin: 0;
	color: inherit;
}

.global-footer__bottom a {
	color: inherit;
	text-underline-offset: 4px;
	opacity: 0.78;
}

.global-footer__presence {
	z-index: 3;
	pointer-events: none;
	will-change: transform;
}

.global-footer__presence--large {
	top: 28%;
	left: 65%;
	width: 70px;
	height: 65px;
	animation: global-footer-resident-float-large 10.8s ease-in-out infinite;
}

.global-footer__presence--medium {
	top: 48%;
	left: 85%;
	width: 47px;
	height: 43px;
	animation: global-footer-resident-float-medium 23.6s cubic-bezier(0.45, 0, 0.55, 1) -6.2s infinite;
}

.global-footer__presence--small {
	top: 76%;
	left: 62%;
	width: 34px;
	height: 31px;
	animation: global-footer-resident-float-small 27.2s cubic-bezier(0.45, 0, 0.55, 1) -11.4s infinite;
}

.global-footer__presence--large .home-coten__presence-body {
	animation: global-footer-resident-breathe-large 6.8s ease-in-out -1.3s infinite;
}

.global-footer__presence--medium .home-coten__presence-body {
	animation: global-footer-resident-breathe-medium 7.6s ease-in-out -3.1s infinite;
}

.global-footer__presence--small .home-coten__presence-body {
	animation: global-footer-resident-breathe-small 5.9s ease-in-out -2.2s infinite;
}

.global-footer__presence .home-coten__presence-body > i {
	background: #111111;
}

@keyframes global-footer-resident-float-large {
	0%, 100% { transform: translate3d(0, 0, 0) rotate(-0.7deg); }
	16% { transform: translate3d(4px, -4px, 0) rotate(-0.2deg); }
	34% { transform: translate3d(7px, -7px, 0) rotate(0.6deg); }
	52% { transform: translate3d(3px, -10px, 0) rotate(0.9deg); }
	69% { transform: translate3d(-4px, -7px, 0) rotate(0.2deg); }
	85% { transform: translate3d(-6px, -2px, 0) rotate(-0.6deg); }
}

@keyframes global-footer-resident-float-medium {
	0%, 100% { transform: translate3d(0, 0, 0) rotate(0.3deg); }
	10% { transform: translate3d(-8px, -7px, 0) rotate(-0.2deg); }
	21% { transform: translate3d(-20px, -11px, 0) rotate(-0.8deg); }
	33% { transform: translate3d(-29px, -4px, 0) rotate(-0.4deg); }
	45% { transform: translate3d(-27px, 8px, 0) rotate(0.5deg); }
	57% { transform: translate3d(-16px, 14px, 0) rotate(0.9deg); }
	69% { transform: translate3d(-3px, 11px, 0) rotate(0.4deg); }
	81% { transform: translate3d(7px, 3px, 0) rotate(-0.3deg); }
	91% { transform: translate3d(6px, -4px, 0) rotate(-0.1deg); }
}

@keyframes global-footer-resident-float-small {
	0%, 100% { transform: translate3d(0, 0, 0) rotate(-0.4deg); }
	8% { transform: translate3d(10px, -5px, 0) rotate(0.1deg); }
	17% { transform: translate3d(24px, -13px, 0) rotate(0.7deg); }
	27% { transform: translate3d(36px, -9px, 0) rotate(0.4deg); }
	38% { transform: translate3d(31px, 3px, 0) rotate(-0.2deg); }
	49% { transform: translate3d(16px, 9px, 0) rotate(-0.7deg); }
	60% { transform: translate3d(1px, 4px, 0) rotate(-0.2deg); }
	70% { transform: translate3d(-13px, -7px, 0) rotate(0.5deg); }
	80% { transform: translate3d(-22px, -16px, 0) rotate(0.8deg); }
	90% { transform: translate3d(-11px, -12px, 0) rotate(0.1deg); }
}

@keyframes global-footer-resident-breathe-large {
	0%, 100% { transform: translate3d(0, 0, 0) scale(1); }
	42% { transform: translate3d(1px, -2px, 0) scale(1.012, 0.994); }
	73% { transform: translate3d(-1px, 1px, 0) scale(0.996, 1.01); }
}

@keyframes global-footer-resident-breathe-medium {
	0%, 100% { transform: translate3d(0, 0, 0) scale(1); }
	35% { transform: translate3d(-1px, -2px, 0) scale(1.016, 0.992); }
	68% { transform: translate3d(1px, 1px, 0) scale(0.994, 1.012); }
}

@keyframes global-footer-resident-breathe-small {
	0%, 100% { transform: translate3d(0, 0, 0) scale(1); }
	31% { transform: translate3d(1px, -2px, 0) scale(1.02, 0.988); }
	66% { transform: translate3d(-1px, 1px, 0) scale(0.992, 1.016); }
}

@media (max-width: 900px) {
	.site-brand {
		width: clamp(158px, 23vw, 188px);
	}

	.global-footer {
		min-height: 450px;
	}

	.global-footer__inner {
		width: 72vw;
		margin-left: clamp(42px, 6vw, 58px);
		padding: 196px 0 24px;
	}

	.global-footer__nav {
		gap: clamp(25px, 5vw, 48px);
		width: min(610px, 100%);
	}

	.global-footer__presence--large {
		top: 28%;
		left: 64%;
		width: 62px;
		height: 57px;
	}

	.global-footer__presence--medium {
		top: 48%;
		left: 84%;
		width: 45px;
		height: 41px;
	}

	.global-footer__presence--small {
		top: 77%;
		left: 66%;
		width: 33px;
		height: 30px;
	}
}

@media (max-width: 700px) {
	.global-footer {
		min-height: 500px;
	}

	.global-footer__inner {
		width: 76vw;
		margin-left: 26px;
		padding: 176px 0 24px;
	}

	.global-footer__brand {
		width: 166px;
	}

	.global-footer__nav {
		grid-template-columns: 1fr;
		gap: 19px;
		margin-top: 27px;
	}

	.global-footer__nav-group {
		gap: 13px;
	}

	.global-footer__nav a {
		font-size: 16px;
	}

	.global-footer__nav .global-footer__nav-child {
		font-size: 10px;
	}

	.global-footer__bottom {
		align-items: flex-start;
		flex-direction: column;
		gap: 10px;
		margin-top: 30px;
	}

	.global-footer__presence--large {
		top: 28%;
		left: 62%;
		width: 54px;
		height: 50px;
	}

	.global-footer__presence--medium {
		top: 54%;
		left: 82%;
		width: 43px;
		height: 40px;
	}

	.global-footer__presence--small {
		top: 82%;
		left: 74%;
		width: 32px;
		height: 30px;
	}
}

@media (max-width: 560px) {
	.site-brand {
		width: 148px;
	}

	.global-footer {
		min-height: 330px;
	}

	.global-footer__inner {
		width: calc(100% - 48px);
		margin-left: 24px;
		padding: 118px 0 10px;
	}

	.global-footer__sea-path--desktop { display: none; }
	.global-footer__sea-path--mobile { display: block; }

	.global-footer__brand {
		width: 154px;
	}

	.global-footer__nav {
		grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
		grid-template-rows: auto auto;
		column-gap: 28px;
		row-gap: 12px;
		width: 100%;
		margin-top: 22px;
	}

	.global-footer__nav-group:first-child {
		grid-row: 1 / span 2;
		grid-column: 1;
	}

	.global-footer__nav-group:nth-child(2) {
		grid-row: 1;
		grid-column: 2;
	}

	.global-footer__nav-group:nth-child(3) {
		grid-row: 2;
		grid-column: 2;
	}

	.global-footer__nav-group {
		gap: 11px;
	}

	.global-footer__nav a {
		font-size: 15px;
	}

	.global-footer__bottom {
		align-items: flex-start;
		justify-content: flex-start;
		flex-direction: column;
		gap: 5px;
		margin-top: 20px;
		font-size: 8px;
	}

	.global-footer__bottom a,
	.global-footer__bottom p {
		white-space: nowrap;
	}

	.global-footer__presence--large {
		top: auto;
		right: 20px;
		bottom: 20px;
		left: auto;
		width: 50px;
		height: 46px;
	}

	.global-footer__presence--medium {
		top: auto;
		right: 78px;
		bottom: 32px;
		left: auto;
		width: 40px;
		height: 37px;
	}

	.global-footer__presence--small {
		display: none;
	}
}

@media (prefers-reduced-motion: reduce) {
	.global-footer__presence,
	.global-footer__presence .home-coten__presence-body,
	.global-footer__ripple {
		animation: none;
	}

	.global-footer__ripple {
		opacity: 0.16;
		transform: none;
	}
}

/* Unified About: Mission -> Philosophy -> Company Info. */
.page-main--about {
	--company-side: clamp(80px, 11.111vw, 160px);
	--company-end: clamp(48px, 5.555vw, 80px);
	padding-top: 0;
	background: var(--foam-white);
}

.subpage-hero,
.about-hero {
	position: relative;
	min-height: clamp(500px, 64svh, 560px);
	padding: clamp(132px, 11vw, 170px) var(--gutter) clamp(68px, 7vw, 92px);
	overflow: hidden;
	background: var(--water-blue);
	color: var(--text-ink);
}

.subpage-hero__breadcrumb,
.about-hero__breadcrumb {
	position: relative;
	z-index: 2;
	display: flex;
	align-items: center;
	gap: 16px;
	margin-bottom: clamp(54px, 6vw, 82px);
	font-size: 13px;
	letter-spacing: 0.04em;
}

.about-hero__breadcrumb a {
	color: rgba(var(--text-ink-rgb), 0.68);
	text-decoration: none;
}

.about-hero__breadcrumb span[aria-hidden="true"] {
	color: rgba(255, 255, 255, 0.82);
}

.subpage-hero__heading,
.about-hero__heading {
	position: relative;
	z-index: 2;
}

.about-hero__heading h1,
.about-unified__heading h2 {
	margin: 0;
	font-family: var(--font-display-latin);
	font-kerning: normal;
	font-feature-settings: "kern" 1;
	font-weight: 300;
	letter-spacing: -0.025em;
}

.subpage-hero__heading h1,
.about-hero__heading h1 {
	color: var(--foam-white);
	font-size: clamp(68px, 8.2vw, 116px);
	line-height: 0.88;
}

.about-hero__heading p {
	margin: 32px 0 0 8px;
	font-size: 15px;
	font-weight: 500;
	letter-spacing: 0.08em;
}

.subpage-hero__ripple,
.about-hero__water {
	position: absolute;
	right: clamp(-116px, -5vw, -54px);
	bottom: clamp(-126px, -7vw, -66px);
	width: clamp(390px, 42vw, 620px);
	aspect-ratio: 1;
	pointer-events: none;
	animation: subpage-ripple-drift 7.2s ease-in-out infinite;
}

.subpage-hero__ripple span,
.about-hero__water span {
	position: absolute;
	top: 50%;
	left: 50%;
	display: block;
	border: 1.5px solid rgba(221, 243, 245, 0.58);
	border-radius: 50%;
	transform: translate(-50%, -50%);
}

.subpage-hero__ripple span:first-child,
.about-hero__water span:first-child {
	width: 58%;
	height: 58%;
}

.subpage-hero__ripple span:last-child,
.about-hero__water span:last-child {
	width: 100%;
	height: 100%;
}

@keyframes subpage-ripple-drift {
	0% {
		opacity: 0;
		transform: translate3d(0, 0, 0) scale(0.72);
	}
	14% {
		opacity: 0.62;
	}
	78% {
		opacity: 0.52;
	}
	100% {
		opacity: 0;
		transform: translate3d(-4px, -4px, 0) scale(1.08);
	}
}

@media (prefers-reduced-motion: reduce) {
	.subpage-hero__ripple {
		animation: none;
		opacity: 0.62;
		transform: none;
	}
}

/*
 * Shared lower-page first view: a white field with ripples opening from the
 * upper right. HOME and the standalone official profile keep their own roles.
 */
.subpage-hero--water {
	min-height: clamp(420px, 54svh, 480px);
	padding-top: clamp(122px, 9.5vw, 150px);
	padding-bottom: clamp(54px, 5.5vw, 72px);
	background: var(--foam-white);
}

.subpage-hero--water .subpage-hero__breadcrumb {
	margin-bottom: clamp(44px, 4.8vw, 64px);
	color: rgba(var(--text-ink-rgb), 0.72);
}

.subpage-hero--water .subpage-hero__breadcrumb a {
	color: rgba(var(--text-ink-rgb), 0.68);
}

.subpage-hero--water .subpage-hero__breadcrumb a:hover,
.subpage-hero--water .subpage-hero__breadcrumb a:focus-visible {
	color: var(--water-blue);
}

.subpage-hero--water .subpage-hero__breadcrumb span[aria-hidden="true"] {
	color: var(--water-blue);
	opacity: 0.72;
}

.subpage-hero--water .subpage-hero__heading h1 {
	color: var(--water-blue);
}

.subpage-hero--water .subpage-hero__heading p {
	margin: 0 0 clamp(14px, 1.5vw, 20px);
	color: rgba(var(--water-ink-rgb), 0.72);
	font-size: 13px;
	font-weight: 650;
	letter-spacing: 0.08em;
}

.subpage-hero--water .subpage-hero__ripple {
	top: clamp(-520px, -25vw, -340px);
	right: clamp(-420px, -20vw, -260px);
	bottom: auto;
	width: clamp(720px, 68vw, 1040px);
	height: auto;
	aspect-ratio: 1;
	animation: none;
}

.subpage-hero--water .subpage-hero__ripple span,
.subpage-hero--water .subpage-hero__ripple span:first-child,
.subpage-hero--water .subpage-hero__ripple span:last-child {
	top: 48%;
	left: 50%;
	width: 100%;
	height: 100%;
	border: 1.25px solid var(--water-blue);
	opacity: 0;
	transform: translate(-50%, -50%) scale(0.16);
	transform-origin: center;
	animation: about-hero-ripple-open 18s linear infinite;
	will-change: opacity, transform;
}

.subpage-hero--water .subpage-hero__ripple span:nth-child(2) {
	animation-delay: -6s;
}

.subpage-hero--water .subpage-hero__ripple span:nth-child(3) {
	animation-delay: -12s;
}

@keyframes about-hero-ripple-open {
	0% {
		opacity: 0.08;
		transform: translate(-50%, -50%) scale(0.16);
	}

	8% {
		opacity: 1;
		transform: translate(-50%, -50%) scale(0.24);
	}

	60% {
		opacity: 0.94;
		transform: translate(-50%, -50%) scale(0.72);
	}

	66.67% {
		opacity: 0.86;
		transform: translate(-50%, -50%) scale(0.79);
	}

	82% {
		opacity: 0;
		transform: translate(-50%, -50%) scale(1.04);
	}

	100% {
		opacity: 0;
		transform: translate(-50%, -50%) scale(1.12);
	}
}

@media (max-width: 600px) {
	.subpage-hero--water {
		min-height: 360px;
		padding: 104px 24px 44px;
	}

	.subpage-hero--water .subpage-hero__breadcrumb {
		margin-bottom: 42px;
	}

	.subpage-hero--water .subpage-hero__ripple {
		top: -300px;
		right: -260px;
		bottom: auto;
		width: 620px;
		height: auto;
	}
}

@media (prefers-reduced-motion: reduce) {
	.subpage-hero--water .subpage-hero__ripple {
		opacity: 1;
	}

	.subpage-hero--water .subpage-hero__ripple span,
	.subpage-hero--water .subpage-hero__ripple span:first-child,
	.subpage-hero--water .subpage-hero__ripple span:last-child {
		animation: none;
		opacity: 0.2;
	}

	.subpage-hero--water .subpage-hero__ripple span:nth-child(1) {
		transform: translate(-50%, -50%) scale(0.42);
	}

	.subpage-hero--water .subpage-hero__ripple span:nth-child(2) {
		transform: translate(-50%, -50%) scale(0.82);
	}

	.subpage-hero--water .subpage-hero__ripple span:nth-child(3) {
		opacity: 0;
	}
}

/* Contact: a quiet, functional form page. */
.page-main--contact,
.page-main--privacy-policy {
	padding-top: 0;
	background: var(--foam-white);
}

.page-main--privacy-policy .subpage-hero__heading h1 {
	font-size: clamp(48px, 6.6vw, 92px);
}

.contact-simple {
	padding: clamp(88px, 9vw, 140px) var(--gutter) clamp(120px, 12vw, 184px);
	background: var(--foam-white);
}

.contact-simple__inner {
	width: min(100%, 900px);
	margin: 0 auto;
}

.contact-simple__intro {
	max-width: 680px;
	margin: 0 0 clamp(56px, 6vw, 80px);
	font-size: clamp(16px, 1.25vw, 18px);
	line-height: 2;
}

.contact-form {
	position: relative;
	display: grid;
	gap: 34px;
}

.contact-form__grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 28px;
}

.contact-form__field {
	display: grid;
	gap: 12px;
}

.contact-form__field > span {
	font-size: 14px;
	font-weight: 600;
	letter-spacing: 0.035em;
}

.contact-form__field em,
.contact-form__field small {
	margin-left: 8px;
	font-size: 11px;
	font-style: normal;
	font-weight: 500;
	color: var(--water-blue);
}

.contact-form__field small {
	color: rgba(var(--text-ink-rgb), 0.52);
}

.contact-form input[type="text"],
.contact-form input[type="email"],
.contact-form textarea {
	width: 100%;
	border: 1px solid rgba(var(--text-ink-rgb), 0.18);
	border-radius: 0;
	outline: 0;
	background: #fff;
	color: var(--text-ink);
	font: inherit;
	transition: border-color 180ms ease, box-shadow 180ms ease;
}

.contact-form input[type="text"],
.contact-form input[type="email"] {
	min-height: 58px;
	padding: 12px 16px;
}

.contact-form textarea {
	min-height: 220px;
	padding: 16px;
	line-height: 1.8;
	resize: vertical;
}

.contact-form input:focus,
.contact-form textarea:focus {
	border-color: var(--water-blue);
	box-shadow: 0 0 0 3px rgba(111, 174, 230, 0.12);
}

.contact-form__consent {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	width: fit-content;
	font-size: 14px;
	line-height: 1.7;
	cursor: pointer;
}

.contact-form__consent input {
	width: 18px;
	height: 18px;
	margin: 3px 0 0;
	accent-color: var(--water-blue);
}

.contact-form__consent a,
.contact-simple__school a,
.privacy-policy-content a {
	color: inherit;
	text-decoration-color: var(--water-blue);
	text-underline-offset: 4px;
}

.contact-form__submit {
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: min(100%, 280px);
	min-height: 68px;
	padding: 0 28px;
	border: 0;
	border-radius: 999px;
	background: var(--water-blue);
	color: #fff;
	font: 700 16px/1 var(--font-display-latin);
	letter-spacing: 0.03em;
	cursor: pointer;
	transition: transform 180ms ease, opacity 180ms ease;
}

.contact-form__submit:hover {
	transform: translateY(-2px);
	opacity: 0.9;
}

.contact-form__notice {
	margin: 0 0 44px;
	padding: 18px 20px;
	border-left: 3px solid var(--water-blue);
	background: var(--mist-blue);
	font-size: 14px;
	line-height: 1.8;
}

.contact-form__notice--error {
	border-left-color: #c77777;
}

.contact-form__honeypot {
	position: absolute;
	left: -10000px;
	width: 1px;
	height: 1px;
	overflow: hidden;
}

.contact-simple__school {
	margin: 58px 0 0;
	padding-top: 28px;
	border-top: 1px solid rgba(var(--text-ink-rgb), 0.12);
	font-size: 13px;
	line-height: 1.9;
	color: rgba(var(--text-ink-rgb), 0.68);
}

/* Privacy Policy: text-led, shared with the subpage design system. */
.privacy-policy-content {
	padding: clamp(88px, 9vw, 140px) var(--gutter) clamp(120px, 12vw, 184px);
	background: var(--foam-white);
}

.privacy-policy__inner {
	width: min(100%, 900px);
	margin: 0 auto;
}

.privacy-policy__intro {
	margin: 0 0 clamp(72px, 8vw, 112px);
	font-size: clamp(16px, 1.25vw, 18px);
	line-height: 2;
}

.privacy-policy__sections {
	display: grid;
	gap: 0;
	border-top: 1px solid rgba(var(--text-ink-rgb), 0.13);
}

.privacy-policy__sections > section {
	position: relative;
	padding: clamp(46px, 5vw, 68px) 0;
	border-bottom: 1px solid rgba(var(--text-ink-rgb), 0.13);
}

.privacy-policy__number {
	margin: 0 0 13px;
	color: var(--water-blue);
	font: 600 13px/1 var(--font-display-latin);
	letter-spacing: 0.1em;
}

.privacy-policy-content h2 {
	margin: 0 0 28px;
	font-size: clamp(21px, 2vw, 27px);
	font-weight: 600;
	line-height: 1.5;
}

.privacy-policy__sections p,
.privacy-policy__sections li,
.privacy-policy-content dd,
.privacy-policy-content dt {
	font-size: 15px;
	line-height: 2;
}

.privacy-policy__sections p {
	margin: 0;
}

.privacy-policy__sections p + p {
	margin-top: 18px;
}

.privacy-policy-content ul {
	margin: 22px 0 0;
	padding-left: 1.35em;
}

.privacy-policy-content li + li {
	margin-top: 6px;
}

.privacy-policy-content dl {
	margin: 0;
}

.privacy-policy-content dl > div {
	display: grid;
	grid-template-columns: 150px minmax(0, 1fr);
	gap: 28px;
	padding: 16px 0;
	border-top: 1px solid rgba(var(--text-ink-rgb), 0.09);
}

.privacy-policy-content dl > div:last-child {
	border-bottom: 1px solid rgba(var(--text-ink-rgb), 0.09);
}

.privacy-policy-content dt {
	font-weight: 600;
}

.privacy-policy-content dd {
	margin: 0;
}

.privacy-policy__date {
	font-family: var(--font-display-latin), sans-serif;
}

@media (max-width: 720px) {
	.page-main--privacy-policy .subpage-hero__heading h1 {
		font-size: clamp(39px, 12vw, 56px);
		line-height: 1;
	}

	.contact-form__grid {
		grid-template-columns: 1fr;
		gap: 34px;
	}

	.contact-form__submit {
		width: 100%;
	}

	.privacy-policy-content dl > div {
		grid-template-columns: 1fr;
		gap: 4px;
	}
}

.about-unified {
	background: var(--foam-white);
}

.about-unified__mission,
.about-unified__philosophy {
	padding: clamp(112px, 11vw, 176px) var(--gutter);
}

.about-unified__philosophy {
	background: var(--mist-blue);
}

.about-unified__inner {
	width: min(100%, 1240px);
	margin: 0 auto;
}

.about-unified__heading {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	align-items: end;
	gap: 32px;
	padding-bottom: 42px;
	border-bottom: 1px solid rgba(var(--text-ink-rgb), 0.2);
}

.about-unified__heading h2 {
	color: var(--water-blue);
	font-size: clamp(64px, 7.8vw, 112px);
	line-height: 0.9;
}

.about-unified__heading p {
	margin: 0 0 8px;
	color: rgba(var(--text-ink-rgb), 0.66);
	font-size: 13px;
	font-weight: 500;
	letter-spacing: 0.08em;
}

.about-unified__mission-copy {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: clamp(48px, 5.5vw, 80px);
	align-items: start;
	padding-top: clamp(70px, 8vw, 112px);
}

.about-unified__mission-copy h3 {
	margin: 0;
	font-size: clamp(30px, 3vw, 42px);
	font-weight: 600;
	letter-spacing: -0.035em;
	line-height: 1.45;
}

.about-unified__mission-copy div {
	max-width: 620px;
}

.about-unified__mission-copy p,
.about-unified__social-context p,
.about-unified__philosophy-statements p,
.about-unified__principles article > p:last-child {
	font-size: 16px;
	font-weight: 400;
	letter-spacing: 0;
	line-height: 1.95;
}

.about-unified__mission-copy p {
	margin: 0;
}

.about-unified__mission-copy p + p {
	margin-top: 15px;
}

.about-unified__social-context {
	width: min(100%, 720px);
	margin: clamp(70px, 8vw, 112px) 0 0 auto;
}

.about-unified__social-context p {
	margin: 0;
}

.about-unified__social-context p + p {
	margin-top: 22px;
}

.about-unified__social-context p:first-child {
	margin-bottom: 34px;
	font-size: clamp(25px, 2.4vw, 36px);
	font-weight: 600;
	letter-spacing: -0.025em;
	line-height: 1.65;
}

.about-unified__philosophy-statements {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: clamp(44px, 6vw, 84px);
	margin-top: clamp(96px, 10vw, 152px);
	padding-top: clamp(58px, 6vw, 84px);
	border-top: 1px solid rgba(var(--text-ink-rgb), 0.2);
}

.about-unified__philosophy-statements article {
	min-width: 0;
}

.about-unified__philosophy-statements h3,
.about-unified__principles h3 {
	margin: 0;
	font-size: clamp(24px, 2.4vw, 34px);
	font-weight: 600;
	letter-spacing: -0.025em;
	line-height: 1.55;
}

.about-unified__philosophy-statements p {
	margin: 32px 0 0;
}

.about-unified__principles {
	margin-top: clamp(92px, 9vw, 136px);
	border-top: 1px solid rgba(var(--text-ink-rgb), 0.2);
}

.about-unified__principles article {
	display: grid;
	grid-template-columns: 92px minmax(220px, 0.45fr) minmax(320px, 1fr);
	gap: clamp(30px, 5vw, 76px);
	align-items: start;
	padding: 42px 0 46px;
	border-bottom: 1px solid rgba(var(--text-ink-rgb), 0.2);
}

.about-unified__principle-number {
	margin: 5px 0 0;
	color: var(--water-blue);
	font-family: var(--font-en);
	font-size: 30px;
	font-weight: 500;
	line-height: 1;
}

.about-unified__principles article > p:last-child {
	margin: 0;
}

@media (max-width: 800px) {
	.page-main--about {
		--company-side: 48px;
		--company-end: 48px;
	}

	.about-hero {
		min-height: 500px;
	}

	.about-unified__mission-copy {
		grid-template-columns: 1fr;
		gap: 42px;
	}

	.about-unified__mission-copy div {
		max-width: 640px;
	}

	.about-unified__principles article {
		grid-template-columns: 64px minmax(180px, 0.55fr) minmax(0, 1fr);
		gap: 24px;
	}
}

@media (max-width: 600px) {
	.page-main--about {
		--company-side: 24px;
		--company-end: 24px;
	}

	.about-hero {
		min-height: 400px;
		padding: 112px 24px 52px;
	}

	.about-hero__breadcrumb {
		gap: 11px;
		margin-bottom: 58px;
		font-size: 11px;
	}

	.about-hero__heading h1 {
		font-size: clamp(58px, 18vw, 76px);
	}

	.about-hero__heading p {
		margin-top: 22px;
		font-size: 12px;
	}

	.about-hero__water {
		right: -146px;
		bottom: -72px;
		width: 350px;
	}

	.about-unified__mission,
	.about-unified__philosophy {
		padding: 92px 24px;
	}

	.about-unified__heading {
		display: block;
		padding-bottom: 28px;
	}

	.about-unified__heading h2 {
		font-size: clamp(50px, 15vw, 66px);
	}

	.about-unified__heading p {
		margin-top: 17px;
	}

	.about-unified__mission-copy,
	.about-unified__social-context {
		padding-top: 0;
		margin-top: 56px;
	}

	.about-unified__mission-copy h3 {
		font-size: 27px;
	}

	.about-unified__mission-copy p,
	.about-unified__social-context p,
	.about-unified__philosophy-statements p,
	.about-unified__principles article > p:last-child {
		font-size: 14px;
		line-height: 1.9;
	}

	.about-unified__social-context p:first-child {
		font-size: 23px;
	}

	.about-unified__philosophy-statements {
		grid-template-columns: 1fr;
		gap: 58px;
		margin-top: 76px;
		padding-top: 52px;
	}

	.about-unified__philosophy-statements h3,
	.about-unified__principles h3 {
		font-size: 23px;
	}

	.about-unified__principles {
		margin-top: 76px;
	}

	.about-unified__principles article {
		grid-template-columns: 54px minmax(0, 1fr);
		gap: 18px;
		padding: 32px 0 36px;
	}

	.about-unified__principles article > p:last-child {
		grid-column: 2;
	}

	.about-unified__principle-number {
		font-size: 25px;
	}

}

/* About second draft: question -> mission -> layers -> message -> company. */
.about-v2 {
	background: var(--foam-white);
}

.about-v2__section {
	padding: clamp(96px, 10vw, 156px) var(--gutter);
}

.about-v2__inner {
	width: min(100%, 1240px);
	margin: 0 auto;
}

.about-v2__inner--reading {
	width: min(100%, 920px);
}

.about-v2__section-heading > p {
	margin: 0 0 14px;
	color: var(--water-blue);
	font-family: var(--font-en);
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: none;
}

.about-v2__section-heading h2 {
	max-width: 850px;
	margin: 0;
	font-size: clamp(28px, 3vw, 44px);
	font-weight: 600;
	letter-spacing: -0.035em;
	line-height: 1.55;
}

.about-v2__question {
	padding-bottom: clamp(58px, 6vw, 82px);
	background: var(--foam-white);
}

.about-v2__question .about-v2__section-heading h2 {
	max-width: none;
	font-size: clamp(28px, 3vw, 42px);
}

.about-v2__question-copy {
	width: min(100%, 720px);
	margin: clamp(48px, 5vw, 70px) 0 0;
}

.about-v2__question-copy p,
.about-v2__body-copy p,
.about-v2__message-body p {
	font-size: 16px;
	line-height: 2;
}

.about-v2__question-copy p {
	margin: 0;
}

.about-v2__question-copy p + p {
	margin-top: 22px;
}

.about-v2__layers {
	position: relative;
	overflow: hidden;
	padding-top: clamp(84px, 8vw, 120px);
	background: var(--foam-white);
}

.about-v2__layers-intro {
	width: min(100%, 980px);
	margin: 0 auto;
	text-align: center;
}

.about-v2__layers-intro > p,
.about-v2__section-heading.about-v2__message-heading h2,
.about-v2 .company-water-heading h2 {
	color: var(--water-blue);
	font-family: var(--font-en) !important;
	font-size: clamp(58px, 6.4vw, 88px) !important;
	font-weight: 500 !important;
	font-kerning: normal;
	font-feature-settings: "kern" 1;
	letter-spacing: -0.045em !important;
	line-height: 0.92 !important;
}

.about-v2__layers-intro > p {
	margin-bottom: clamp(28px, 3vw, 40px);
}

.about-v2__layers-intro h2 {
	margin-inline: auto;
	font-size: clamp(30px, 3.2vw, 44px);
}

@media (min-width: 901px) {
	.about-v2__question .about-v2__section-heading h2 {
		white-space: nowrap;
	}
}

.about-v2__mission-layout {
	position: relative;
	z-index: 1;
	display: grid;
	grid-template-columns: minmax(0, 1.08fr) minmax(380px, 0.92fr);
	gap: clamp(32px, 4vw, 72px);
	align-items: center;
	margin-top: clamp(72px, 8vw, 116px);
}

.about-v2__mission-copy {
	position: relative;
	z-index: 2;
	width: min(100%, 600px);
	margin-left: auto;
}

.about-v2__mission-text {
	margin-top: 0;
}

.about-v2__mission-text p {
	margin: 0;
	font-size: 16px;
	font-weight: 400;
	line-height: 2;
}

.about-v2__mission-text p + p {
	margin-top: 24px;
}

.about-v2__layers-diagram {
	--layer-x: 50%;
	--layer-y: 50%;
	position: relative;
	z-index: 1;
	width: min(42vw, 520px);
	aspect-ratio: 1;
	margin: 0;
	background: transparent;
	transform: translateX(clamp(-44px, -2.6vw, -22px));
}

.about-v2__layer-ring {
	position: absolute;
	z-index: 2;
	top: var(--layer-y);
	left: var(--layer-x);
	opacity: 0;
	transform: translate(-50%, -50%) scale(0.76);
	transform-origin: center;
}

.about-v2__layer-ring--society {
	width: 108%;
	height: 108%;
	border: 0;
	border-radius: 50%;
	background: radial-gradient(
		circle at 50% 50%,
		rgba(111, 174, 230, 0.042) 0%,
		rgba(111, 174, 230, 0.042) 42%,
		rgba(111, 174, 230, 0.037) 56%,
		rgba(111, 174, 230, 0.021) 73%,
		rgba(111, 174, 230, 0.007) 86%,
		transparent 100%
	);
	box-shadow: none;
}

.about-v2__layer-ring--other {
	width: 64%;
	height: 64%;
	border: 0;
	border-radius: 50%;
	background: rgba(111, 174, 230, 0.065);
}

.about-v2__layer-ring--self {
	width: 28%;
	height: 28%;
	border: 1px solid rgba(111, 174, 230, 0.56);
	border-radius: 50%;
	background: rgba(111, 174, 230, 0.14);
}

.about-v2__layers.is-visible .about-v2__layer-ring--self {
	animation: about-v2-layer-arrive 1000ms cubic-bezier(0.22, 0.61, 0.36, 1) 260ms both;
}

.about-v2__layers.is-visible .about-v2__layer-ring--other {
	animation: about-v2-layer-arrive 1200ms cubic-bezier(0.22, 0.61, 0.36, 1) 940ms both;
}

.about-v2__layers.is-visible .about-v2__layer-ring--society {
	animation: about-v2-society-arrive 1500ms cubic-bezier(0.22, 0.61, 0.36, 1) 1720ms both;
}

.about-v2__layer-label {
	position: absolute;
	z-index: 3;
	left: 50%;
	display: grid;
	gap: 5px;
	justify-items: center;
	padding: 3px 8px;
	background: transparent;
	opacity: 0;
	text-align: center;
	transform: translate(-50%, 8px);
}

.about-v2__layer-label b {
	color: var(--water-blue);
	font: 700 12px/1 var(--font-en);
	letter-spacing: 0.08em;
}

.about-v2__layer-label small {
	color: var(--text-ink);
	font-size: 12px;
	line-height: 1;
}

.about-v2__layer-label--society {
	top: 10%;
	left: var(--layer-x);
}

.about-v2__layer-label--other {
	top: 27%;
	left: var(--layer-x);
}

.about-v2__layer-label--self {
	top: 46%;
	left: var(--layer-x);
}

.about-v2__layers.is-visible .about-v2__layer-label--self {
	animation: about-v2-label-arrive 700ms ease 520ms both;
}

.about-v2__layers.is-visible .about-v2__layer-label--other {
	animation: about-v2-label-arrive 700ms ease 1320ms both;
}

.about-v2__layers.is-visible .about-v2__layer-label--society {
	animation: about-v2-label-arrive 800ms ease 2180ms both;
}

.about-v2__resident {
	pointer-events: none;
	filter: drop-shadow(0 3px 8px rgba(63, 110, 140, 0.16));
}

.about-v2__resident-track--mission {
	--resident-roam-left: clamp(-270px, -19vw, -155px);
	--resident-roam-left-mid: clamp(-164px, -11.5vw, -96px);
	--resident-roam-up: clamp(-225px, -16vw, -135px);
	--resident-roam-up-mid: clamp(-136px, -9.5vw, -78px);
	--resident-roam-right: clamp(75px, 8vw, 125px);
	--resident-roam-right-mid: clamp(44px, 4.8vw, 76px);
	--resident-roam-down: clamp(110px, 11vw, 165px);
	--resident-roam-down-mid: clamp(62px, 6.5vw, 98px);
	position: absolute;
	z-index: 4;
	top: 55%;
	left: 62%;
	width: 44px;
	height: 41px;
	opacity: 0;
	pointer-events: none;
}

.about-v2__layers.is-visible .about-v2__resident-track--mission {
	animation: about-v2-resident-appear 760ms ease 900ms both;
}

.about-v2__resident-roam--mission {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	pointer-events: none;
	will-change: transform;
}

.about-v2__resident--mission {
	inset: 0;
	width: 100%;
	height: 100%;
}

.about-v2__layers.is-visible .about-v2__resident-roam--mission {
	animation: about-v2-resident-roam-x 31s ease-in-out 1.7s infinite;
}

.about-v2__layers.is-visible .about-v2__resident--mission {
	animation: about-v2-resident-roam-y 27s ease-in-out 1.7s infinite;
}

.about-v2__layers.is-visible .about-v2__resident--mission .home-coten__presence-body {
	animation: about-v2-resident-hover 6.2s ease-in-out 1.7s infinite;
}

@keyframes about-v2-layer-arrive {
	0% { opacity: 0; transform: translate(-50%, -50%) scale(0.76); }
	100% { opacity: 1; transform: translate(-50%, -50%) scale(1); }
}

@keyframes about-v2-society-arrive {
	0% { opacity: 0; transform: translate(-50%, -50%) scale(0.62); }
	100% { opacity: 1; transform: translate(-50%, -50%) scale(1); }
}

@keyframes about-v2-label-arrive {
	0% { opacity: 0; transform: translate(-50%, 8px); }
	100% { opacity: 1; transform: translate(-50%, 0); }
}

@keyframes about-v2-resident-appear {
	0% { opacity: 0; transform: translate3d(0, 5px, 0) scale(0.94); }
	100% { opacity: 0.82; transform: translate3d(0, 0, 0) scale(1); }
}

@keyframes about-v2-resident-roam-x {
	0%, 100% { transform: translate3d(0, 0, 0); }
	12% { transform: translate3d(-46px, 0, 0); }
	27% { transform: translate3d(var(--resident-roam-left-mid), 0, 0); }
	40%, 47% { transform: translate3d(var(--resident-roam-left), 0, 0); }
	61% { transform: translate3d(var(--resident-roam-right-mid), 0, 0); }
	75%, 82% { transform: translate3d(var(--resident-roam-right), 0, 0); }
	93% { transform: translate3d(28px, 0, 0); }
}

@keyframes about-v2-resident-roam-y {
	0%, 100% { transform: translate3d(0, 0, 0) rotate(-0.45deg); }
	9% { transform: translate3d(0, -38px, 0) rotate(0.25deg); }
	23% { transform: translate3d(0, var(--resident-roam-up-mid), 0) rotate(0.55deg); }
	36%, 43% { transform: translate3d(0, var(--resident-roam-up), 0) rotate(-0.65deg); }
	57% { transform: translate3d(0, -48px, 0) rotate(0.4deg); }
	70%, 78% { transform: translate3d(0, var(--resident-roam-down), 0) rotate(-0.35deg); }
	90% { transform: translate3d(0, var(--resident-roam-down-mid), 0) rotate(0.3deg); }
}

@keyframes about-v2-resident-hover {
	0%, 100% { transform: translate3d(0, 0, 0) scale(1); }
	31% { transform: translate3d(2px, -3px, 0) scale(1.012); }
	67% { transform: translate3d(-2px, 2px, 0) scale(0.992); }
}

@media (prefers-reduced-motion: reduce) {
	.about-v2__layer-ring,
	.about-v2__layer-label,
	.about-v2__resident-track--mission,
	.about-v2__resident-roam--mission,
	.about-v2__resident,
	.about-v2__resident .home-coten__presence-body,
	.about-v2__layers.is-visible .about-v2__layer-ring,
	.about-v2__layers.is-visible .about-v2__layer-label,
	.about-v2__layers.is-visible .about-v2__resident-track--mission,
	.about-v2__layers.is-visible .about-v2__resident-roam--mission,
	.about-v2__layers.is-visible .about-v2__resident {
		animation: none;
		opacity: 1;
	}

	.about-v2__layer-ring,
	.about-v2__layers.is-visible .about-v2__layer-ring {
		transform: translate(-50%, -50%) scale(1);
	}

	.about-v2__layer-label,
	.about-v2__layers.is-visible .about-v2__layer-label {
		transform: translate(-50%, 0);
	}
}

.about-v2__entry {
	background: var(--foam-white);
}

.about-v2__two-column {
	display: grid;
	grid-template-columns: minmax(0, 1.05fr) minmax(300px, 0.75fr);
	gap: clamp(64px, 9vw, 140px);
	align-items: start;
}

.about-v2__body-copy {
	padding-top: 33px;
	border-top: 1px solid rgba(var(--text-ink-rgb), 0.2);
}

.about-v2__body-copy p {
	margin: 0;
}

.about-v2__body-copy p + p {
	margin-top: 22px;
}

.about-v2__text-link {
	display: inline-flex;
	align-items: center;
	gap: 20px;
	margin-top: 44px;
	color: inherit;
	font-family: var(--font-en);
	font-size: 14px;
	font-weight: 700;
	text-decoration: none;
}

.about-v2__text-link span {
	transition: transform 180ms ease;
}

.about-v2__text-link:hover span,
.about-v2__text-link:focus-visible span {
	transform: translateX(5px);
}

.about-v2__message {
	position: relative;
	isolation: isolate;
	padding-top: clamp(78px, 8vw, 116px);
	padding-bottom: clamp(128px, 12vw, 176px);
	overflow: hidden;
	background: var(--foam-white);
}

.about-v2__message-puddle,
.about-v2__message-residents {
	position: absolute;
	top: 54px;
	right: -60px;
	width: min(72vw, 1100px);
	height: calc(100% - 54px);
	pointer-events: none;
}

.about-v2__message-puddle {
	z-index: -1;
}

.about-v2__message-residents {
	z-index: 2;
	clip-path: url(#about-message-puddle-clip);
}

.about-v2__message-puddle path,
.about-v2__message-puddle > use {
	fill: rgba(221, 241, 240, 0.46);
	shape-rendering: geometricPrecision;
}

.about-v2__resident--message-one {
	--message-drift-wide: clamp(28px, 2.6vw, 38px);
	--message-drift-wide-negative: clamp(-38px, -2.6vw, -28px);
	--message-drift-mid: clamp(18px, 1.7vw, 25px);
	--message-drift-mid-negative: clamp(-25px, -1.7vw, -18px);
	--message-drift-soft: clamp(8px, 0.8vw, 12px);
	--message-drift-soft-negative: clamp(-12px, -0.8vw, -8px);
	top: 16%;
	left: 42%;
	width: 38px;
	height: 35px;
	opacity: 0.82;
	animation: about-v2-resident-drift-orbit 18.8s linear -2.4s infinite;
}

.about-v2__resident--message-two {
	--message-drift-wide: clamp(26px, 2.3vw, 34px);
	--message-drift-wide-negative: clamp(-34px, -2.3vw, -26px);
	--message-drift-mid: clamp(16px, 1.5vw, 22px);
	--message-drift-mid-negative: clamp(-22px, -1.5vw, -16px);
	--message-drift-soft: clamp(7px, 0.7vw, 10px);
	--message-drift-soft-negative: clamp(-10px, -0.7vw, -7px);
	right: 12%;
	bottom: 10%;
	width: 122px;
	height: 112px;
	opacity: 0.7;
	animation: about-v2-resident-drift-orbit 21.4s linear -5.1s infinite reverse;
}

.about-v2__resident--message-one .home-coten__presence-body {
	animation: about-v2-resident-message-hover 6.8s ease-in-out -1.6s infinite;
}

.about-v2__resident--message-two .home-coten__presence-body {
	animation: about-v2-resident-message-hover 7.6s ease-in-out -4.2s infinite reverse;
}

@keyframes about-v2-resident-drift-orbit {
	0%, 100% { transform: translate3d(0, var(--message-drift-wide-negative), 0) rotate(-0.45deg); }
	6.25% { transform: translate3d(var(--message-drift-mid), var(--message-drift-mid-negative), 0) rotate(-0.1deg); }
	12.5% { transform: translate3d(var(--message-drift-wide), var(--message-drift-soft-negative), 0) rotate(0.3deg); }
	18.75% { transform: translate3d(var(--message-drift-wide), var(--message-drift-mid), 0) rotate(0.55deg); }
	25% { transform: translate3d(var(--message-drift-mid), var(--message-drift-wide), 0) rotate(0.25deg); }
	31.25% { transform: translate3d(0, var(--message-drift-wide), 0) rotate(-0.15deg); }
	37.5% { transform: translate3d(var(--message-drift-mid-negative), var(--message-drift-wide), 0) rotate(-0.5deg); }
	43.75% { transform: translate3d(var(--message-drift-wide-negative), var(--message-drift-mid), 0) rotate(-0.65deg); }
	50% { transform: translate3d(var(--message-drift-wide-negative), 0, 0) rotate(-0.35deg); }
	56.25% { transform: translate3d(var(--message-drift-wide-negative), var(--message-drift-mid-negative), 0) rotate(0.05deg); }
	62.5% { transform: translate3d(var(--message-drift-mid-negative), var(--message-drift-wide-negative), 0) rotate(0.4deg); }
	68.75% { transform: translate3d(0, var(--message-drift-wide-negative), 0) rotate(0.55deg); }
	75% { transform: translate3d(var(--message-drift-mid), var(--message-drift-wide-negative), 0) rotate(0.2deg); }
	81.25% { transform: translate3d(var(--message-drift-wide), var(--message-drift-mid-negative), 0) rotate(-0.2deg); }
	87.5% { transform: translate3d(var(--message-drift-wide), 0, 0) rotate(-0.5deg); }
	93.75% { transform: translate3d(var(--message-drift-mid), var(--message-drift-mid-negative), 0) rotate(-0.6deg); }
}

@keyframes about-v2-resident-message-hover {
	0%, 100% { transform: translate3d(0, 0, 0) scale(1); }
	34% { transform: translate3d(2px, -3px, 0) scale(1.012); }
	69% { transform: translate3d(-2px, 2px, 0) scale(0.994); }
}

@media (prefers-reduced-motion: reduce) {
	.about-v2__resident--message-one,
	.about-v2__resident--message-two,
	.about-v2__resident--message-one .home-coten__presence-body,
	.about-v2__resident--message-two .home-coten__presence-body,
	.about-v2__resident--mission {
		animation: none;
	}
}

.about-v2__message-heading {
	margin-bottom: clamp(32px, 3.5vw, 48px);
}

.about-v2__message-grid {
	display: grid;
	grid-template-columns: minmax(0, 1.35fr) minmax(250px, 0.55fr);
	gap: clamp(64px, 9vw, 140px);
	align-items: start;
}

.about-v2__message-copy h3 {
	max-width: 720px;
	margin: 0 0 clamp(22px, 2.5vw, 32px);
	font-size: clamp(24px, 2.2vw, 32px);
	font-weight: 600;
	letter-spacing: -0.035em;
	line-height: 1.55;
}

.about-v2__message-body {
	width: min(100%, 710px);
}

.about-v2__message-body p {
	margin: 0;
}

.about-v2__message-body p + p {
	margin-top: 24px;
}

.about-v2__message-person {
	position: sticky;
	top: 150px;
}

.about-v2__representative-image {
	width: min(100%, 300px);
	aspect-ratio: 3 / 4;
	overflow: hidden;
	border-radius: 30px;
	background: var(--mist-blue);
}

.about-v2__representative-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.about-v2__representative-role {
	margin: 20px 0 3px;
	font-size: 13px;
	color: rgba(var(--text-ink-rgb), 0.65);
}

.about-v2__representative-name {
	margin: 0;
	color: var(--text-ink);
	font-family: var(--font-jp);
	font-size: clamp(25px, 2.4vw, 34px);
	font-weight: 600;
	letter-spacing: 0.04em;
	line-height: 1.3;
}

.about-v2__profile-link {
	display: inline-flex;
	align-items: center;
	gap: 14px;
	margin-top: 18px;
	color: var(--deep-water);
	font-family: var(--font-jp);
	font-size: 14px;
	font-weight: 600;
	letter-spacing: 0.02em;
	text-decoration: none;
}

.about-v2__profile-link > span:first-child {
	text-decoration-color: transparent;
	text-decoration-line: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 0.28em;
	transition: color 180ms ease, text-decoration-color 180ms ease;
}

.about-v2__profile-link > span:last-child {
	transition: transform 180ms ease;
}

.about-v2__profile-link:hover > span:first-child,
.about-v2__profile-link:focus-visible > span:first-child {
	color: var(--water-blue);
	text-decoration-color: currentColor;
}

.about-v2__profile-link:hover > span:last-child,
.about-v2__profile-link:focus-visible > span:last-child {
	transform: translateX(4px);
}

.about-v2 .company-info__table {
	margin-top: clamp(42px, 6vw, 72px);
	padding: 0;
	border-top: 1px solid rgba(var(--text-ink-rgb), 0.18);
	border-radius: 0;
	background: transparent;
}

.about-v2 .company-water-section {
	padding-top: clamp(144px, 12vw, 160px);
}

.about-v2 .company-info__table div,
.about-v2 .company-info__table div + div {
	display: grid;
	grid-template-columns: 190px minmax(0, 1fr);
	gap: 0;
	margin: 0;
	padding: 28px 0;
	border-bottom: 1px solid rgba(var(--text-ink-rgb), 0.18);
}

.about-v2 .company-info__table dd {
	padding-left: 38px;
	border-left: 1px solid rgba(var(--text-ink-rgb), 0.14);
}

@media (max-width: 900px) {
	.about-v2__mission-layout,
	.about-v2__two-column,
	.about-v2__message-grid {
		grid-template-columns: 1fr;
	}

	.about-v2__layers-diagram {
		--layer-x: 50%;
		--layer-y: 50%;
		width: min(100%, 460px);
		aspect-ratio: 1;
		margin: 0 auto;
		transform: none;
	}

	.about-v2__mission-layout {
		gap: 48px;
		margin-top: 56px;
	}

	.about-v2__mission-copy {
		width: 100%;
		margin-left: 0;
	}

	.about-v2__layer-label--society {
		top: 11%;
		left: var(--layer-x);
	}

	.about-v2__layer-label--other {
		top: 27%;
	}

	.about-v2__layer-label--self {
		top: 46%;
	}

	.about-v2__message-person {
		position: static;
		width: min(100%, 360px);
	}

	.about-v2 .company-water-section {
		padding-top: 112px;
	}

	.about-v2__message-puddle,
	.about-v2__message-residents {
		top: auto;
		right: -24vw;
		bottom: 20px;
		width: 128vw;
		height: 610px;
	}

	.about-v2__resident--message-one {
		top: 15%;
		left: 56%;
	}

	.about-v2__resident--message-two {
		right: 16%;
		bottom: 10%;
	}
}

@media (max-width: 640px) {
	.about-v2__section {
		padding: 88px 24px;
	}

	.about-v2 .company-water-section {
		padding-top: 96px;
	}

	.about-v2__section-heading h2 {
		font-size: 26px;
	}

	.about-v2__layers-intro > p {
		margin-bottom: 26px;
	}

	.about-v2__question-copy {
		margin-top: 50px;
	}

	.about-v2__question-copy p,
	.about-v2__body-copy p,
	.about-v2__message-body p {
		font-size: 14px;
		line-height: 1.9;
	}

	.about-v2__mission-text p {
		font-size: 14px;
		line-height: 1.9;
	}

	.about-v2__mission-layout {
		gap: 54px;
	}

	.about-v2__message-heading {
		margin-bottom: 38px;
	}

	.about-v2__layers-intro > p,
	.about-v2__section-heading.about-v2__message-heading h2,
	.about-v2 .company-water-heading h2 {
		font-size: 52px !important;
	}

	.about-v2__message-grid {
		gap: 48px;
	}

	.about-v2__representative-image {
		width: min(72vw, 280px);
	}

	.about-v2__message-puddle,
	.about-v2__message-residents {
		right: -54vw;
		bottom: 10px;
		width: 175vw;
		height: 560px;
	}

	.about-v2__resident--message-one {
		top: 14%;
		left: 55%;
		width: 34px;
		height: 31px;
	}

	.about-v2__resident--message-two {
		right: 25%;
		bottom: 12%;
		width: 110px;
		height: 102px;
	}

	.about-v2 .company-info__table div,
	.about-v2 .company-info__table div + div {
		grid-template-columns: 1fr;
		gap: 10px;
		padding: 22px 0;
	}

	.about-v2 .company-info__table dd {
		padding-left: 0;
		border-left: 0;
	}
}

/*
 * ABOUT chapter rhythm.
 * Mission, Message and Info share one vertical rule so each new chapter
 * arrives with the same cadence as the chapter transitions on the home page.
 */
.about-v2 {
	--about-chapter-space: clamp(72px, 6vw, 88px);
	--about-heading-content-space: clamp(40px, 4vw, 56px);
}

.about-v2 .about-v2__layers,
.about-v2 .about-v2__message,
.about-v2 .company-water-section {
	padding-top: var(--about-chapter-space);
	padding-bottom: var(--about-chapter-space);
}

.about-v2 .about-v2__mission-layout {
	margin-top: var(--about-heading-content-space);
}

.about-v2 .about-v2__message-heading {
	margin-bottom: var(--about-heading-content-space);
}

.about-v2 .company-info__table {
	margin-top: var(--about-heading-content-space);
}

/* Keep the custom Philosophy head flush with the fixed global header. */
.page-main--philosophy {
	padding-top: 0;
}

/*
 * Canonical Latin display system.
 * Keep one voice across HOME landmarks, page heroes and secondary section heads.
 */
.home-coten__mission h2,
.home-coten__services-intro h2,
.home-coten__news-heading h2,
.philosophy-hero h1,
.company-hero__title h1,
.person-profile-hero__heading h1,
.philosophy-mission-vision h2,
.philosophy-values__header h2,
.company-water-heading h2,
.person-profile-section__heading h2 {
	font-family: var(--font-display-latin) !important;
	font-weight: 600 !important;
	font-kerning: normal;
	font-feature-settings: "kern" 1;
	letter-spacing: -0.02em !important;
}

.home-coten__mission h2,
.home-coten__services-intro h2,
.home-coten__news-heading h2,
.philosophy-hero h1,
.company-hero__title h1,
.person-profile-hero__heading h1 {
	font-size: clamp(80px, 9.4vw, 136px) !important;
	line-height: 0.9 !important;
}

.philosophy-mission-vision h2,
.philosophy-values__header h2,
.company-water-heading h2,
.person-profile-section__heading h2 {
	font-size: clamp(48px, 5.3vw, 76px) !important;
	line-height: 0.95 !important;
}

.home-coten__news-heading h2 {
	font-size: clamp(72px, 7.6vw, 108px) !important;
}

@media (max-width: 560px) {
	.home-coten__mission h2,
	.home-coten__services-intro h2,
	.home-coten__news-heading h2,
	.philosophy-hero h1,
	.company-hero__title h1,
	.person-profile-hero__heading h1 {
		font-size: clamp(52px, 15vw, 60px) !important;
	}

	.philosophy-mission-vision h2,
	.philosophy-values__header h2,
	.company-water-heading h2,
	.person-profile-section__heading h2 {
		font-size: clamp(38px, 10.5vw, 46px) !important;
	}

	.home-coten__news-heading h2 {
		font-size: 58px !important;
	}
}

/*
 * Shared lower-page header.
 * HOME keeps its own intro / first-view behavior; every other page inherits
 * the visual state established on ABOUT so page templates cannot drift.
 */
body:not(.home):not(.front-page) .global-header {
	z-index: 100;
	height: 92px;
	padding: 0 var(--gutter);
	border-bottom: 0;
	background: rgba(255, 255, 255, 0.94);
	box-shadow: none;
	backdrop-filter: none;
}

body:not(.home):not(.front-page) .global-header.is-condensed {
	height: 68px;
	border-bottom: 1px solid var(--line-soft);
	background: rgba(255, 255, 255, 0.94);
	box-shadow: none;
	backdrop-filter: blur(14px);
}

@media (max-width: 900px) {
	body:not(.home):not(.front-page) .global-header,
	body:not(.home):not(.front-page) .global-header.is-condensed {
		height: 64px;
	}
}

@media (max-width: 600px) {
	body:not(.home):not(.front-page) .global-header,
	body:not(.home):not(.front-page) .global-header.is-condensed {
		background: rgba(255, 255, 255, 0.97);
	}
}

/* Formal corporate News archive and detail pages. */

.news-page {
	background: var(--foam-white);
	color: var(--text-ink);
}

.subpage-hero__breadcrumb a {
	color: rgba(var(--text-ink-rgb), 0.68);
	text-decoration: none;
}

.subpage-hero__breadcrumb a:hover {
	color: var(--foam-white);
}

.subpage-hero__breadcrumb span[aria-hidden="true"] {
	color: rgba(255, 255, 255, 0.82);
}

.subpage-hero__heading p {
	margin: 32px 0 0 8px;
	font-size: 15px;
	font-weight: 500;
	letter-spacing: 0.08em;
}

.news-archive {
	padding: clamp(92px, 9vw, 140px) var(--gutter) clamp(112px, 11vw, 176px);
	background: var(--foam-white);
}

.news-archive__inner {
	width: min(100%, 1120px);
	margin: 0 auto;
}

.news-archive__filters {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-bottom: clamp(42px, 5vw, 66px);
}

.news-archive__filters a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 38px;
	padding: 8px 19px;
	border: 1px solid rgba(var(--text-ink-rgb), 0.12);
	border-radius: 999px;
	background: #fff;
	color: rgba(var(--text-ink-rgb), 0.7);
	font-family: var(--font-jp);
	font-size: 12px;
	font-weight: 500;
	line-height: 1.2;
	text-decoration: none;
	transition: background-color 180ms ease, border-color 180ms ease, color 180ms ease;
}

.news-archive__filters a:hover,
.news-archive__filters a[aria-current="page"] {
	border-color: transparent;
	background: var(--water-blue);
	color: #fff;
}

.news-archive__list {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: clamp(42px, 5vw, 68px) clamp(24px, 3vw, 40px);
}

.news-card {
	min-width: 0;
}

.news-card__link {
	display: block;
	color: inherit;
	text-decoration: none;
}

.news-card__media {
	position: relative;
	overflow: hidden;
	width: 100%;
	aspect-ratio: 16 / 10;
	border: 1px solid rgba(var(--text-ink-rgb), 0.07);
	border-radius: 8px;
	background: #F5FAFA;
}

.news-card__image,
.news-card__placeholder {
	display: block;
	width: 100%;
	height: 100%;
}

.news-card__image {
	object-fit: cover;
	transition: transform 420ms cubic-bezier(0.22, 1, 0.36, 1);
}

.news-card__placeholder {
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 14%;
	background: #F2F9FA;
}

.news-card__placeholder img {
	display: block;
	width: min(76%, 240px);
	height: auto;
}

.news-card__body {
	display: flex;
	flex-direction: column;
	gap: 14px;
	padding-top: 21px;
}

.news-card__body h3 {
	margin: 0;
	font-family: var(--font-jp);
	font-size: clamp(16px, 1.34vw, 19px);
	font-weight: 500;
	line-height: 1.75;
}

.news-card__body time {
	order: 2;
	color: rgba(var(--text-ink-rgb), 0.52);
	font-family: var(--font-en);
	font-size: 12px;
	font-weight: 500;
	font-variant-numeric: tabular-nums;
	letter-spacing: 0.06em;
}

.news-card__link:hover .news-card__image {
	transform: scale(1.025);
}

.news-card__link:hover .news-card__body h3 {
	color: var(--link-color);
}

.news-card__link:focus-visible {
	outline: 2px solid var(--water-blue);
	outline-offset: 7px;
}

/*
 * HOME News: a quiet editorial index rather than an archive-card grid.
 * The archive keeps its three-column cards; HOME alone uses a heading rail
 * beside image-led rows so the section reads as one composed landscape.
 */
.home-coten__news {
	padding-top: clamp(76px, 7vw, 104px);
	padding-bottom: clamp(100px, 9vw, 136px);
}

.home-coten__news-inner {
	display: grid;
	grid-template-columns: minmax(210px, 0.32fr) minmax(0, 1fr);
	gap: clamp(64px, 8vw, 126px);
	align-items: start;
}

.home-coten__news-heading {
	padding-top: 2px;
}

.home-coten__news-heading h2 {
	font-size: clamp(68px, 6.2vw, 88px) !important;
	line-height: 0.94 !important;
}

.home-coten__news-heading > p {
	margin: 24px 0 0;
	font-size: 15px;
	font-weight: 600;
	letter-spacing: 0.04em;
	line-height: 1.6;
}

.home-coten__news-content {
	min-width: 0;
	padding-top: 0;
}

.home-coten__news-list {
	display: block;
	margin-top: 0;
}

.news-card--home {
	border-bottom: 0;
}

.news-card--home .news-card__link {
	display: grid;
	grid-template-columns: clamp(190px, 20vw, 274px) minmax(0, 1fr) 38px;
	gap: clamp(28px, 3.4vw, 52px);
	align-items: center;
	min-height: 210px;
	padding: 30px 0 34px;
}

.news-card--home:first-child .news-card__link {
	padding-top: 0;
}

.news-card--home .news-card__media {
	align-self: center;
	aspect-ratio: 16 / 10;
	border-radius: 6px;
}

.news-card--home .news-card__body {
	gap: 22px;
	padding-top: 0;
}

.news-card--home .news-card__body h3 {
	font-size: clamp(15px, 1.25vw, 18px);
	font-weight: 500;
	line-height: 1.75;
}

.news-card--home .news-card__link::after {
	content: "\2192";
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 38px;
	height: 38px;
	border-radius: 10px;
	background: var(--water-blue);
	color: #fff;
	font-family: var(--font-en);
	font-size: 17px;
	font-weight: 700;
	line-height: 1;
	transition: transform 180ms ease, background-color 180ms ease;
}

.news-card--home .news-card__link:hover::after {
	background: var(--deep-water);
	transform: translateX(3px);
}

.home-coten__news-more {
	float: none;
	display: inline-flex;
	gap: 14px;
	align-items: center;
	margin-top: clamp(52px, 6vw, 74px);
	color: var(--ink);
	font-size: 14px;
	text-decoration: none;
}

.home-coten__news-more > span {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 38px;
	height: 38px;
	border-radius: 10px;
	background: var(--water-blue);
	color: #fff;
	font-size: 17px;
	line-height: 1;
	transition: transform 180ms ease, background-color 180ms ease;
}

.home-coten__news-more:hover > span {
	background: var(--deep-water);
	transform: translateX(3px);
}

@media (max-width: 900px) {
	.home-coten__news {
		padding: 80px 56px 100px;
	}

	.home-coten__news-inner {
		grid-template-columns: 1fr;
		gap: 56px;
	}

	.home-coten__news-heading {
		display: grid;
		grid-template-columns: 1fr auto;
		align-items: end;
	}

	.home-coten__news-heading > p {
		grid-column: 1;
	}

	.home-coten__news-more {
		margin-top: 40px;
	}

	.home-coten__news-list {
		margin-top: 0;
	}

	.news-card--home .news-card__link {
		grid-template-columns: minmax(190px, 0.42fr) minmax(0, 1fr) 38px;
		min-height: 190px;
	}
}

@media (max-width: 600px) {
	.home-coten__news {
		padding: 60px 24px 80px;
	}

	.home-coten__news-inner {
		gap: 46px;
	}

	.home-coten__news-heading {
		display: block;
	}

	.home-coten__news-heading h2 {
		font-size: 58px !important;
	}

	.home-coten__news-heading > p {
		margin-top: 16px;
		font-size: 14px;
	}

	.home-coten__news-more {
		margin-top: 30px;
	}

	.news-card--home {
		padding-bottom: 34px;
	}

	.news-card--home + .news-card--home {
		padding-top: 34px;
	}

	.news-card--home .news-card__link,
	.news-card--home:first-child .news-card__link {
		display: block;
		min-height: 0;
		padding: 0;
	}

	.news-card--home .news-card__media {
		width: 100%;
	}

	.news-card--home .news-card__body {
		gap: 13px;
		padding-top: 18px;
	}

	.news-card--home .news-card__body h3 {
		font-size: 16px;
	}

	.news-card--home .news-card__link::after {
		display: none;
	}
}

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

.news-archive__empty {
	margin: 0;
	padding: 48px 0;
	border-top: 1px solid rgba(var(--text-ink-rgb), 0.16);
	border-bottom: 1px solid rgba(var(--text-ink-rgb), 0.16);
	font-size: 15px;
}

.news-archive .navigation.pagination {
	margin-top: 48px;
}

.news-archive .nav-links {
	display: flex;
	flex-wrap: wrap;
	gap: 10px 18px;
	align-items: center;
}

.news-archive .page-numbers {
	color: inherit;
	font-size: 13px;
	text-decoration: none;
}

.news-archive .page-numbers.current {
	color: var(--water-blue);
}

.news-page--single {
	background: var(--foam-white);
}

.news-single {
	width: min(calc(100% - (var(--gutter) * 2)), 1120px);
	margin: 0 auto;
	padding: calc(var(--header-height) + clamp(54px, 5.6vw, 84px)) 0 clamp(120px, 12vw, 180px);
}

.news-single__breadcrumb {
	display: flex;
	gap: 11px;
	align-items: center;
	min-width: 0;
	margin: 0 0 clamp(68px, 7.4vw, 106px);
	color: rgba(var(--text-ink-rgb), 0.52);
	font-family: var(--font-en);
	font-size: 11px;
	font-weight: 600;
	line-height: 1.4;
	letter-spacing: 0.08em;
}

.news-single__breadcrumb a {
	color: inherit;
	text-decoration: none;
	transition: color 180ms ease;
}

.news-single__breadcrumb a:hover {
	color: var(--link-color);
}

.news-single__breadcrumb [aria-current="page"] {
	flex: 1;
	min-width: 0;
	overflow: hidden;
	color: rgba(var(--text-ink-rgb), 0.58);
	font-family: var(--font-jp);
	font-weight: 400;
	letter-spacing: 0.02em;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.news-single__header {
	width: min(100%, 920px);
	margin: 0 auto;
}

.news-single__header time {
	display: block;
	margin-bottom: 24px;
	color: rgba(var(--text-ink-rgb), 0.62);
	font-family: var(--font-en);
	font-size: 13px;
	font-weight: 500;
	font-variant-numeric: tabular-nums;
	letter-spacing: 0.08em;
}

.news-single__header h1 {
	max-width: 900px;
	margin: 0;
	font-family: var(--font-jp);
	font-size: clamp(34px, 3.25vw, 48px);
	font-weight: 600;
	line-height: 1.5;
	letter-spacing: 0.01em;
}

.news-single__category {
	position: absolute;
	z-index: 1;
	top: 0;
	left: max(0px, calc((100% - 920px) / 2));
	display: flex;
	align-items: center;
	width: max-content;
	margin: 0;
	pointer-events: none;
	transform: translateY(-22%);
}

.news-single__category-resident {
	position: relative;
	z-index: 1;
	display: block;
	flex: 0 0 auto;
	width: 74px;
	height: 68px;
	-webkit-mask-image: radial-gradient(ellipse 49% 54% at 50% 50%, #000 0 61%, rgba(0, 0, 0, 0.96) 73%, rgba(0, 0, 0, 0.42) 89%, transparent 100%);
	mask-image: radial-gradient(ellipse 49% 54% at 50% 50%, #000 0 61%, rgba(0, 0, 0, 0.96) 73%, rgba(0, 0, 0, 0.42) 89%, transparent 100%);
	filter: drop-shadow(0 4px 9px rgba(63, 110, 140, 0.12));
}

.news-single__category-resident img {
	position: absolute;
	top: 50%;
	left: 50%;
	display: block;
	width: 197%;
	max-width: none;
	height: auto;
	mix-blend-mode: lighten;
	transform: translate(-48%, -46%);
}

.has-resident-cutout .news-single__category-resident {
	-webkit-mask-image: none;
	mask-image: none;
}

.has-resident-cutout .news-single__category-resident img {
	mix-blend-mode: normal;
}

.news-single__category-resident .home-coten__presence-body > i {
	top: 50%;
	width: 4.2%;
}

.news-single__category-bubble {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 92px;
	min-height: 43px;
	margin-left: -5px;
	padding: 11px 19px 10px;
	background: #E5F2F4;
	border-radius: 52% 48% 49% 51% / 56% 51% 49% 44%;
	color: var(--deep-water);
	font-family: var(--font-jp);
	font-size: 13px;
	font-weight: 500;
	line-height: 1.2;
	transform: translateY(-9px);
}

.news-single__category-bubble::before {
	position: absolute;
	left: -5px;
	bottom: 7px;
	width: 12px;
	height: 10px;
	background: inherit;
	border-radius: 70% 10% 65% 55%;
	content: "";
	transform: rotate(24deg);
}

.news-single__body {
	position: relative;
	isolation: isolate;
	margin-top: clamp(88px, 8vw, 110px);
	padding: clamp(66px, 6vw, 82px) 0 clamp(62px, 6vw, 78px);
}

.news-single__body::before {
	position: absolute;
	z-index: -1;
	inset: 0 50%;
	width: 100vw;
	background: #F8FBFB;
	content: "";
	transform: translateX(-50%);
}

.news-single__featured-image {
	width: min(100%, 960px);
	margin: 0 auto;
}

.news-single__featured-image img {
	display: block;
	width: 100%;
	height: auto;
}

.news-single__content {
	width: min(100%, 780px);
	margin: 0 auto;
	font-family: var(--font-jp);
	font-size: clamp(15px, 1.18vw, 17px);
	line-height: 2.05;
}

.news-single__featured-image + .news-single__content {
	margin-top: clamp(52px, 5vw, 68px);
}

.news-single__content > *:first-child {
	margin-top: 0;
}

.news-single__content > *:last-child {
	margin-bottom: 0;
}

.news-single__content p {
	margin: 0 0 1.8em;
}

.news-single__content h2,
.news-single__content h3,
.news-single__content h4 {
	font-family: var(--font-jp);
	font-weight: 600;
	line-height: 1.6;
}

.news-single__content h2 {
	margin: 3em 0 1em;
	font-size: 1.55em;
}

.news-single__content h3 {
	margin: 2.6em 0 0.9em;
	font-size: 1.28em;
}

.news-single__content ul,
.news-single__content ol {
	margin: 0 0 1.8em;
	padding-left: 1.45em;
}

.news-single__content li + li {
	margin-top: 0.55em;
}

.news-single__content a {
	color: var(--link-color);
	text-decoration-line: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 0.22em;
}

.news-single__content img {
	max-width: 100%;
	height: auto;
}

.news-single__content figure {
	margin: 2.6em 0;
}

.news-single__content blockquote {
	margin: 2.4em 0;
	padding-left: 1.4em;
	border-left: 2px solid var(--mist-blue);
	color: rgba(var(--text-ink-rgb), 0.78);
}

.news-single__footer {
	width: min(100%, 780px);
	margin: clamp(54px, 6vw, 76px) auto 0;
	padding-top: 0;
	border-top: 0;
}

.news-single__back {
	display: inline-flex;
	gap: 12px;
	align-items: center;
	color: inherit;
	font-size: 14px;
	font-weight: 500;
	text-decoration: none;
}

.news-single__back:hover {
	color: var(--link-color);
}

@media (max-width: 600px) {
	.subpage-hero {
		min-height: 400px;
		padding: 112px 24px 52px;
	}

	.page-main--about .subpage-hero--water,
	.news-page .subpage-hero--water {
		min-height: 280px;
		padding: 88px 24px 36px;
	}

	.page-main--about .about-unified__mission {
		padding-top: 80px;
	}

	.news-page .subpage-hero__heading h1 {
		margin: 0;
	}

	.news-page .news-archive {
		padding-top: 44px;
	}

	.subpage-hero__breadcrumb {
		gap: 11px;
		margin-bottom: 58px;
		font-size: 11px;
	}

	.subpage-hero__heading h1 {
		font-size: clamp(58px, 18vw, 76px);
	}

	.subpage-hero__heading p {
		margin-top: 22px;
		font-size: 12px;
	}

	.subpage-hero__ripple {
		right: -146px;
		bottom: -72px;
		width: 350px;
	}

	.news-archive {
		padding: 76px 24px 100px;
	}

	.news-archive__list {
		grid-template-columns: 1fr;
		gap: 44px;
	}

	.news-archive__filters {
		flex-wrap: nowrap;
		overflow-x: auto;
		margin-right: -24px;
		padding-right: 24px;
		scrollbar-width: none;
	}

	.news-archive__filters::-webkit-scrollbar {
		display: none;
	}

	.news-archive__filters a {
		flex: 0 0 auto;
	}

	.news-archive__item {
		grid-template-columns: 1fr;
		gap: 12px;
		min-height: 0;
		padding: 26px 0 30px;
	}

	.news-archive__item h3 {
		font-size: 16px;
	}

	.news-single {
		width: calc(100% - 48px);
		padding: calc(var(--header-height) + 34px) 0 104px;
	}

	.news-single__breadcrumb {
		gap: 8px;
		margin-bottom: 54px;
		font-size: 10px;
	}

	.news-single__header time {
		margin-bottom: 19px;
	}

	.news-single__header h1 {
		font-size: clamp(27px, 7.8vw, 34px);
		line-height: 1.5;
	}

	.news-single__category {
		left: 0;
		transform: translateY(-20%);
	}

	.news-single__category-resident {
		width: 62px;
		height: 58px;
	}

	.news-single__category-bubble {
		min-width: 82px;
		min-height: 39px;
		margin-left: -4px;
		padding: 10px 16px 9px;
		font-size: 12px;
		transform: translateY(-7px);
	}

	.news-single__body {
		margin-top: 74px;
		padding: 54px 0 50px;
	}

	.news-single__content {
		font-size: 15px;
		line-height: 1.95;
	}

	.news-single__featured-image + .news-single__content {
		margin-top: 44px;
	}

	.news-single__footer {
		margin-top: 50px;
	}
}

/*
 * Corporate typography system.
 * Japanese reading text keeps the established gothic stack. Latin brand signs,
 * navigation, UI labels and numerals share Nunito at role-specific weights.
 */
.global-nav a,
.global-nav__index,
.menu-toggle__label {
	font-family: var(--font-en);
	font-weight: 700;
}

.global-footer__nav a:not(.global-footer__nav-child) {
	font-family: var(--font-en);
	font-weight: 700;
}

.global-footer__bottom p {
	font-family: var(--font-en);
	font-weight: 600;
}

.home-coten__services-intro h2,
.home-coten__news-heading h2,
.philosophy-hero h1,
.philosophy-mission-vision h2,
.philosophy-values__header h2,
.company-hero__title h1,
.company-water-heading h2,
.person-profile-hero__heading h1,
.person-profile-section__heading h2,
.subpage-hero__heading h1,
.about-unified__heading h2 {
	font-family: var(--font-en) !important;
	font-weight: 600 !important;
}

.about-unified__principle-number,
.page-hero__figure span,
.person-profile-history time {
	font-family: var(--font-en);
	font-weight: 500;
	font-variant-numeric: lining-nums proportional-nums;
}

/*
 * Shared English section landmarks.
 * Info is the visual baseline for Projects, News, Mission, Message and Info.
 */
.home-coten__services-intro .section-landmark-title,
.home-coten__news-heading .section-landmark-title,
.about-v2__layers-intro > .section-landmark-title,
.about-v2__section-heading.about-v2__message-heading .section-landmark-title,
.about-v2 .company-water-heading .section-landmark-title,
.company-water-heading .section-landmark-title {
	margin: 0 !important;
	color: var(--water-blue);
	font-family: var(--font-en) !important;
	font-size: clamp(58px, 6.4vw, 88px) !important;
	font-weight: 500 !important;
	font-kerning: normal;
	font-feature-settings: "kern" 1;
	letter-spacing: -0.045em !important;
	line-height: 0.92 !important;
	text-transform: none;
}

.section-landmark-subtitle,
.home-coten__services-intro > .section-landmark-subtitle,
.home-coten__news-heading > .section-landmark-subtitle,
.about-v2__layers-intro > .section-landmark-subtitle,
.about-v2__section-heading.about-v2__message-heading > .section-landmark-subtitle,
.about-v2 .company-water-heading > .section-landmark-subtitle,
.company-water-heading > .section-landmark-subtitle {
	margin: 0 0 clamp(12px, 1.4vw, 18px) !important;
	color: rgba(var(--water-ink-rgb), 0.72) !important;
	font-family: var(--font-sans) !important;
	font-size: 13px !important;
	font-weight: 650 !important;
	letter-spacing: 0.08em !important;
	line-height: 1.6 !important;
	text-transform: none;
}

.about-v2__layers-intro > .section-landmark-title + h2 {
	margin-top: clamp(28px, 3vw, 40px);
}

@media (max-width: 560px) {
	.home-coten__services-intro .section-landmark-title,
	.home-coten__news-heading .section-landmark-title,
	.about-v2__layers-intro > .section-landmark-title,
	.about-v2__section-heading.about-v2__message-heading .section-landmark-title,
	.about-v2 .company-water-heading .section-landmark-title,
	.company-water-heading .section-landmark-title {
		font-size: 52px !important;
	}

	.section-landmark-subtitle,
	.home-coten__services-intro > .section-landmark-subtitle,
	.home-coten__news-heading > .section-landmark-subtitle,
	.about-v2__layers-intro > .section-landmark-subtitle,
	.about-v2__section-heading.about-v2__message-heading > .section-landmark-subtitle,
	.about-v2 .company-water-heading > .section-landmark-subtitle,
	.company-water-heading > .section-landmark-subtitle {
		margin: 0 0 12px !important;
		font-size: 12px !important;
	}
}

.section-code,
.page-hero__title > p,
.page-opening__label,
.split-heading > p,
.eyebrow,
.contact-mail span,
.contact-mail strong,
.contact-notes > p,
.contact-notes li > span,
.school-method li > span,
.next-page > span,
.next-page > strong {
	font-family: var(--font-en);
	font-weight: 600;
}

.home-coten__lead-link,
.home-coten__news-more,
.news-single__back {
	font-family: var(--font-en);
	font-weight: 700;
}

.home-coten__news-item time,
.news-archive__item time,
.news-single__header time,
.news-archive .page-numbers {
	font-family: var(--font-en);
	font-weight: 500;
	font-variant-numeric: tabular-nums;
}

/* Official person archive: quiet, searchable and easy to cite. */
.person-profile-page {
	overflow: clip;
	background: var(--foam-white);
}

.person-profile-primary {
	padding: clamp(112px, 10vw, 152px) var(--gutter) clamp(124px, 11vw, 168px);
	background: var(--foam-white);
}

.person-profile-primary__inner,
.person-profile-section__inner {
	width: min(1180px, 100%);
	margin: 0 auto;
}

.person-profile-primary__inner {
	display: grid;
	grid-template-columns: minmax(280px, 0.7fr) minmax(0, 1.3fr);
	gap: clamp(72px, 9vw, 132px);
	align-items: start;
}

.person-profile-primary__heading h2 {
	margin: 0;
	font-size: clamp(40px, 4.3vw, 58px);
	font-weight: 600;
	letter-spacing: 0.02em;
	line-height: 1.35;
}

.person-profile-primary__heading p {
	margin: 18px 0 0;
	color: rgba(var(--text-ink-rgb), 0.68);
	font-size: 14px;
	font-weight: 500;
	letter-spacing: 0.045em;
}

.person-profile-primary__body {
	max-width: 760px;
}

.person-profile-prose p,
.person-profile-short-bio__body > p {
	margin: 0;
	font-size: 15px;
	font-weight: 400;
	letter-spacing: 0.025em;
	line-height: 2.1;
}

.person-profile-prose p + p {
	margin-top: 24px;
}

.person-profile-section {
	position: relative;
	padding: clamp(112px, 10vw, 150px) var(--gutter);
	background: var(--foam-white);
}

.person-profile-section__heading {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 40px;
	margin-bottom: clamp(64px, 6.5vw, 92px);
}

.person-profile-section__heading h2,
.person-profile-fields .person-profile-section__heading h2,
.person-profile-activity .person-profile-section__heading h2,
.person-profile-history .person-profile-section__heading h2,
.person-profile-short-bio .person-profile-section__heading h2 {
	margin: 0;
	color: var(--water-blue);
	font-family: var(--font-en) !important;
	font-size: clamp(56px, 6vw, 82px) !important;
	font-weight: 600 !important;
	letter-spacing: -0.02em !important;
	line-height: 0.95 !important;
}

.person-profile-section__heading p {
	margin: 0;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.1em;
}

.person-profile-fields {
	background: rgba(237, 247, 248, 0.46);
}

.person-profile-fields__list,
.person-profile-activity__list,
.person-profile-history__list,
.person-profile-short-bio__body {
	width: min(900px, 78%);
	margin-left: auto;
}

.person-profile-fields__list {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	column-gap: clamp(44px, 6vw, 80px);
}

.person-profile-fields__list article {
	padding: 34px 0 38px;
	border-top: 1px solid var(--line);
}

.person-profile-fields__list article > p:first-child {
	margin: 0 0 16px;
	color: var(--water-ink);
	font-family: var(--font-en);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.11em;
	line-height: 1.4;
}

.person-profile-fields__list h3 {
	margin: 0;
	font-size: 20px;
	font-weight: 600;
	letter-spacing: 0.025em;
	line-height: 1.5;
}

.person-profile-fields__list .person-profile-field__description {
	margin: 19px 0 0;
	font-size: 14px;
	letter-spacing: 0.025em;
	line-height: 1.95;
}

.person-profile-activity {
	overflow: hidden;
	background: var(--foam-white);
	isolation: isolate;
}

.person-profile-activity::before {
	position: absolute;
	z-index: 0;
	top: 8%;
	right: -16%;
	width: min(980px, 76vw);
	height: 84%;
	border-radius: 54% 46% 48% 52% / 42% 56% 44% 58%;
	background: rgba(220, 239, 241, 0.54);
	content: "";
}

.person-profile-activity .person-profile-section__inner {
	position: relative;
	z-index: 1;
}

.person-profile-activity__list {
	border-top: 1px solid var(--line);
}

.person-profile-activity__list article {
	display: grid;
	grid-template-columns: minmax(160px, 0.4fr) minmax(0, 1fr);
	gap: clamp(36px, 5vw, 68px);
	padding: 33px 0 36px;
	border-bottom: 1px solid var(--line);
}

.person-profile-activity__list h3 {
	margin: 0;
	font-size: 18px;
	font-weight: 600;
	letter-spacing: 0.025em;
	line-height: 1.65;
}

.person-profile-activity__content p {
	margin: 0;
	font-size: 14px;
	letter-spacing: 0.025em;
	line-height: 2;
}

.person-profile-activity__content p + p {
	margin-top: 15px;
}

.person-profile-history {
	background: var(--foam-white);
}

.person-profile-history__list {
	margin-top: 0;
	margin-bottom: 0;
	padding: 0;
	border-top: 1px solid var(--line);
	list-style: none;
}

.person-profile-history__list li {
	display: grid;
	grid-template-columns: 120px 1fr;
	gap: clamp(36px, 5vw, 72px);
	align-items: start;
	padding: 29px 0 32px;
	border-bottom: 1px solid var(--line);
}

.person-profile-history__list time {
	color: var(--water-ink);
	font-family: var(--font-en);
	font-size: 17px;
	font-weight: 600;
	font-variant-numeric: lining-nums tabular-nums;
	letter-spacing: 0.03em;
}

.person-profile-history__list p {
	margin: 0;
	font-size: 14px;
	letter-spacing: 0.025em;
	line-height: 1.95;
}

.person-profile-short-bio {
	padding-bottom: clamp(116px, 10vw, 148px);
	background: rgba(232, 245, 246, 0.62);
}

.person-profile-short-bio__body > p {
	max-width: 820px;
}

.person-profile-related-links {
	margin-top: clamp(56px, 6vw, 78px);
	border-top: 1px solid rgba(var(--text-ink-rgb), 0.18);
}

.person-profile-related-links > p {
	margin: 0;
	padding: 24px 0 13px;
	color: rgba(var(--text-ink-rgb), 0.62);
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 0.1em;
}

.person-profile-related-links a {
	display: grid;
	grid-template-columns: minmax(190px, 0.7fr) 1fr;
	gap: 36px;
	align-items: center;
	padding: 23px 0 25px;
	border-bottom: 1px solid rgba(var(--text-ink-rgb), 0.18);
	text-decoration: none;
}

.person-profile-related-links strong {
	font-size: 16px;
	font-weight: 600;
}

.person-profile-related-links span {
	justify-self: end;
	color: var(--water-ink);
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.04em;
	transition: transform 180ms ease;
}

.person-profile-related-links a:hover span,
.person-profile-related-links a:focus-visible span {
	transform: translateX(4px);
}

@media (max-width: 900px) {
	.person-profile-primary__inner {
		grid-template-columns: minmax(230px, 0.6fr) minmax(0, 1fr);
		gap: 58px;
	}

	.person-profile-fields__list,
	.person-profile-activity__list,
	.person-profile-history__list,
	.person-profile-short-bio__body {
		width: 88%;
	}
}

@media (max-width: 680px) {
	.person-profile-primary {
		padding: 84px 24px 96px;
	}

	.person-profile-primary__inner {
		grid-template-columns: 1fr;
		gap: 42px;
	}

	.person-profile-primary__heading h2 {
		font-size: 36px;
	}

	.person-profile-primary__heading p {
		margin-top: 13px;
		font-size: 13px;
	}

	.person-profile-prose p,
	.person-profile-short-bio__body > p {
		font-size: 14px;
		line-height: 2.05;
	}

	.person-profile-section {
		padding: 88px 24px 96px;
	}

	.person-profile-section__heading {
		display: block;
		margin-bottom: 48px;
	}

	.person-profile-section__heading h2,
	.person-profile-fields .person-profile-section__heading h2,
	.person-profile-activity .person-profile-section__heading h2,
	.person-profile-history .person-profile-section__heading h2,
	.person-profile-short-bio .person-profile-section__heading h2 {
		font-size: clamp(44px, 14vw, 56px) !important;
		line-height: 0.98 !important;
	}

	.person-profile-section__heading p {
		margin-top: 17px;
		font-size: 10px;
	}

	.person-profile-fields__list,
	.person-profile-activity__list,
	.person-profile-history__list,
	.person-profile-short-bio__body {
		width: 100%;
	}

	.person-profile-fields__list {
		grid-template-columns: 1fr;
	}

	.person-profile-fields__list article {
		padding: 28px 0 31px;
	}

	.person-profile-activity::before {
		top: 15%;
		right: -72%;
		width: 145vw;
		height: 72%;
	}

	.person-profile-activity__list article {
		grid-template-columns: 1fr;
		gap: 14px;
		padding: 27px 0 30px;
	}

	.person-profile-activity__content p {
		font-size: 13px;
		line-height: 1.95;
	}

	.person-profile-activity__content p + p {
		margin-top: 12px;
	}

	.person-profile-history__list li {
		grid-template-columns: 62px 1fr;
		gap: 20px;
		padding: 23px 0 26px;
	}

	.person-profile-history__list time {
		font-size: 14px;
	}

	.person-profile-history__list p {
		font-size: 13px;
		line-height: 1.85;
	}

	.person-profile-short-bio {
		padding-bottom: 96px;
	}

	.person-profile-related-links {
		margin-top: 52px;
	}

	.person-profile-related-links a {
		grid-template-columns: 1fr;
		gap: 10px;
		padding: 22px 0 24px;
	}

	.person-profile-related-links span {
		justify-self: start;
	}
}

/* Profile archive information architecture foundation. */
.person-profile-page {
	overflow: clip;
	background: var(--foam-white);
}

.person-profile-bio {
	padding: clamp(112px, 11vw, 168px) var(--gutter) clamp(104px, 10vw, 148px);
	background: var(--foam-white);
}

.person-profile-bio__inner,
.person-profile-section__inner {
	width: min(1120px, 100%);
	margin: 0 auto;
}

.person-profile-bio__inner {
	display: grid;
	grid-template-columns: minmax(280px, 0.72fr) minmax(0, 1.28fr);
	gap: clamp(68px, 9vw, 128px);
	align-items: start;
}

.person-profile-bio__label {
	margin: 0 0 30px;
	color: var(--water-blue);
	font-family: var(--font-en);
	font-size: 17px;
	font-weight: 700;
	letter-spacing: 0.04em;
}

.person-profile-bio__heading h1 {
	margin: 0;
	font-size: clamp(42px, 4.6vw, 60px);
	font-weight: 600;
	letter-spacing: 0.025em;
	line-height: 1.35;
}

.person-profile-bio__role {
	margin: 18px 0 0;
	color: rgba(var(--text-ink-rgb), 0.68);
	font-size: 14px;
	font-weight: 500;
	letter-spacing: 0.04em;
}

.person-profile-bio__body {
	max-width: 720px;
	padding-top: 49px;
}

.person-profile-bio__body p {
	margin: 0;
	font-size: 15px;
	letter-spacing: 0.025em;
	line-height: 2.1;
}

.person-profile-bio__body p + p {
	margin-top: 24px;
}

.person-profile-bio__body a {
	color: var(--water-ink);
	text-decoration-color: rgba(58, 109, 132, 0.42);
	text-decoration-thickness: 1px;
	text-underline-offset: 0.22em;
}

.person-profile-section {
	padding: clamp(96px, 9vw, 128px) var(--gutter);
	background: var(--foam-white);
}

.person-profile-section__heading {
	display: block;
	margin-bottom: clamp(52px, 5vw, 72px);
}

.person-profile-section__heading h2,
.person-profile-areas .person-profile-section__heading h2,
.person-profile-experience .person-profile-section__heading h2,
.person-profile-history .person-profile-section__heading h2 {
	margin: 0;
	color: var(--water-blue);
	font-family: var(--font-en) !important;
	font-size: clamp(48px, 5.3vw, 68px) !important;
	font-weight: 600 !important;
	letter-spacing: -0.02em !important;
	line-height: 1 !important;
}

.person-profile-areas {
	background: rgba(237, 247, 248, 0.42);
}

.person-profile-areas__list,
.person-profile-experience__list,
.person-profile-history__list {
	width: min(850px, 78%);
	margin: 0 0 0 auto;
	padding: 0;
}

.person-profile-areas__list {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	border-top: 1px solid var(--line);
	list-style: none;
}

.person-profile-areas__list li {
	padding: 30px 0 32px;
	border-bottom: 1px solid var(--line);
	font-size: 18px;
	font-weight: 600;
	letter-spacing: 0.025em;
	line-height: 1.6;
}

.person-profile-areas__list li:nth-child(odd) {
	padding-right: clamp(28px, 5vw, 64px);
}

.person-profile-areas__list li:nth-child(even) {
	padding-left: clamp(28px, 5vw, 64px);
	border-left: 1px solid var(--line);
}

.person-profile-experience__list {
	border-top: 1px solid var(--line);
}

.person-profile-experience__list > div {
	display: grid;
	grid-template-columns: minmax(150px, 0.42fr) minmax(0, 1fr);
	gap: clamp(32px, 5vw, 68px);
	align-items: baseline;
	padding: 30px 0 33px;
	border-bottom: 1px solid var(--line);
}

.person-profile-experience__list dt,
.person-profile-experience__list dd {
	margin: 0;
}

.person-profile-experience__list dt {
	font-size: 15px;
	font-weight: 500;
	letter-spacing: 0.025em;
}

.person-profile-experience__list dd {
	font-size: clamp(19px, 2vw, 25px);
	font-weight: 600;
	letter-spacing: 0.02em;
	line-height: 1.6;
}

.person-profile-history {
	padding-bottom: clamp(112px, 10vw, 148px);
	background: rgba(247, 250, 250, 0.72);
}

.person-profile-history__list {
	border-top: 1px solid var(--line);
	list-style: none;
}

.person-profile-history__list li {
	display: grid;
	grid-template-columns: 110px 1fr;
	gap: clamp(32px, 5vw, 68px);
	align-items: start;
	padding: 27px 0 30px;
	border-bottom: 1px solid var(--line);
}

.person-profile-history__list time {
	color: var(--water-ink);
	font-family: var(--font-en);
	font-size: 16px;
	font-weight: 600;
	font-variant-numeric: lining-nums tabular-nums;
	letter-spacing: 0.03em;
}

.person-profile-history__list p {
	margin: 0;
	font-size: 14px;
	letter-spacing: 0.025em;
	line-height: 1.9;
}

@media (max-width: 900px) {
	.person-profile-bio__inner {
		grid-template-columns: minmax(230px, 0.62fr) minmax(0, 1fr);
		gap: 52px;
	}

	.person-profile-areas__list,
	.person-profile-experience__list,
	.person-profile-history__list {
		width: 88%;
	}
}

@media (max-width: 680px) {
	.person-profile-bio {
		padding: 80px 24px 92px;
	}

	.person-profile-bio__inner {
		grid-template-columns: 1fr;
		gap: 38px;
	}

	.person-profile-bio__label {
		margin-bottom: 23px;
		font-size: 14px;
	}

	.person-profile-bio__heading h1 {
		font-size: 38px;
	}

	.person-profile-bio__role {
		margin-top: 13px;
		font-size: 13px;
	}

	.person-profile-bio__body {
		padding-top: 0;
	}

	.person-profile-bio__body p {
		font-size: 14px;
		line-height: 2.05;
	}

	.person-profile-section {
		padding: 82px 24px 90px;
	}

	.person-profile-section__heading {
		margin-bottom: 42px;
	}

	.person-profile-section__heading h2,
	.person-profile-areas .person-profile-section__heading h2,
	.person-profile-experience .person-profile-section__heading h2,
	.person-profile-history .person-profile-section__heading h2 {
		font-size: clamp(43px, 13vw, 54px) !important;
	}

	.person-profile-areas__list,
	.person-profile-experience__list,
	.person-profile-history__list {
		width: 100%;
	}

	.person-profile-areas__list {
		grid-template-columns: 1fr;
	}

	.person-profile-areas__list li,
	.person-profile-areas__list li:nth-child(odd),
	.person-profile-areas__list li:nth-child(even) {
		padding: 24px 0 26px;
		border-left: 0;
		font-size: 17px;
	}

	.person-profile-experience__list > div {
		grid-template-columns: 1fr;
		gap: 9px;
		padding: 24px 0 27px;
	}

	.person-profile-experience__list dt {
		font-size: 13px;
	}

	.person-profile-experience__list dd {
		font-size: 20px;
	}

	.person-profile-history {
		padding-bottom: 96px;
	}

	.person-profile-history__list li {
		grid-template-columns: 58px 1fr;
		gap: 18px;
		padding: 22px 0 25px;
	}

	.person-profile-history__list time {
		font-size: 14px;
	}

	.person-profile-history__list p {
		font-size: 13px;
		line-height: 1.85;
	}
}

/* Final cascade for the profile ocean layers. */
.page-etohyuki-profile .person-profile-dive {
	background: #173a59;
}

.page-etohyuki-profile .person-profile-depth {
	background-color: transparent;
	overflow: clip;
}

.page-etohyuki-profile .person-profile-depth--surface {
	background: linear-gradient(180deg, #fbffff 0%, #f1fbfb 48%, #e5f6f7 100%);
}

.page-etohyuki-profile .person-profile-depth--shallow {
	background: linear-gradient(180deg, #e5f6f7 0%, #d0ecef 48%, #add9e1 100%);
}

.page-etohyuki-profile .person-profile-depth--mid {
	background: linear-gradient(180deg, #add9e1 0%, #82b8c7 48%, #5389a2 100%);
	color: #17384b;
}

.page-etohyuki-profile .person-profile-depth--deep {
	background: linear-gradient(180deg, #5389a2 0%, #32657f 30%, #214e6a 58%, #173a59 100%);
}

.page-etohyuki-profile .person-profile-depth__shell {
	z-index: 3;
}

.page-etohyuki-profile .person-profile-shallowscape {
	z-index: 2;
	opacity: 0.72;
}

.page-etohyuki-profile .global-footer {
	min-height: 0;
	margin-top: -1px;
	background: #173a59;
}

.page-etohyuki-profile .global-footer__sea,
.page-etohyuki-profile .global-footer__ripple {
	display: none;
}

.page-etohyuki-profile .global-footer__inner {
	padding-top: clamp(84px, 9vw, 132px);
	padding-bottom: 34px;
}

@media (max-width: 680px) {
	.page-etohyuki-profile .person-profile-dive {
		background: #173a59;
	}

	.page-etohyuki-profile .person-profile-shallowscape {
		right: -118px;
		bottom: 0;
		width: 350px;
		opacity: 0.52;
	}

	.page-etohyuki-profile .global-footer__inner {
		padding-top: 76px;
	}
}

/*
 * Profile Surface, final reading order.
 * The sea surface is a short horizontal layer; the official name and bio then
 * continue together as one quiet, left-aligned text column immediately below.
 */
.page-etohyuki-profile .person-profile-surface-scene {
	height: clamp(185px, 17vw, 225px);
}

.page-etohyuki-profile .person-profile-surface-scene__water {
	fill: rgba(204, 238, 240, 0.72);
}

.page-etohyuki-profile .person-profile-depth--surface {
	min-height: 0;
	padding-top: clamp(185px, 17vw, 225px);
	padding-bottom: clamp(84px, 7vw, 112px);
}

.page-etohyuki-profile .person-profile-depth--surface .person-profile-depth__shell {
	padding-top: clamp(24px, 3vw, 42px);
}

.page-etohyuki-profile .person-profile-surface__copy {
	display: block;
	width: min(650px, 100%);
	max-width: 100%;
}

.page-etohyuki-profile .person-profile-surface h1 {
	margin: 0;
	font-family: var(--font-sans);
	font-size: 14px;
	font-weight: 400;
	letter-spacing: 0.035em;
	line-height: 2;
}

.page-etohyuki-profile .person-profile-surface__bio {
	max-width: 650px;
	margin-top: 12px;
	padding: 0;
	border-top: 0;
}

.page-etohyuki-profile .person-profile-surface__bio p {
	font-size: 14px;
	font-weight: 400;
	letter-spacing: 0.035em;
	line-height: 2;
}

@media (max-width: 680px) {
	.page-etohyuki-profile .person-profile-surface-scene {
		height: 168px;
	}

	.page-etohyuki-profile .person-profile-depth--surface {
		padding-top: 168px;
		padding-bottom: 88px;
	}

	.page-etohyuki-profile .person-profile-depth--surface .person-profile-depth__shell {
		padding-top: 22px;
	}

	.page-etohyuki-profile .person-profile-surface h1,
	.page-etohyuki-profile .person-profile-surface__bio p {
		font-size: 14px;
	}

	.page-etohyuki-profile .person-profile-surface__bio {
		margin-top: 10px;
	}
}

/* Profile-only transparent, directional header. */
body.page-etohyuki-profile:not(.home):not(.front-page) .global-header,
body.page-etohyuki-profile:not(.home):not(.front-page) .global-header.is-condensed {
	border: 0;
	background: transparent;
	box-shadow: none;
	backdrop-filter: none;
	transition:
		height 420ms var(--ease-out),
		transform 520ms cubic-bezier(0.22, 1, 0.36, 1),
		opacity 360ms ease;
	/* A transform hint would make the fixed mobile menu relative to this bar. */
	will-change: opacity;
}

body.page-etohyuki-profile .global-header.is-profile-hidden {
	opacity: 0;
	pointer-events: none;
	transform: translate3d(0, calc(-100% - 12px), 0);
}

body.page-etohyuki-profile.menu-open .global-header,
body.page-etohyuki-profile .global-header:focus-within {
	opacity: 1;
	pointer-events: auto;
	/* Keep the fixed menu panel anchored to the viewport, not this header. */
	transform: none;
}

body.page-etohyuki-profile .global-header.is-profile-over-dark .site-brand__logo--color {
	opacity: 0;
}

body.page-etohyuki-profile .global-header.is-profile-over-dark .site-brand__logo--white {
	opacity: 1;
}

body.page-etohyuki-profile .global-header.is-profile-over-dark .global-nav a,
body.page-etohyuki-profile .global-header.is-profile-over-dark .menu-toggle {
	color: #FFFFFF;
}

body.page-etohyuki-profile .global-header.is-profile-over-dark .global-nav a::after {
	background: #FFFFFF;
}

body.page-etohyuki-profile .global-header.is-profile-over-dark .global-nav li:last-child a {
	background: rgba(255, 255, 255, 0.12);
	box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.52);
	color: #FFFFFF;
}

/*
 * Profile ocean continuity.
 * One background now runs from the bright surface to the footer. The section
 * elements remain semantic reading layers, but no longer look like stacked
 * coloured panels.
 */
.page-etohyuki-profile .person-profile-page,
.page-etohyuki-profile .person-profile-dive {
	background:
		radial-gradient(
			ellipse 42% 180px at 0% 0%,
			rgba(255, 255, 255, 0.18) 0%,
			rgba(255, 255, 255, 0.08) 52%,
			rgba(255, 255, 255, 0) 100%
		),
		linear-gradient(
			180deg,
			rgba(255, 255, 255, 0.58) 0,
			rgba(255, 255, 255, 0.44) 88px,
			rgba(255, 255, 255, 0.16) 190px,
			rgba(255, 255, 255, 0) 300px
		),
		linear-gradient(
			180deg,
			#d9f2f4 0%,
			#c9e9ed 18%,
			#a9d7df 39%,
			#72adbf 61%,
			#3f7894 79%,
			#173a59 100%
		);
}

.page-etohyuki-profile .person-profile-depth--surface,
.page-etohyuki-profile .person-profile-depth--shallow,
.page-etohyuki-profile .person-profile-depth--mid,
.page-etohyuki-profile .person-profile-depth--deep {
	background: transparent;
}

.page-etohyuki-profile .person-profile-depth--shallow::after {
	display: none;
	content: none;
}

.page-etohyuki-profile .person-profile-surface-scene__water {
	fill: url(#profile-surface-water-fade);
}

.page-etohyuki-profile .person-profile-surface-scene {
	background: transparent;
	overflow: visible;
}

.page-etohyuki-profile .person-profile-surface-scene__caustics-layer {
	fill: rgba(255, 255, 255, 0.94);
	mix-blend-mode: screen;
}

.page-etohyuki-profile .person-profile-surface-scene__caustics-layer--a {
	opacity: 0.82;
}

.page-etohyuki-profile .person-profile-surface-scene__caustics-layer--b {
	opacity: 0.56;
}

.page-etohyuki-profile .person-profile-surface-scene__fish {
	fill: rgba(43, 104, 133, 0.28);
}

.page-etohyuki-profile .person-profile-surface-school {
	fill: rgba(43, 104, 133, 0.22);
	pointer-events: none;
}

.page-etohyuki-profile .person-profile-surface-school--mobile {
	display: none;
}

.page-etohyuki-profile .person-profile-surface-school__shape {
	transform-box: fill-box;
	transform-origin: center;
	animation: profile-surface-fish-swim 4.8s ease-in-out infinite;
}

.page-etohyuki-profile .person-profile-surface-school__fish:nth-of-type(2n) .person-profile-surface-school__shape {
	animation-delay: -1.7s;
	animation-duration: 5.6s;
}

.page-etohyuki-profile .person-profile-surface-school__fish:nth-of-type(3n) .person-profile-surface-school__shape {
	animation-delay: -3.1s;
	animation-duration: 6.2s;
}

@keyframes profile-surface-fish-swim {
	0%,
	100% {
		transform: translate3d(0, -0.7px, 0) scaleX(0.98);
	}

	50% {
		transform: translate3d(0, 0.9px, 0) scaleX(1.02);
	}
}

.page-etohyuki-profile .person-profile-midscape {
	opacity: 0.64;
}

.page-etohyuki-profile .person-profile-midscape__fish {
	fill: rgba(20, 69, 96, 0.34);
}

.page-etohyuki-profile .person-profile-depth--mid {
	overflow: visible;
}

.page-etohyuki-profile .person-profile-bubbles--mid i:nth-child(n) {
	left: var(--mid-bubble-left);
	bottom: var(--mid-bubble-bottom);
	width: var(--mid-bubble-size);
	height: var(--mid-bubble-size);
	border-color: rgb(230 247 249 / var(--mid-bubble-alpha, 0.24));
	box-shadow: inset 1px 1px 0 rgba(255, 255, 255, 0.1);
	animation-name: person-profile-mid-bubble-rise;
	animation-delay: var(--mid-bubble-delay);
	animation-duration: var(--mid-bubble-duration);
}

.page-etohyuki-profile .person-profile-bubbles--deep i {
	border-color: rgba(230, 247, 249, 0.26);
}

@keyframes person-profile-mid-bubble-rise {
	0%, 100% {
		opacity: 0;
		transform: translate3d(0, 24px, 0) scale(0.62);
	}

	16% {
		opacity: 0.58;
	}

	56% {
		opacity: 0.42;
		transform: translate3d(var(--mid-bubble-drift, 10px), var(--mid-bubble-mid-rise, -68px), 0) scale(0.92);
	}

	84% {
		opacity: 0.2;
	}

	94% {
		opacity: 0;
		transform: translate3d(0, var(--mid-bubble-rise, -148px), 0) scale(1.12);
	}
}

.page-etohyuki-profile .person-profile-bubbles--deep i:nth-child(1) {
	left: 12%;
	bottom: 20%;
}

.page-etohyuki-profile .person-profile-bubbles--deep i:nth-child(2) {
	left: 83%;
	bottom: 39%;
}

.page-etohyuki-profile .person-profile-bubbles--deep i:nth-child(3) {
	left: 69%;
	bottom: 17%;
}

.page-etohyuki-profile .global-footer {
	background: #173a59;
}

@media (max-width: 680px) {
	.page-etohyuki-profile .person-profile-surface-school--desktop {
		display: none;
	}

	.page-etohyuki-profile .person-profile-surface-school--mobile {
		display: block;
	}

	.page-etohyuki-profile .person-profile-surface-school__formation-mobile {
		transform: scale(2.4, 1);
		transform-origin: 0 0;
	}

	.page-etohyuki-profile .person-profile-page,
	.page-etohyuki-profile .person-profile-dive {
		background:
			radial-gradient(
				ellipse 68% 145px at -8% 0%,
				rgba(255, 255, 255, 0.16) 0%,
				rgba(255, 255, 255, 0.06) 54%,
				rgba(255, 255, 255, 0) 100%
			),
			linear-gradient(
				180deg,
				rgba(255, 255, 255, 0.52) 0,
				rgba(255, 255, 255, 0.38) 64px,
				rgba(255, 255, 255, 0.13) 142px,
				rgba(255, 255, 255, 0) 228px
			),
			linear-gradient(
				180deg,
				#d9f2f4 0%,
				#c7e7eb 20%,
				#a5d3dc 41%,
				#6ba4b7 63%,
				#39738f 80%,
				#173a59 100%
			);
	}
}

@media (max-width: 900px) {
	body.page-etohyuki-profile .global-header.is-profile-over-dark .global-nav {
		color: #FFFFFF;
	}

	body.page-etohyuki-profile.menu-open .global-header {
		background: transparent;
	}
}

@media (prefers-reduced-motion: reduce) {
	.page-etohyuki-profile .person-profile-surface-school {
		display: none;
	}

	body.page-etohyuki-profile:not(.home):not(.front-page) .global-header,
	body.page-etohyuki-profile:not(.home):not(.front-page) .global-header.is-condensed {
		transition: opacity 1ms linear;
	}

	body.page-etohyuki-profile .global-header.is-profile-hidden {
		transform: none;
	}
}

/*
 * Profile fauna by depth.
 * Each silhouette has its own movement vocabulary and always stays behind copy.
 */
.page-etohyuki-profile .person-profile-fauna {
	position: absolute;
	z-index: 1;
	inset: 0;
	overflow: hidden;
	pointer-events: none;
}

.page-etohyuki-profile .person-profile-creature {
	position: absolute;
	display: block;
	overflow: visible;
	transform-box: fill-box;
	transform-origin: center;
}

.page-etohyuki-profile .person-profile-creature__fill,
.page-etohyuki-profile .person-profile-creature__fin {
	fill: rgba(28, 91, 116, 0.2);
}

.page-etohyuki-profile .person-profile-creature__line {
	fill: none;
	stroke: rgba(28, 91, 116, 0.28);
	stroke-width: 3;
	stroke-linecap: round;
	stroke-linejoin: round;
	vector-effect: non-scaling-stroke;
}

.page-etohyuki-profile .person-profile-creature__eye {
	fill: rgba(17, 59, 82, 0.48);
}

/*
 * Shallow-water scenery for the profile archive.
 * The supplied transparent artwork stays behind the editorial content and
 * enters only from the page edges, so it reads as habitat rather than a frame.
 */
.page-etohyuki-profile .person-profile-depth--shallow .person-profile-depth__shell {
	position: relative;
	z-index: 4;
}

.page-etohyuki-profile .profile-shallow-decor {
	position: absolute;
	z-index: 1;
	inset: 0;
	overflow: hidden;
	pointer-events: none;
	user-select: none;
}

.page-etohyuki-profile .profile-shallow-decor__image {
	position: absolute;
	display: block;
	max-width: none;
	height: auto;
	pointer-events: none;
	transform-origin: 50% 100%;
	will-change: transform;
}

.page-etohyuki-profile .profile-shallow-decor__ground {
	z-index: 0;
	filter: none;
	mix-blend-mode: normal;
}

.page-etohyuki-profile .profile-shallow-ground-left {
	left: clamp(-42px, -2.4vw, -24px);
	bottom: clamp(24px, 2.2vw, 36px);
	width: clamp(330px, 29vw, 420px);
	opacity: 0.34;
}

.page-etohyuki-profile .profile-shallow-ground-right {
	right: clamp(0px, 0.4vw, 6px);
	bottom: clamp(158px, 13.5vw, 198px);
	width: clamp(235px, 20vw, 300px);
	opacity: 0.31;
}

.page-etohyuki-profile .profile-shallow-decor__seaweed {
	z-index: 1;
	filter: none;
	mix-blend-mode: normal;
}

.page-etohyuki-profile .seaweed-left {
	left: clamp(-52px, -3.2vw, -30px);
	bottom: clamp(87px, 7.8vw, 112px);
	width: clamp(282px, 24.6vw, 356px);
	opacity: 0.43;
	transform-origin: 16.5% 100%;
	animation: profile-shallow-seaweed-left 19s ease-in-out -4s infinite;
}

.page-etohyuki-profile .seaweed-right {
	right: clamp(0px, 0.4vw, 6px);
	bottom: clamp(204px, 17.5vw, 259px);
	width: clamp(225px, 19vw, 285px);
	opacity: 0.4;
	transform-origin: 72% 100%;
	animation: profile-shallow-seaweed-right 23s ease-in-out -11s infinite;
}

.page-etohyuki-profile .seahorse-shallow {
	z-index: 2;
	top: auto;
	right: clamp(26px, 4vw, 72px);
	bottom: clamp(370px, 31vw, 460px);
	width: clamp(78px, 6.8vw, 112px);
	opacity: 0.17;
	transform-origin: 50% 55%;
	animation: profile-shallow-seahorse-float 21s ease-in-out -7s infinite;
}

/*
 * One assembled fish crosses the Shallow open water. The supplied PNG parts
 * stay independent so the fins can sit naturally around the body.
 */
.page-etohyuki-profile .profile-fish-large-track {
	position: absolute;
	z-index: 2;
	inset: 9% 0 18%;
	overflow: hidden;
	pointer-events: none;
}

.page-etohyuki-profile .profile-fish-large {
	position: absolute;
  top: 33%;
	left: 0;
	display: block;
	width: clamp(118px, 9.6vw, 152px);
	aspect-ratio: 1.85 / 1;
	opacity: 0;
	will-change: transform, opacity;
	animation: profile-fish-large-cross 31s linear -8s infinite;
}

.page-etohyuki-profile .profile-fish-large__drift {
	position: relative;
	display: block;
	width: 100%;
	height: 100%;
	animation: profile-fish-large-drift 6.2s ease-in-out -2.1s infinite;
}

.page-etohyuki-profile .profile-fish-large__part {
	position: absolute;
	display: block;
	height: auto;
	max-width: none;
	user-select: none;
}

/* The PNG canvases include generous transparent margins. These offsets line
 * up the visible necks without cropping or flattening any supplied artwork. */
.page-etohyuki-profile .profile-fish-large__body {
	z-index: 2;
	top: -22%;
	left: -7%;
	width: 96%;
}

.page-etohyuki-profile .profile-fish-large__pectoral {
	z-index: 4;
	top: 32%;
	left: 14%;
	width: 26%;
	opacity: 0.7;
	transform: rotate(2deg);
	transform-origin: 30% 36%;
}

.page-etohyuki-profile .profile-fish-large__tail {
	z-index: 1;
	top: 6%;
	left: 60%;
	width: 42%;
	transform-origin: 32% 50%;
	animation: profile-fish-large-tail 1.7s ease-in-out -0.35s infinite;
}

.page-etohyuki-profile .profile-fish-large__dorsal {
	z-index: 3;
	top: -19%;
	left: 35%;
	width: 35%;
	transform-origin: 26% 63%;
	animation: profile-fish-large-dorsal 3.4s ease-in-out -1.1s infinite;
}

@keyframes profile-fish-large-cross {
	0%,
	12% {
		transform: translate3d(calc(100vw + 190px), 0, 0);
		opacity: 0;
	}

	16% {
		opacity: 0.55;
	}

	84% {
		opacity: 0.55;
	}

	89%,
	100% {
		transform: translate3d(-220px, 0, 0);
		opacity: 0;
	}
}

@keyframes profile-fish-large-drift {
	0%,
	100% {
		transform: translate3d(0, -6px, 0) rotate(-0.75deg);
	}

	46% {
		transform: translate3d(0, 8px, 0) rotate(0.8deg);
	}

	72% {
		transform: translate3d(0, 2px, 0) rotate(0.1deg);
	}
}

@keyframes profile-fish-large-tail {
	0%,
	100% {
		transform: rotate(-9deg);
	}

	50% {
		transform: rotate(9deg);
	}
}

@keyframes profile-fish-large-dorsal {
	0%,
	100% {
		transform: rotate(-2deg) scaleY(0.98);
	}

	52% {
		transform: rotate(3deg) scaleY(1.025);
	}
}

@keyframes profile-shallow-seaweed-left {
	0%,
	100% {
		transform: translate3d(0, 1px, 0) rotate(-10.5deg);
	}

	45% {
		transform: translate3d(3px, -3px, 0) rotate(-8.8deg);
	}

	72% {
		transform: translate3d(1px, -1px, 0) rotate(-9.45deg);
	}
}

@keyframes profile-shallow-seaweed-right {
	0%,
	100% {
		transform: translate3d(0, 0, 0) rotate(0.65deg);
	}

	38% {
		transform: translate3d(-2px, -2px, 0) rotate(-0.85deg);
	}

	70% {
		transform: translate3d(-1px, 2px, 0) rotate(-0.2deg);
	}
}

@keyframes profile-shallow-seahorse-float {
	0%,
	100% {
		transform: translate3d(0, 2px, 0) rotate(-0.8deg);
	}

	22% {
		transform: translate3d(-11px, -13px, 0) rotate(1deg);
	}

	47% {
		transform: translate3d(-4px, -26px, 0) rotate(0.2deg);
	}

	72% {
		transform: translate3d(12px, -16px, 0) rotate(-1.1deg);
	}

	88% {
		transform: translate3d(7px, -4px, 0) rotate(0.35deg);
	}
}

@media (max-width: 680px) {
	.page-etohyuki-profile .profile-shallow-decor__ground {
		filter: none;
		mix-blend-mode: normal;
	}

	.page-etohyuki-profile .profile-shallow-ground-left {
		left: -28px;
		bottom: 22px;
		width: 245px;
		opacity: 0.34;
	}

	.page-etohyuki-profile .profile-shallow-ground-right {
		display: block;
		right: 0;
		bottom: 210px;
		width: 205px;
		opacity: 0.3;
	}

	.page-etohyuki-profile .profile-shallow-decor__seaweed {
		filter: none;
		mix-blend-mode: normal;
	}

	.page-etohyuki-profile .seaweed-left {
		left: -32px;
		bottom: 67px;
		width: 207px;
		opacity: 0.42;
	}

	.page-etohyuki-profile .seaweed-right {
		display: block;
		right: 2px;
		bottom: 250px;
		width: 195px;
		opacity: 0.39;
	}

	.page-etohyuki-profile .seahorse-shallow {
		top: auto;
		right: -18px;
		bottom: 330px;
		width: 66px;
		opacity: 0.13;
	}

	.page-etohyuki-profile .profile-fish-large-track {
		inset: 18% 0 27%;
	}

	.page-etohyuki-profile .profile-fish-large {
    top: 40%;
		width: 94px;
		animation-duration: 29s;
	}
}

@media print {
	.page-etohyuki-profile .profile-shallow-decor {
		display: none;
	}
}

@media (prefers-reduced-motion: reduce) {
	.page-etohyuki-profile .profile-shallow-decor__image {
		animation: none;
		will-change: auto;
	}

	.page-etohyuki-profile .profile-fish-large-track {
		display: none;
	}
}

@media (prefers-reduced-motion: reduce) {
	.page-etohyuki-profile .person-profile-theme-orbit__item {
		opacity: 1;
		transform: none;
		animation: none !important;
	}

	.page-etohyuki-profile .person-profile-theme-orbit__bubble {
		animation: none !important;
	}
}

/* Profile ocean grain: a quiet 2D texture layered behind all content. */
.page-etohyuki-profile {
	--profile-seabed-color: #11324f;
}

.page-etohyuki-profile .person-profile-deepscape > path {
	fill: var(--profile-seabed-color);
}

body.page-etohyuki-profile {
	background-color: var(--profile-seabed-color);
}

.page-etohyuki-profile .site-view {
	background-color: var(--profile-seabed-color);
}

.page-etohyuki-profile .global-footer {
	background: transparent;
}

.page-etohyuki-profile .person-profile-dive::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
	pointer-events: none;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='168' height='168' viewBox='0 0 168 168'%3E%3Cfilter id='grain' x='0' y='0' width='100%25' height='100%25'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.5' numOctaves='4' seed='29' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='168' height='168' filter='url(%23grain)' opacity='.78'/%3E%3C/svg%3E");
	background-repeat: repeat;
	background-size: 168px 168px;
	mix-blend-mode: soft-light;
	opacity: 0.22;
	-webkit-mask-image: linear-gradient(
		to bottom,
		rgba(0, 0, 0, 0.46) 0%,
		rgba(0, 0, 0, 0.56) 24%,
		rgba(0, 0, 0, 0.74) 56%,
		rgba(0, 0, 0, 0.94) 82%,
		#000 100%
	);
	mask-image: linear-gradient(
		to bottom,
		rgba(0, 0, 0, 0.46) 0%,
		rgba(0, 0, 0, 0.56) 24%,
		rgba(0, 0, 0, 0.74) 56%,
		rgba(0, 0, 0, 0.94) 82%,
		#000 100%
	);
}

.page-etohyuki-profile .person-profile-depth {
	z-index: 2;
}

.page-etohyuki-profile .global-footer {
	position: relative;
	isolation: isolate;
}

.page-etohyuki-profile .global-footer::before {
	content: none;
	display: none;
}

.page-etohyuki-profile .global-footer__inner {
	position: relative;
	z-index: 1;
}

@media (max-width: 680px) {
	.page-etohyuki-profile .person-profile-dive::after {
		background-size: 144px 144px;
		opacity: 0.14;
	}
}

/* Home lead: return to the original, uninterrupted WATER BLUE field. */
.home-coten__lead {
	background: var(--water-blue);
}

@media (max-width: 680px) {
	.home-coten__lead {
		background: var(--water-blue);
	}
}

/*
 * Time-based turtle journey for the official profile archive.
 * The supplied body stays intact while paired front and rear flippers move together,
 * while the turtle descends at its own pace independently of page scroll.
 */
.page-etohyuki-profile .profile-turtle-journey {
	position: absolute;
	z-index: 2;
	inset: 0;
	overflow: hidden;
	pointer-events: none;
	visibility: hidden;
	contain: layout paint style;
}

.page-etohyuki-profile .profile-turtle-journey.is-active {
	visibility: visible;
}

.page-etohyuki-profile .profile-turtle {
	position: absolute;
	left: 0;
	top: 0;
	width: clamp(90px, 6.4vw, 116px);
	aspect-ratio: 1;
	opacity: 0.62;
	transform-origin: 50% 50%;
	will-change: transform, opacity;
}

.page-etohyuki-profile .profile-turtle__float {
	position: absolute;
	inset: 0;
	transform-origin: 50% 50%;
	animation: profile-turtle-float 9.2s ease-in-out infinite;
	will-change: transform;
}

.page-etohyuki-profile .profile-turtle__character {
	position: absolute;
	inset: 0;
	transform: rotate(202deg);
	transform-origin: 50% 50%;
}

.page-etohyuki-profile .profile-turtle__body,
.page-etohyuki-profile .profile-turtle__part,
.page-etohyuki-profile .profile-turtle__part img {
	position: absolute;
	display: block;
	max-width: none;
	pointer-events: none;
	user-select: none;
}

.page-etohyuki-profile .profile-turtle__body {
	z-index: 5;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.page-etohyuki-profile .profile-turtle__part {
	z-index: 1;
	inset: 0;
	width: 100%;
	height: 100%;
	will-change: transform;
}

.page-etohyuki-profile .profile-turtle__part img {
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.page-etohyuki-profile .profile-turtle__part--front-left,
.page-etohyuki-profile .profile-turtle__part--front-right {
	z-index: 1;
	top: 0;
	bottom: 0;
	width: 50%;
	height: 100%;
	overflow: hidden;
}

.page-etohyuki-profile .profile-turtle__part--front-left {
	left: 0;
	right: auto;
	transform-origin: 80% 56%;
	transform: translate3d(0, -17%, 0) scale(0.9);
	animation: profile-turtle-front-left 4.4s ease-in-out infinite;
}

.page-etohyuki-profile .profile-turtle__part--front-right {
	left: auto;
	right: 0;
	transform-origin: 20% 56%;
	transform: translate3d(0, -17%, 0) scale(0.9);
	animation: profile-turtle-front-right 4.4s ease-in-out infinite;
}

.page-etohyuki-profile .profile-turtle__part--front-left img,
.page-etohyuki-profile .profile-turtle__part--front-right img {
	top: 0;
	right: auto;
	bottom: auto;
	width: 200%;
	height: 100%;
}

.page-etohyuki-profile .profile-turtle__part--front-left img {
	left: 0;
}

.page-etohyuki-profile .profile-turtle__part--front-right img {
	left: -100%;
}

.page-etohyuki-profile .profile-turtle__part--back-left {
	z-index: 2;
	transform-origin: 73% 30%;
	transform: translate(-29%, 34%) rotate(0deg) scale(0.32);
	animation: profile-turtle-back-left 4.4s ease-in-out 0.22s infinite;
}

.page-etohyuki-profile .profile-turtle__part--back-right {
	z-index: 2;
	transform-origin: 32% 58%;
	transform: translate(24.8%, 6.5%) rotate(64deg) scale(0.32);
	animation: profile-turtle-back-right 4.4s ease-in-out 0.22s infinite;
}

@keyframes profile-turtle-front-left {
	0%, 100% { transform: translate3d(0, -17%, 0) scale(0.9) rotate(0deg); }
	50% { transform: translate3d(0, -17%, 0) scale(0.9) rotate(19deg); }
}

@keyframes profile-turtle-front-right {
	0%, 100% { transform: translate3d(0, -17%, 0) scale(0.9) rotate(0deg); }
	50% { transform: translate3d(0, -17%, 0) scale(0.9) rotate(-19deg); }
}

@keyframes profile-turtle-back-left {
	0%, 100% { transform: translate(-29%, 34%) rotate(0deg) scale(0.32); }
	50% { transform: translate(-29%, 34%) rotate(8deg) scale(0.32); }
}

@keyframes profile-turtle-back-right {
	0%, 100% { transform: translate(24.8%, 6.5%) rotate(64deg) scale(0.32); }
	50% { transform: translate(24.8%, 6.5%) rotate(56deg) scale(0.32); }
}

@keyframes profile-turtle-float {
	0%, 100% { transform: translate3d(0, -5px, 0) rotate(-0.8deg); }
	38% { transform: translate3d(3px, 2px, 0) rotate(0.65deg); }
	72% { transform: translate3d(-2px, 6px, 0) rotate(0.9deg); }
}

@media (max-width: 680px) {
	.page-etohyuki-profile .profile-turtle {
		width: clamp(70px, 21vw, 88px);
	}
}

@media (prefers-reduced-motion: reduce) {
	.page-etohyuki-profile .profile-turtle__float,
	.page-etohyuki-profile .profile-turtle__part {
		animation: none;
	}
}

@media print {
	.page-etohyuki-profile .profile-turtle-journey {
		display: none !important;
	}
}

/* Profile / 01 Shallow: editorial information hierarchy */
.page-etohyuki-profile .person-profile-depth--shallow {
	min-height: 0;
}

.page-etohyuki-profile .person-profile-shallow-profile {
	position: relative;
	z-index: 5;
	width: min(1040px, 100%);
	margin-inline: auto;
}

.page-etohyuki-profile .person-profile-shallow-profile h3 {
	position: relative;
	margin: 0;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-align: center;
	color: rgba(48, 105, 137, 0.76);
}

.page-etohyuki-profile .person-profile-shallow-profile h3::after {
	display: block;
	width: 48px;
	height: 1px;
	margin: 10px auto 0;
	background: rgba(48, 105, 137, 0.42);
	content: "";
}

.page-etohyuki-profile .person-profile-shallow-profile__themes {
	width: 100%;
}

.page-etohyuki-profile .person-profile-theme-orbit {
	position: relative;
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	align-items: center;
	gap: clamp(12px, 2vw, 24px);
	width: 100%;
	height: auto;
	margin: clamp(26px, 3vw, 36px) 0 0;
	padding: 0;
}

.page-etohyuki-profile .person-profile-theme-orbit__item {
	display: flex;
	align-items: center;
	justify-content: center;
	min-width: 0;
	padding-inline: 0;
}

.page-etohyuki-profile .person-profile-theme-orbit__item + .person-profile-theme-orbit__item::before {
	display: none;
}

.page-etohyuki-profile .person-profile-theme-orbit__item,
.page-etohyuki-profile .person-profile-theme-orbit__item--core,
.page-etohyuki-profile .person-profile-theme-orbit__item--career,
.page-etohyuki-profile .person-profile-theme-orbit__item--wellbeing,
.page-etohyuki-profile .person-profile-theme-orbit__item--connection {
  position: relative;
  inset: auto;
  display: flex;
  align-items: center;
  justify-content: center;
  justify-self: stretch;
  width: 100%;
  min-width: 0;
  aspect-ratio: auto;
  opacity: 1;
  transform: none;
}

.page-etohyuki-profile .person-profile-content.is-visible .person-profile-theme-orbit__item {
	opacity: 1;
	transform: none;
	animation: none;
}

.page-etohyuki-profile .person-profile-theme-orbit__item .person-profile-theme-orbit__bubble {
  display: grid;
  grid-template-rows: auto auto;
  place-items: center;
  align-content: center;
  gap: clamp(9px, 1vw, 13px);
  width: clamp(150px, 13.5vw, 184px);
  height: auto;
  aspect-ratio: 1;
  flex: 0 0 auto;
	padding: 18px;
	border: 1px solid rgba(255, 255, 255, 0.62);
	border-radius: 50%;
	background: rgba(244, 252, 253, 0.16);
	box-shadow: inset 0 0 0 1px rgba(68, 132, 163, 0.04), 0 8px 24px rgba(47, 105, 133, 0.025);
	font-size: clamp(13px, 1vw, 15px);
	font-weight: 700;
	line-height: 1.65;
	letter-spacing: 0.025em;
	text-align: center;
	will-change: transform;
	animation: profile-theme-orbit-float-a 10.8s ease-in-out -3.4s infinite;
}

.page-etohyuki-profile .person-profile-theme-orbit__item--wellbeing .person-profile-theme-orbit__bubble {
	animation-name: profile-theme-orbit-float-b;
	animation-duration: 12.6s;
	animation-delay: -7.2s;
}

.page-etohyuki-profile .person-profile-theme-orbit__item--connection .person-profile-theme-orbit__bubble {
	animation-name: profile-theme-orbit-float-c;
	animation-duration: 11.4s;
	animation-delay: -1.6s;
}

.page-etohyuki-profile .person-profile-theme-orbit__item--career .person-profile-theme-orbit__bubble {
	animation-duration: 13.2s;
	animation-delay: -9.1s;
	animation-direction: reverse;
}

@keyframes profile-theme-orbit-float-a {
	0%,
	100% {
		transform: translate3d(-2px, 3px, 0) rotate(-0.35deg);
	}

	31% {
		transform: translate3d(2px, -5px, 0) rotate(0.25deg);
	}

	66% {
		transform: translate3d(4px, 1px, 0) rotate(0.45deg);
	}

	82% {
		transform: translate3d(0, 4px, 0) rotate(-0.1deg);
	}
}

@keyframes profile-theme-orbit-float-b {
	0%,
	100% {
		transform: translate3d(3px, -2px, 0) rotate(0.3deg);
	}

	38% {
		transform: translate3d(-3px, 4px, 0) rotate(-0.45deg);
	}

	72% {
		transform: translate3d(1px, -4px, 0) rotate(0.12deg);
	}
}

@keyframes profile-theme-orbit-float-c {
	0%,
	100% {
		transform: translate3d(-1px, 4px, 0) rotate(-0.2deg);
	}

	33% {
		transform: translate3d(4px, -2px, 0) rotate(0.35deg);
	}

	58% {
		transform: translate3d(-3px, -5px, 0) rotate(-0.3deg);
	}

	82% {
		transform: translate3d(-4px, 1px, 0) rotate(0.1deg);
	}
}

.page-etohyuki-profile .person-profile-theme-orbit__icon {
	display: block;
	width: clamp(38px, 3.4vw, 46px);
	height: clamp(38px, 3.4vw, 46px);
	fill: none;
	stroke: rgba(48, 105, 137, 0.82);
	stroke-width: 1.65;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.page-etohyuki-profile .person-profile-theme-orbit__icon circle {
	fill: rgba(48, 105, 137, 0.82);
	stroke: none;
}

.page-etohyuki-profile .person-profile-theme-orbit__label {
	display: block;
}

.page-etohyuki-profile .person-profile-theme-orbit__bubble::before {
	display: none;
}

.page-etohyuki-profile .person-profile-shallow-profile__practice {
	width: 100%;
	margin-top: clamp(42px, 5vw, 56px);
}

.page-etohyuki-profile .person-profile-shallow-profile__practice .person-profile-consultation-list {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	grid-template-rows: repeat(3, auto);
	grid-auto-flow: column;
	gap: clamp(14px, 1.6vw, 20px) clamp(36px, 5vw, 64px);
	width: min(900px, 100%);
	margin: clamp(24px, 2.6vw, 32px) auto 0;
	padding: 0;
}

.page-etohyuki-profile .person-profile-shallow-profile__practice .person-profile-consultation-list li {
	position: static;
	display: grid;
	grid-template-columns: 18px minmax(0, 1fr);
	grid-template-rows: auto;
	align-items: start;
	justify-items: stretch;
	gap: 10px;
	min-width: 0;
	min-height: 0;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: none;
	box-shadow: none;
	font-size: clamp(14px, 1.12vw, 16px);
	font-weight: 500;
	line-height: 1.8;
	text-align: left;
}

.page-etohyuki-profile .person-profile-consultation-list__check {
	display: block;
	color: rgba(48, 105, 137, 0.62);
	font-size: 0.95em;
	font-weight: 500;
	line-height: 1.8;
	text-align: center;
}
.page-etohyuki-profile .person-profile-shallow-profile__practice svg {
	width: 46px;
	height: 46px;
	padding: 9px;
	border-radius: 50%;
	background: rgba(235, 248, 251, 0.38);
	stroke: rgba(48, 105, 137, 0.68);
}

.page-etohyuki-profile .person-profile-shallow-profile__record {
	width: 100%;
	margin-top: clamp(36px, 4vw, 48px);
}

.page-etohyuki-profile .person-profile-shallow-profile__record dl {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: clamp(34px, 5vw, 72px);
	width: min(900px, 100%);
	margin: 22px auto 0;
	padding: 0;
	border-top: 0;
}

.page-etohyuki-profile .person-profile-shallow-profile__record dl > div {
	display: grid;
	grid-template-columns: 9px auto;
	grid-template-rows: auto auto;
	column-gap: 8px;
	align-items: center;
	justify-content: center;
	padding: 0;
	text-align: center;
}

.page-etohyuki-profile .person-profile-shallow-profile__record dl > div::before {
	display: block;
	grid-column: 1;
	grid-row: 1;
	width: 9px;
	height: 9px;
	margin: 0;
	border: 1px solid rgba(255, 255, 255, 0.58);
	border-radius: 50%;
	background: radial-gradient(circle at 32% 28%, rgba(255, 255, 255, 0.72) 0 16%, rgba(220, 244, 249, 0.3) 38%, rgba(83, 157, 184, 0.14) 100%);
	box-shadow: 0 2px 8px rgba(67, 139, 168, 0.12);
	content: "";
}

.page-etohyuki-profile .person-profile-shallow-profile__record dl > div:first-child {
	padding-left: 0;
}

.page-etohyuki-profile .person-profile-shallow-profile__record dl > div + div {
	border-left: 0;
}

.page-etohyuki-profile .person-profile-shallow-profile__record dt {
	grid-column: 2;
	grid-row: 1;
	font-size: clamp(17px, 1.45vw, 20px);
	font-weight: 700;
	line-height: 1.45;
}

.page-etohyuki-profile .person-profile-shallow-profile__record dd {
	grid-column: 2;
	grid-row: 2;
	margin-top: 4px;
	font-size: 13px;
	line-height: 1.7;
	color: rgba(39, 91, 119, 0.76);
}

@media (max-width: 760px) {
	.page-etohyuki-profile .person-profile-shallow-profile h3 {
		text-align: left;
	}

	.page-etohyuki-profile .person-profile-shallow-profile h3::after {
		margin-left: 0;
	}

	.page-etohyuki-profile .person-profile-theme-orbit {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 18px 12px;
		width: min(340px, 100%);
		margin-inline: auto;
	}

	.page-etohyuki-profile .person-profile-theme-orbit__item {
		padding-inline: 6px;
	}

	.page-etohyuki-profile .person-profile-theme-orbit__item + .person-profile-theme-orbit__item::before {
		display: none;
	}

  .page-etohyuki-profile .person-profile-theme-orbit__item,
  .page-etohyuki-profile .person-profile-theme-orbit__item--core,
  .page-etohyuki-profile .person-profile-theme-orbit__item--career,
  .page-etohyuki-profile .person-profile-theme-orbit__item--wellbeing,
  .page-etohyuki-profile .person-profile-theme-orbit__item--connection {
    width: 100%;
  }

  .page-etohyuki-profile .person-profile-theme-orbit__item .person-profile-theme-orbit__bubble {
		width: min(132px, 38vw);
		padding: 14px;
  }

	.page-etohyuki-profile .person-profile-shallow-profile__practice .person-profile-consultation-list {
		grid-template-columns: 1fr;
		grid-template-rows: none;
		grid-auto-flow: row;
		gap: 13px;
		width: 100%;
		margin-top: 24px;
	}

	.page-etohyuki-profile .person-profile-shallow-profile__practice .person-profile-consultation-list li {
		grid-template-columns: 18px minmax(0, 1fr);
		grid-template-rows: auto;
		align-items: start;
		justify-items: stretch;
		gap: 9px;
		min-height: 0;
		padding: 0;
		text-align: left;
	}
	.page-etohyuki-profile .person-profile-shallow-profile__practice svg {
		width: 34px;
		height: 34px;
	}

	.page-etohyuki-profile .person-profile-shallow-profile__record dl {
		grid-template-columns: 1fr;
		gap: 26px;
		width: 100%;
	}

	.page-etohyuki-profile .person-profile-shallow-profile__record dl > div,
	.page-etohyuki-profile .person-profile-shallow-profile__record dl > div:first-child {
		padding: 0;
	}

	.page-etohyuki-profile .person-profile-shallow-profile__record dl > div + div {
		border-top: 0;
		border-left: 0;
	}
}

@media (prefers-reduced-motion: reduce) {
	.page-etohyuki-profile .person-profile-theme-orbit__item,
	.page-etohyuki-profile .person-profile-theme-orbit__bubble {
		animation: none !important;
	}

	.page-etohyuki-profile .person-profile-bubbles--mid i {
		opacity: 0.3;
		animation: none !important;
	}
}

.page-etohyuki-profile .person-profile-depth__marker-track {
	position: relative;
	align-self: stretch;
}

@media (min-width: 681px) {
	.page-etohyuki-profile .person-profile-depth--surface .person-profile-depth__marker-track {
		top: -8px;
	}
}

@media (max-width: 680px) {
	.page-etohyuki-profile .person-profile-depth__marker small {
		margin-top: 4px;
	}
}

/* Smartphone navigation: retain the desktop/tablet menu and use a light drawer on phones. */
.global-nav__backdrop,
.global-nav__home-mobile {
	display: none;
}

@media (max-width: 700px) {
	.global-nav__backdrop {
		position: fixed;
		z-index: 1;
		inset: 0;
		display: block;
		visibility: hidden;
		padding: 0;
		border: 0;
		background: rgba(20, 50, 60, 0.2);
		opacity: 0;
		pointer-events: none;
		transition: opacity 280ms ease, visibility 280ms;
	}

	.menu-open .global-nav__backdrop {
		visibility: visible;
		opacity: 1;
		pointer-events: auto;
	}

	.global-nav {
		inset: 0 0 0 auto;
		width: 70vw;
		height: 100vh;
		height: 100dvh;
		justify-content: flex-start;
		padding: 92px 24px 36px;
		box-shadow: -12px 0 32px rgba(13, 42, 51, 0.12);
		opacity: 1;
		transform: translate3d(100%, 0, 0);
		transition: transform 300ms ease-out, visibility 300ms;
	}

	.global-nav.is-open {
		transform: translate3d(0, 0, 0);
	}

	.global-nav__index {
		margin-bottom: 24px;
	}

	.global-nav__home-mobile {
		display: list-item;
	}

	.global-nav li,
	.global-nav li:last-child {
		border-top: 0;
		border-bottom: 1px solid rgba(255, 255, 255, 0.18);
	}

	.global-nav a,
	.global-nav li:last-child a {
		display: flex;
		align-items: center;
		width: 100%;
		gap: 12px;
		padding: 15px 0;
		border-radius: 0;
		background: transparent;
		box-shadow: none;
		color: #FFFFFF;
		font-size: clamp(19px, 5.4vw, 22px);
		-webkit-tap-highlight-color: transparent;
	}

	.global-nav a:hover,
	.global-nav a:focus,
	.global-nav a:active,
	.global-nav li:last-child a:hover,
	.global-nav li:last-child a:focus,
	.global-nav li:last-child a:focus-visible,
	.global-nav li:last-child a:active {
		background: transparent;
		color: #FFFFFF;
	}

	.global-nav a::after,
	.global-nav li:last-child a::after {
		position: static;
		display: block;
		width: auto;
		height: auto;
		margin-left: auto;
		background: none;
		content: "→";
		opacity: 0.68;
		transform: none;
		transition: transform 220ms ease-out;
	}

	.global-nav a:hover::after,
	.global-nav a:focus-visible::after {
		transform: translateX(3px);
	}
}

@media (max-width: 700px) and (prefers-reduced-motion: reduce) {
	.global-nav,
	.global-nav__backdrop {
		transition-duration: 1ms;
	}
}

/* Keep mobile artwork continuous beneath the header without a hard horizontal seam. */
@media (max-width: 700px) {
	.global-header,
	.global-header.is-condensed {
		border-bottom: 0;
		background: linear-gradient(
			to bottom,
			rgba(255, 255, 255, 0.97) 0%,
			rgba(255, 255, 255, 0.88) 64%,
			rgba(255, 255, 255, 0) 100%
		);
		box-shadow: none;
	}
}
