/*
Theme Name: RiZ One
Theme URI: https://riz-patent.com/
Author: RiZ
Description: Riz国際特許事務所とRiz知財マネジメント株式会社の公式サイト専用テーマ。
Version: 0.5.61
Requires at least: 6.5
Requires PHP: 8.0
Text Domain: riz-one
*/

:root {
  --riz-ink: #0b1a2f;
  --riz-ink-2: #10213d;
  --riz-ink-soft: #536174;
  --riz-blue: #2b6cae;
  --riz-blue-deep: #0d3f72;
  --riz-orange: #da6a30;
  --riz-orange-deep: #a94b1f;
  --riz-paper: #f3f1ec;
  --riz-white: #fff;
  --riz-line: rgba(11, 26, 47, .14);
  --riz-body: "Noto Sans JP Variable", "BIZ UDPGothic", "Yu Gothic", sans-serif;
  --riz-serif: "Noto Serif JP Variable", "Yu Mincho", serif;
  --riz-content: min(1220px, calc(100vw - 64px));
  --riz-ease: cubic-bezier(.22, 1, .36, 1);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  overflow-x: hidden;
  color: var(--riz-ink);
  background: var(--riz-paper);
  font-family: var(--riz-body);
  font-size: 16px;
  line-height: 1.9;
  -webkit-font-smoothing: antialiased;
}
body.admin-bar .site-header { top: 32px; }
img { display: block; max-width: 100%; height: auto; }
a { color: inherit; text-decoration: none; }
button, input, textarea, select { font: inherit; }
.site-main { overflow: clip; }
.wrap { width: var(--riz-content); margin-inline: auto; }

.screen-reader-text {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
.screen-reader-text:focus {
  position: fixed;
  z-index: 9999;
  top: 10px;
  left: 10px;
  width: auto;
  height: auto;
  padding: 10px 16px;
  clip: auto;
  color: #fff;
  background: var(--riz-blue-deep);
}

/* Header */
.site-header {
  position: fixed;
  z-index: 100;
  inset: 0 0 auto;
  color: var(--riz-ink);
  background: rgba(255, 255, 255, .92);
  border-bottom: 1px solid rgba(11, 26, 47, .08);
  backdrop-filter: blur(22px);
  transition: color .4s ease, background .4s ease, border-color .4s ease, transform .4s var(--riz-ease);
}
.riz-front-page:not(.has-scrolled) .site-header {
  color: #fff;
  background: linear-gradient(to bottom, rgba(3, 10, 20, .5), transparent);
  border-color: transparent;
  backdrop-filter: none;
}
.header-inner {
  width: var(--riz-content);
  height: 86px;
  margin-inline: auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 30px;
}
.brand-link { display: inline-flex; align-items: center; gap: 17px; min-width: 0; }
.brand-link img {
	flex: 0 0 auto;
	width: 96px;
	filter: none;
	transition: filter .4s ease;
}
.riz-front-page:not(.has-scrolled) .brand-link img {
	background: rgba(255, 255, 255, .94);
	padding: 5px 8px;
}
.brand-identities {
	display: grid;
	gap: 4px;
	padding-left: 15px;
	border-left: 1px solid rgba(11, 26, 47, .2);
	font-size: 11px;
	font-weight: 700;
	line-height: 1.35;
	letter-spacing: .045em;
	white-space: nowrap;
}
.riz-front-page:not(.has-scrolled) .brand-identities { border-color: rgba(255,255,255,.38); }
.brand-identities__office,
.brand-identities__company { display: block; }
.brand-identities__office { color: var(--riz-blue-deep); }
.brand-identities__company { color: var(--riz-orange-deep); font-size: 10px; }
.riz-front-page:not(.has-scrolled) .brand-identities__office { color: #d9ecff; }
.riz-front-page:not(.has-scrolled) .brand-identities__company { color: #ffd5bd; }
.site-nav { margin-left: auto; }
.site-nav ul { display: flex; align-items: center; gap: clamp(16px, 1.9vw, 31px); list-style: none; margin: 0; padding: 0; }
.site-nav a {
  position: relative;
  display: block;
  color: inherit;
  font-size: 12px;
  font-weight: 650;
  letter-spacing: .06em;
}
.site-nav a::after {
  content: "";
  position: absolute;
  left: 0;
  right: 100%;
  bottom: -8px;
  height: 1px;
  background: linear-gradient(90deg, var(--riz-blue), var(--riz-orange));
  transition: right .35s var(--riz-ease);
}
.site-nav a:hover::after, .site-nav a:focus-visible::after { right: 0; }
.site-nav .menu-contact a {
  padding: 10px 17px;
  color: #fff;
  background: var(--riz-ink);
  border: 1px solid var(--riz-ink);
}
.riz-front-page:not(.has-scrolled) .site-nav .menu-contact a { background: rgba(255,255,255,.13); border-color: rgba(255,255,255,.46); }
.site-nav .menu-contact a::after { display: none; }
.menu-toggle { display: none; }

/* Shared type and interaction */
.section-kicker {
  margin: 0 0 22px;
  color: var(--riz-blue);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .25em;
  text-transform: uppercase;
}
.section-kicker--light { color: rgba(255,255,255,.72); }
.text-link {
  display: inline-flex;
  align-items: center;
  gap: 24px;
  padding: 8px 0;
  border-bottom: 1px solid currentColor;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .08em;
}
.text-link::after { content: "→"; font-size: 16px; transition: transform .3s var(--riz-ease); }
.text-link:hover::after, .text-link:focus-visible::after { transform: translateX(6px); }
.text-link--light { color: #fff; border-color: rgba(255,255,255,.5); }
.center-link { display: flex; justify-content: center; margin-top: 60px; }
.reveal { opacity: 0; transform: translateY(34px); transition: opacity .9s var(--riz-ease), transform .9s var(--riz-ease); }
.reveal.is-visible { opacity: 1; transform: none; }

/* Hero */
.cinematic-hero {
  position: relative;
  min-height: 100svh;
  display: flex;
	align-items: center;
  overflow: hidden;
  color: #fff;
  background: #050c16;
}
.cinematic-hero__media, .cinematic-hero__veil { position: absolute; inset: 0; }
.cinematic-hero__media img {
  width: 100%;
  height: 112%;
  object-fit: cover;
  object-position: center;
  transform: scale(1.04) translate3d(0, var(--hero-shift, 0), 0);
  will-change: transform;
}
.cinematic-hero__veil {
  background:
    linear-gradient(90deg, rgba(2,8,18,.9) 0%, rgba(3,12,25,.67) 37%, rgba(3,12,25,.12) 73%),
    linear-gradient(0deg, rgba(3,9,18,.66), transparent 48%);
}
.cinematic-hero__content {
  position: relative;
  z-index: 2;
	padding: 132px 0 78px;
}
.cinematic-hero__copy { width: min(100%, 770px); }
.hero-identity {
	position: relative;
	width: min(100%, 700px);
	margin-bottom: clamp(35px, 4vw, 54px);
	padding: 0 0 27px 23px;
}
.hero-identity::before {
	content: "";
	position: absolute;
	top: 2px;
	bottom: 27px;
	left: 0;
	width: 2px;
	background: linear-gradient(var(--riz-blue) 0 64%, var(--riz-orange) 64% 100%);
}
.hero-identity::after {
	content: "";
	position: absolute;
	right: 0;
	bottom: 0;
	left: 23px;
	height: 1px;
	background: linear-gradient(90deg, rgba(255,255,255,.62), rgba(255,255,255,0));
}
.hero-identity__overline {
	margin: 0;
	color: #aed5f8;
	font-size: 10px;
	font-weight: 800;
	line-height: 1.4;
	letter-spacing: .22em;
	text-transform: uppercase;
}
.hero-identity h1 {
	margin: 12px 0 0;
	font-family: var(--riz-serif);
	font-size: clamp(36px, 3.55vw, 53px);
	font-weight: 550;
	line-height: 1.35;
	letter-spacing: -.025em;
	text-shadow: 0 3px 28px rgba(0,0,0,.3);
	white-space: nowrap;
}
.hero-identity__company {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px 24px;
	margin: 10px 0 0;
	line-height: 1.55;
}
.hero-identity__company strong { color: #ffd0b5; font-size: clamp(13px, 1.2vw, 16px); font-weight: 750; letter-spacing: .035em; }
.hero-identity__company span {
	color: rgba(255,255,255,.62);
	font-size: 9px;
	font-weight: 750;
	letter-spacing: .18em;
	text-transform: uppercase;
}
.cinematic-hero__headline { margin: 0; font-family: var(--riz-serif); font-size: clamp(62px, 7.4vw, 112px); font-weight: 450; line-height: 1.08; letter-spacing: -.055em; }
.cinematic-hero__headline span { display: block; }
.cinematic-hero__sub { margin: 38px 0 0; font-size: clamp(16px, 1.65vw, 21px); line-height: 1.8; letter-spacing: .04em; }
.cinematic-hero__actions { display: flex; flex-wrap: wrap; gap: 28px 40px; margin-top: 42px; }
.scroll-cue {
  position: absolute;
  z-index: 2;
  left: 30px;
  bottom: 32px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
  color: rgba(255,255,255,.65);
  font-size: 9px;
  letter-spacing: .18em;
  text-transform: uppercase;
  writing-mode: vertical-rl;
}
.scroll-cue::after { content: ""; width: 1px; height: 52px; background: rgba(255,255,255,.42); animation: scrollPulse 2s ease-in-out infinite; }
@keyframes scrollPulse { 0%,100% { transform: scaleY(.3); transform-origin: top; opacity: .4; } 50% { transform: scaleY(1); opacity: 1; } }

/* Opening */
.opening-statement { display: grid; place-items: center; min-height: 100svh; padding: 120px 0; background: #fff; }
.opening-statement__inner { max-width: 1020px; text-align: center; }
.opening-statement h2 { margin: 0; font-family: var(--riz-serif); font-size: clamp(43px, 7.1vw, 94px); font-weight: 450; line-height: 1.4; letter-spacing: -.035em; }
.opening-statement p:last-child { margin: 52px auto 0; color: var(--riz-ink-soft); font-size: clamp(16px, 1.6vw, 20px); line-height: 2.15; }

/* Brand promise */
.brand-promise { position: relative; padding: clamp(120px, 14vw, 210px) 0; overflow: hidden; color: #fff; background: #061326; }
.brand-promise__glow { position: absolute; inset: -20% -15% auto 35%; height: 82%; background: radial-gradient(ellipse, rgba(43,108,174,.3), rgba(218,106,48,.1) 42%, transparent 72%); filter: blur(28px); pointer-events: none; }
.brand-promise__inner { position: relative; z-index: 1; }
.brand-promise__head { display: grid; grid-template-columns: 1fr .82fr; gap: clamp(55px, 9vw, 140px); align-items: end; }
.brand-promise__audience { margin: 0; color: rgba(255,255,255,.82); font-size: 14px; font-weight: 650; letter-spacing: .04em; }
.brand-promise__intro { margin: 0; color: rgba(255,255,255,.68); font-size: 15px; line-height: 2.15; }
.brand-promise h2 { margin: clamp(80px, 10vw, 150px) 0 0; font-family: var(--riz-serif); font-size: clamp(55px, 8.9vw, 126px); font-weight: 450; line-height: 1.24; letter-spacing: -.055em; }
.brand-promise h2 span { color: #f0a176; }
.brand-promise__definition { display: grid; grid-template-columns: .72fr 1.28fr; gap: clamp(50px, 9vw, 135px); margin-top: clamp(70px, 8vw, 115px); padding-top: 44px; border-top: 1px solid rgba(255,255,255,.22); }
.brand-promise__definition h3 { margin: 0; font-family: var(--riz-serif); font-size: clamp(24px, 3vw, 37px); font-weight: 500; }
.brand-promise__definition p { margin: 0; color: rgba(255,255,255,.72); font-size: 15px; line-height: 2.15; }
.promise-proof { display: grid; grid-template-columns: repeat(3, 1fr); margin-top: clamp(80px, 10vw, 140px); border-block: 1px solid rgba(255,255,255,.18); }
.promise-proof__item { min-height: 360px; padding: clamp(36px, 4vw, 58px); border-right: 1px solid rgba(255,255,255,.18); }
.promise-proof__item:last-child { border-right: 0; }
.promise-proof__item > span { display: block; margin-bottom: 62px; color: #78afe1; font-family: var(--riz-serif); font-size: 15px; }
.promise-proof__item:nth-child(2) > span { color: #bdc7d2; }
.promise-proof__item:nth-child(3) > span { color: #f0a176; }
.promise-proof__item h3 { margin: 0; font-family: var(--riz-serif); font-size: clamp(24px, 2.7vw, 36px); font-weight: 500; line-height: 1.55; }
.promise-proof__item p { margin: 27px 0 0; color: rgba(255,255,255,.63); font-size: 13px; line-height: 2; }

/* Sticky dialogue story */
.scroll-story { position: relative; display: grid; grid-template-columns: minmax(0, 56%) minmax(380px, 44%); background: var(--riz-ink); }
.scroll-story__stage { position: sticky; top: 0; height: 100svh; overflow: hidden; }
.scroll-story__media, .scroll-story__shade { position: absolute; inset: 0; }
.scroll-story__media img { width: 100%; height: 100%; object-fit: cover; object-position: center; transition: transform 1.4s var(--riz-ease), filter 1.2s ease; }
.scroll-story__shade { background: linear-gradient(90deg, rgba(5,14,27,.08), rgba(5,14,27,.55)), linear-gradient(0deg, rgba(5,14,27,.65), transparent 45%); }
.scroll-story__label { position: absolute; z-index: 2; left: 34px; bottom: 34px; display: flex; align-items: center; gap: 16px; color: rgba(255,255,255,.75); font-size: 10px; letter-spacing: .2em; text-transform: uppercase; }
.scroll-story__label span { display: grid; place-items: center; width: 42px; height: 42px; border: 1px solid rgba(255,255,255,.45); border-radius: 50%; }
.scroll-story__chapters { position: relative; z-index: 2; color: #fff; }
.story-chapter { min-height: 100svh; display: flex; flex-direction: column; justify-content: center; padding: 120px clamp(40px, 7vw, 110px); opacity: .32; transform: translateY(20px); transition: opacity .6s ease, transform .8s var(--riz-ease); }
.story-chapter.is-active { opacity: 1; transform: none; }
.story-chapter__number { margin: 0 0 28px; color: #8eb5dd; font-size: 10px; font-weight: 800; letter-spacing: .22em; }
.story-chapter h2 { margin: 0; font-family: var(--riz-serif); font-size: clamp(38px, 5vw, 70px); font-weight: 450; line-height: 1.4; }
.story-chapter > p:last-child { margin: 34px 0 0; max-width: 520px; color: rgba(255,255,255,.7); font-size: 16px; line-height: 2.1; }

/* One value scene */
.one-value-scene { position: relative; min-height: 155svh; display: flex; align-items: center; overflow: hidden; color: #fff; background: #020913; }
.one-value-scene__media, .one-value-scene__overlay { position: absolute; inset: 0; }
.one-value-scene__media { position: absolute; height: 100%; }
.one-value-scene__media img { width: 100%; height: 100%; object-fit: cover; transform: scale(var(--one-value-scale, 1)); will-change: transform; }
.one-value-scene__overlay { background: linear-gradient(0deg, rgba(2,8,17,.92) 0%, rgba(2,8,17,.2) 48%, rgba(2,8,17,.7) 100%); }
.one-value-scene__content { position: relative; z-index: 2; padding: 150px 0; }
.one-value-scene h2 { margin: 0; font-family: var(--riz-serif); font-size: clamp(52px, 8.3vw, 112px); font-weight: 450; line-height: 1.16; letter-spacing: -.045em; text-align: center; }
.one-value-scene h2 span { display: block; }
.one-value-scene__intro { margin: 34px auto 0; max-width: 640px; color: rgba(255,255,255,.7); text-align: center; }
.org-pair { display: grid; grid-template-columns: 1fr 1fr; gap: 1px; margin-top: 88px; background: rgba(255,255,255,.18); border: 1px solid rgba(255,255,255,.18); }
.org-panel { min-height: 330px; padding: clamp(34px, 5vw, 62px); background: rgba(3,11,22,.72); backdrop-filter: blur(18px); }
.org-panel--blue { box-shadow: inset 0 3px 0 var(--riz-blue); }
.org-panel--orange { box-shadow: inset 0 3px 0 var(--riz-orange); }
.org-panel__origin { margin: 0 0 44px; font-size: 10px; font-weight: 800; letter-spacing: .2em; text-transform: uppercase; }
.org-panel--blue .org-panel__origin { color: #72abe4; }
.org-panel--orange .org-panel__origin { color: #ef9a6b; }
.org-panel h3 { margin: 0; font-family: var(--riz-serif); font-size: clamp(25px, 3vw, 40px); font-weight: 450; }
.org-panel > p:last-child { margin: 28px 0 0; max-width: 510px; color: rgba(255,255,255,.67); font-size: 14px; }
.one-value-scene__note { margin: 28px 0 0; color: rgba(255,255,255,.58); text-align: center; font-size: 12px; }

/* Needs */
.needs-section { padding: clamp(110px, 12vw, 180px) 0; background: var(--riz-paper); }
.needs-section__head { display: grid; grid-template-columns: 1.2fr .8fr; gap: 80px; align-items: end; }
.needs-section h2, .members-section h2 { margin: 0; font-family: var(--riz-serif); font-size: clamp(43px, 6.5vw, 82px); font-weight: 450; line-height: 1.36; letter-spacing: -.035em; }
.needs-section__head > p { margin: 0 0 10px; color: var(--riz-ink-soft); font-size: 16px; }
.need-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px; margin-top: 82px; }
.need-card { position: relative; min-height: 360px; padding: clamp(32px, 5vw, 58px); overflow: hidden; color: #fff; background: var(--riz-ink); }
.need-card--wide { grid-column: 1 / -1; min-height: 610px; display: flex; flex-direction: column; justify-content: flex-end; }
.need-card--wide img, .need-card--photo img, .need-card__veil { position: absolute; inset: 0; width: 100%; height: 100%; }
.need-card--wide img, .need-card--photo img { object-fit: cover; transition: transform 1.2s var(--riz-ease); }
.need-card--wide:hover img, .need-card--photo:hover img { transform: scale(1.035); }
.need-card__veil { background: linear-gradient(90deg, rgba(4,12,24,.86), rgba(4,12,24,.1) 70%), linear-gradient(0deg, rgba(4,12,24,.7), transparent 60%); }
.need-card--blue { background: var(--riz-blue-deep); }
.need-card--orange { background: #9f441c; }
.need-card--ink { background: var(--riz-ink-2); }
.need-card--paper { color: var(--riz-ink); background: #fff; border: 1px solid var(--riz-line); }
.need-card--photo { grid-column: 1 / -1; min-height: 610px; display: flex; flex-direction: column; justify-content: flex-end; }
.need-card__number { position: relative; z-index: 2; display: block; margin-bottom: auto; font-family: var(--riz-serif); font-size: 15px; font-style: italic; opacity: .64; }
.need-card h3 { position: relative; z-index: 2; margin: 70px 0 0; max-width: 760px; font-family: var(--riz-serif); font-size: clamp(28px, 4vw, 53px); font-weight: 450; line-height: 1.45; }
.need-card:not(.need-card--wide):not(.need-card--photo) h3 { font-size: clamp(24px, 3vw, 37px); }
.need-card > p { position: relative; z-index: 2; margin: 25px 0 0; max-width: 500px; font-size: 13px; opacity: .68; }
.need-card__arrow { position: absolute; z-index: 2; right: 34px; top: 32px; display: grid; place-items: center; width: 46px; height: 46px; border: 1px solid currentColor; border-radius: 50%; font-size: 17px; opacity: .65; transition: transform .35s var(--riz-ease), opacity .35s ease; }
.need-card:hover .need-card__arrow { transform: translate(3px,-3px); opacity: 1; }

/* Strategy for lean teams */
.resource-strategy { padding: clamp(115px, 13vw, 190px) 0; background: #fff; }
.resource-strategy__head { display: grid; grid-template-columns: 1.15fr .85fr; gap: clamp(55px, 9vw, 140px); align-items: end; }
.resource-strategy h2 { margin: 0; font-family: var(--riz-serif); font-size: clamp(42px, 6vw, 78px); font-weight: 450; line-height: 1.45; letter-spacing: -.04em; }
.resource-strategy__copy p { margin: 0 0 24px; color: var(--riz-ink-soft); font-size: 14px; line-height: 2.05; }
.resource-strategy__copy p:last-child { margin-bottom: 0; color: var(--riz-ink); font-weight: 650; }
.resource-strategy__steps { display: grid; grid-template-columns: repeat(4, 1fr); margin: clamp(75px, 9vw, 125px) 0 0; padding: 0; list-style: none; border-block: 1px solid var(--riz-line); }
.resource-strategy__steps li { min-height: 340px; padding: clamp(32px, 3.8vw, 52px); border-right: 1px solid var(--riz-line); }
.resource-strategy__steps li:last-child { border-right: 0; }
.resource-strategy__steps span { display: block; margin-bottom: 58px; color: var(--riz-orange); font-family: var(--riz-serif); font-size: 15px; }
.resource-strategy__steps h3 { margin: 0; font-family: var(--riz-serif); font-size: clamp(22px, 2.25vw, 31px); font-weight: 500; line-height: 1.55; }
.resource-strategy__steps p { margin: 25px 0 0; color: var(--riz-ink-soft); font-size: 12px; line-height: 1.95; }
.resource-strategy__closing { max-width: 960px; margin: clamp(70px, 8vw, 110px) auto 0; color: var(--riz-ink); font-family: var(--riz-serif); font-size: clamp(25px, 3.6vw, 45px); font-weight: 500; line-height: 1.75; text-align: center; }

/* Action */
.action-story { position: relative; min-height: 100svh; display: flex; align-items: center; overflow: hidden; color: #fff; background: #050c16; }
.action-story__media, .action-story__shade { position: absolute; inset: 0; }
.action-story__media img { width: 100%; height: 100%; object-fit: cover; object-position: center; }
.action-story__shade { background: linear-gradient(90deg, rgba(3,10,19,.96) 0%, rgba(3,10,19,.72) 40%, rgba(3,10,19,.08) 78%); }
.action-story__content { position: relative; z-index: 2; padding: 130px 0; }
.action-story h2 { margin: 0; font-family: var(--riz-serif); font-size: clamp(50px, 7.6vw, 98px); font-weight: 450; line-height: 1.25; letter-spacing: -.04em; }
.action-story__content > p:not(.section-kicker) { max-width: 620px; margin: 36px 0 0; color: rgba(255,255,255,.72); }
.action-steps { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 0; max-width: 920px; margin: 64px 0 46px; padding: 0; list-style: none; border-top: 1px solid rgba(255,255,255,.3); }
.action-steps li { padding: 18px 12px 0 0; color: rgba(255,255,255,.72); font-size: 11px; line-height: 1.6; }
.action-steps span { display: block; margin-bottom: 8px; color: #e18b5d; font-family: var(--riz-serif); font-size: 14px; }

/* Profiles */
.members-section { padding: clamp(110px, 12vw, 180px) 0; background: #fff; }
.members-section__head { max-width: 920px; margin-inline: auto; text-align: center; }
.members-section__head > p:last-child { max-width: 680px; margin: 36px auto 0; color: var(--riz-ink-soft); }
.profile-grid { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(28px, 5vw, 62px); margin-top: 86px; }
.profile-card { background: var(--riz-paper); }
.profile-card__photo { position: relative; aspect-ratio: 4 / 4.7; overflow: hidden; background: #e7e9ed; }
.profile-card__photo::after { content: ""; position: absolute; inset: auto 0 0; height: 26%; background: linear-gradient(transparent, rgba(7,17,31,.35)); }
.profile-card__photo img { width: 100%; height: 100%; object-fit: cover; object-position: center top; transition: transform .9s var(--riz-ease); }
.profile-card:hover .profile-card__photo img { transform: scale(1.025); }
.profile-card__body { padding: clamp(32px, 5vw, 58px); border-top: 3px solid; }
.profile-card--blue .profile-card__body { border-color: var(--riz-blue); }
.profile-card--orange .profile-card__body { border-color: var(--riz-orange); }
.profile-card__side { margin: 0 0 28px; font-size: 10px; font-weight: 800; letter-spacing: .2em; text-transform: uppercase; }
.profile-card--blue .profile-card__side { color: var(--riz-blue); }
.profile-card--orange .profile-card__side { color: var(--riz-orange-deep); }
.profile-card h3 { margin: 0; font-family: var(--riz-serif); font-size: clamp(30px, 3.3vw, 43px); font-weight: 450; }
.profile-card h3 span { display: block; margin-top: 7px; color: var(--riz-ink-soft); font-family: var(--riz-body); font-size: 10px; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; }
.profile-card__title { margin: 27px 0 0; padding-top: 22px; border-top: 1px solid var(--riz-line); font-size: 12px; }
.profile-card__body > p:last-child { margin: 25px 0 0; color: var(--riz-ink-soft); font-size: 13px; }

/* Founder message */
.founder-message { display: grid; grid-template-columns: minmax(0, 47%) minmax(0, 53%); min-height: 110svh; background: #fff; }
.founder-message__visual { position: sticky; top: 0; height: 100svh; overflow: hidden; color: #fff; background: var(--riz-ink); }
.founder-message__visual > img, .founder-message__veil { position: absolute; inset: 0; width: 100%; height: 100%; }
.founder-message__visual > img { object-fit: cover; object-position: center; transform: scale(1.04); }
.founder-message__veil { background: linear-gradient(0deg, rgba(3,10,20,.9), rgba(3,10,20,.14) 64%, rgba(3,10,20,.45)); }
.founder-message blockquote { position: absolute; z-index: 2; left: clamp(28px, 5vw, 74px); right: clamp(28px, 5vw, 74px); bottom: clamp(52px, 8vw, 110px); margin: 0; font-family: var(--riz-serif); font-size: clamp(31px, 3.25vw, 48px); font-weight: 450; line-height: 1.55; letter-spacing: -.025em; }
.founder-message__content { align-self: center; padding: clamp(100px, 11vw, 170px) clamp(40px, 7vw, 118px); }
.founder-message__content h2 { margin: 0 0 48px; white-space: nowrap; font-family: var(--riz-serif); font-size: clamp(30px, 4.3vw, 62px); font-weight: 450; line-height: 1.35; letter-spacing: -.035em; }
.founder-message__content > p:not(.section-kicker) { margin: 0 0 24px; color: var(--riz-ink-soft); font-size: 14px; line-height: 2.1; }
.founder-message__content .founder-message__emphasis { margin: 52px 0 28px; color: var(--riz-ink); font-family: var(--riz-serif); font-size: clamp(24px, 3vw, 34px); line-height: 1.7; }
.founder-message__content .founder-message__tagline { margin: 52px 0 0; color: var(--riz-orange-deep); font-family: var(--riz-serif); font-size: clamp(32px, 4vw, 50px); font-weight: 550; }
.founder-message__signoff { display: flex; align-items: flex-end; justify-content: flex-end; gap: 20px; margin-top: 42px; }
.founder-message__signoff p { margin: 0; color: var(--riz-ink-soft); font-size: 11px; line-height: 1.7; text-align: right; }
.founder-message__signoff img { width: 176px; mix-blend-mode: multiply; }

/* Shared aspiration */
.gratitude-statement { position: relative; padding: clamp(120px, 15vw, 220px) 0; overflow: hidden; background: var(--riz-paper); }
.gratitude-statement::before { content: ""; position: absolute; left: 50%; top: 48%; width: min(85vw, 1050px); aspect-ratio: 1; border: 1px solid rgba(43,108,174,.13); border-radius: 50%; transform: translate(-50%, -50%); }
.gratitude-statement::after { content: ""; position: absolute; left: 50%; top: 48%; width: min(58vw, 720px); aspect-ratio: 1; border: 1px solid rgba(218,106,48,.13); border-radius: 50%; transform: translate(-50%, -50%); }
.gratitude-statement__inner { position: relative; z-index: 1; text-align: center; }
.gratitude-statement h2 { margin: 0; font-family: var(--riz-serif); font-size: clamp(47px, 7.6vw, 103px); font-weight: 450; line-height: 1.38; letter-spacing: -.05em; }
.gratitude-statement h2 span { color: var(--riz-orange-deep); }
.gratitude-statement__inner > p:last-child { margin: 46px auto 0; color: var(--riz-ink-soft); font-size: clamp(14px, 1.35vw, 18px); line-height: 2.15; }

/* Final CTA */
.final-cta { position: relative; min-height: 86svh; display: flex; align-items: center; overflow: hidden; color: #fff; background: #050c16; }
.final-cta__media, .final-cta__overlay { position: absolute; inset: 0; }
.final-cta__media img { width: 100%; height: 100%; object-fit: cover; transform: scale(1.06); filter: saturate(.8); }
.final-cta__overlay { background: linear-gradient(90deg, rgba(3,10,20,.95), rgba(3,10,20,.48) 58%, rgba(3,10,20,.2)), linear-gradient(0deg, rgba(3,10,20,.52), transparent); }
.final-cta__content { position: relative; z-index: 2; padding: 120px 0; }
.final-cta h2 { margin: 0; font-family: var(--riz-serif); font-size: clamp(48px, 7.6vw, 100px); font-weight: 450; line-height: 1.3; letter-spacing: -.045em; }
.final-cta__content > p:not(.section-kicker) { max-width: 660px; margin: 38px 0 0; color: rgba(255,255,255,.72); }
.cta-button { display: flex; align-items: center; justify-content: space-between; width: min(390px, 100%); margin-top: 52px; padding: 20px 24px; color: var(--riz-ink); background: #fff; border: 1px solid #fff; font-size: 13px; font-weight: 750; letter-spacing: .09em; transition: color .3s ease, background .3s ease; }
.cta-button:hover, .cta-button:focus-visible { color: #fff; background: transparent; }

/* Footer and inner pages */
.site-footer { padding: 76px 0 30px; color: rgba(255,255,255,.7); background: #061326; }
.footer-main { display: grid; grid-template-columns: 1fr 1.3fr; gap: 80px; padding-bottom: 60px; }
.footer-logo { width: 118px; padding: 6px; background: #fff; }
.footer-tagline { margin: 20px 0 0; font-size: 10px; letter-spacing: .17em; }
.footer-socials { display: flex; flex-wrap: wrap; align-items: flex-start; gap: 16px; margin-top: 24px; }
.footer-social-card { display: grid; justify-items: start; gap: 9px; }
.footer-social-link {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  min-height: 40px;
  padding: 8px 13px;
  color: #fff;
  border: 1px solid rgba(255,255,255,.22);
  border-radius: 999px;
  font-size: 11px;
  font-weight: 650;
  letter-spacing: .02em;
  transition: color .25s ease, background-color .25s ease, border-color .25s ease, transform .25s ease;
}
.footer-social-link:hover,
.footer-social-link:focus-visible {
  color: #061326;
  background: #fff;
  border-color: #fff;
  transform: translateY(-2px);
}
.footer-social-link:focus-visible { outline: 3px solid rgba(255,255,255,.42); outline-offset: 3px; }
.footer-social-icon { width: 15px; height: 15px; flex: 0 0 auto; }
.footer-social-icon--facebook {
  display: inline-grid;
  place-items: center;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 18px;
  font-weight: 800;
  line-height: 1;
}
.footer-social-qr {
  display: block;
  width: 88px;
  padding: 6px;
  background: #fff;
  border: 1px solid rgba(255,255,255,.24);
  border-radius: 10px;
  transition: transform .25s ease, box-shadow .25s ease;
}
.footer-social-qr img { display: block; width: 100%; height: auto; }
.footer-social-qr:hover,
.footer-social-qr:focus-visible { transform: translateY(-2px); box-shadow: 0 8px 20px rgba(0,0,0,.22); }
.footer-social-qr:focus-visible { outline: 3px solid rgba(255,255,255,.42); outline-offset: 3px; }
.footer-orgs { display: grid; grid-template-columns: 1fr 1fr; gap: 36px; }
.footer-org h2 { margin: 0 0 16px; color: #fff; font-size: 14px; font-weight: 700; }
.footer-org p { margin: 0; font-size: 12px; }
.footer-nav { display: flex; flex-wrap: wrap; gap: 12px 28px; padding: 24px 0; border-block: 1px solid rgba(255,255,255,.11); }
.footer-nav a { font-size: 11px; }
.footer-bottom { display: flex; justify-content: space-between; gap: 30px; margin-top: 28px; font-size: 10px; }
.page-hero { padding: 180px 0 90px; background: #fff; border-bottom: 1px solid var(--riz-line); }
.page-hero h1 { margin: 0; font-family: var(--riz-serif); font-size: clamp(42px, 7vw, 84px); font-weight: 450; line-height: 1.3; }
.page-hero p { margin: 16px 0 0; color: var(--riz-blue); font-size: 10px; font-weight: 800; letter-spacing: .22em; text-transform: uppercase; }
.entry-content { width: min(860px, calc(100vw - 48px)); margin-inline: auto; padding: 90px 0 130px; }
.entry-content > * { margin-top: 0; margin-bottom: 1.6em; }
.entry-content h2 { margin-top: 2.4em; font-family: var(--riz-serif); font-size: clamp(28px, 4vw, 44px); font-weight: 450; }
.entry-content h3 { margin-top: 2em; font-size: 21px; }
.entry-content a { color: var(--riz-blue); text-decoration: underline; text-underline-offset: 3px; }
.entry-content .wp-block-button__link { color: #fff; text-decoration: none; background: var(--riz-ink); border-radius: 0; }

/* Concerns and services page */
.concern-page { background: #fff; }
.concern-page-hero { min-height: 88svh; display: flex; align-items: flex-end; color: #fff; background: linear-gradient(128deg, #071629 0%, #0d3155 54%, #8e3c19 130%); }
.concern-page-hero__inner { padding: 190px 0 105px; }
.concern-page-hero h1 { margin: 0; font-family: var(--riz-serif); font-size: clamp(52px, 6.6vw, 88px); font-weight: 450; line-height: 1.23; letter-spacing: -.045em; }
.concern-page-hero h1 span { color: #f3a071; }
.concern-page-hero__lead { margin: 52px 0 0; padding-left: 26px; border-left: 2px solid var(--riz-orange); font-size: clamp(18px, 2.1vw, 27px); line-height: 1.8; }
.concern-intro { padding: clamp(100px, 12vw, 170px) 0; background: #fff; }
.concern-intro__grid { display: grid; grid-template-columns: .9fr 1.1fr; gap: clamp(60px, 9vw, 150px); }
.concern-intro h2 { margin: 0; font-family: var(--riz-serif); font-size: clamp(38px, 5.3vw, 67px); font-weight: 450; line-height: 1.55; letter-spacing: -.035em; }
.concern-intro__copy p { margin: 0 0 25px; color: var(--riz-ink-soft); font-size: 15px; line-height: 2.05; }
.concern-intro__copy .concern-intro__byline { margin-top: 52px; padding-top: 24px; color: var(--riz-ink); border-top: 1px solid var(--riz-line); font-family: var(--riz-serif); font-size: 18px; }
.concern-intro__byline span { color: var(--riz-ink-soft); font-family: var(--riz-body); font-size: 11px; letter-spacing: .08em; }
.service-audience { padding: clamp(90px, 10vw, 145px) 0; background: var(--riz-paper); }
.service-audience__head { display: grid; grid-template-columns: 1fr .82fr; gap: clamp(50px, 9vw, 140px); align-items: end; }
.service-audience__head h2 { margin: 0; font-family: var(--riz-serif); font-size: clamp(40px, 5.4vw, 68px); font-weight: 450; line-height: 1.4; letter-spacing: -.035em; }
.service-audience__head > p { margin: 0 0 8px; color: var(--riz-ink-soft); font-size: 14px; line-height: 2; }
.service-audience__grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1px; margin-top: 65px; background: var(--riz-line); border: 1px solid var(--riz-line); }
.service-audience__card { min-height: 330px; padding: clamp(30px, 4vw, 52px); background: #fff; }
.service-audience__card > span { display: block; margin-bottom: 46px; color: var(--riz-blue); font-family: var(--riz-serif); font-size: 15px; }
.service-audience__card h3 { margin: 0; font-family: var(--riz-serif); font-size: clamp(25px, 3vw, 37px); font-weight: 500; line-height: 1.5; }
.service-audience__card p { margin: 27px 0 0; max-width: 500px; color: var(--riz-ink-soft); font-size: 13px; line-height: 1.95; }
.service-audience__card--review { box-shadow: inset 0 3px 0 var(--riz-orange); }
.service-audience__card--review > span { color: var(--riz-orange-deep); }
.concern-index { padding: clamp(90px, 10vw, 140px) 0; background: var(--riz-paper); }
.concern-index h2 { margin: 0; font-family: var(--riz-serif); font-size: clamp(38px, 5vw, 64px); font-weight: 450; line-height: 1.4; }
.concern-index__grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1px; margin-top: 64px; background: var(--riz-line); border: 1px solid var(--riz-line); }
.concern-index__grid a { display: flex; align-items: center; gap: 24px; min-height: 76px; padding: 18px 24px; background: #fff; font-size: 14px; font-weight: 650; transition: color .25s ease, background .25s ease; }
.concern-index__grid a:hover, .concern-index__grid a:focus-visible { color: #fff; background: var(--riz-ink); }
.concern-index__grid span { display: grid; place-items: center; flex: 0 0 40px; height: 40px; color: #fff; background: #397b78; font-family: var(--riz-serif); font-size: 16px; }
.concern-catalog { padding: clamp(100px, 11vw, 160px) 0; background: #fff; }
.concern-domain { scroll-margin-top: 110px; display: grid; grid-template-columns: minmax(320px, .8fr) minmax(0, 1.2fr); gap: clamp(50px, 8vw, 130px); padding: clamp(70px, 8vw, 110px) 0; border-top: 1px solid var(--riz-line); }
.concern-domain:first-child { border-top: 0; }
.concern-domain__head { display: grid; grid-template-columns: 76px 1fr; gap: 24px; align-content: start; }
.concern-domain__head > span { display: grid; place-items: center; width: 76px; height: 76px; color: #fff; background: #397b78; font-family: var(--riz-serif); font-size: 31px; }
.concern-domain__head h2 { margin: 0; font-family: var(--riz-serif); font-size: clamp(27px, 3.2vw, 42px); font-weight: 500; line-height: 1.4; }
.concern-domain__head p { margin: 18px 0 0; color: var(--riz-orange-deep); font-size: 13px; font-weight: 700; line-height: 1.8; }
.concern-domain ul { display: grid; gap: 0; margin: 0; padding: 0; list-style: none; }
.concern-domain li { position: relative; padding: 20px 12px 20px 31px; border-bottom: 1px solid var(--riz-line); color: var(--riz-ink); font-size: 15px; font-weight: 650; line-height: 1.65; }
.concern-domain li::before { content: ""; position: absolute; left: 4px; top: 32px; width: 8px; height: 8px; background: var(--riz-orange); transform: rotate(45deg); }
.concern-domain--cross { background: linear-gradient(90deg, rgba(43,108,174,.045), rgba(218,106,48,.035)); padding-inline: clamp(24px, 4vw, 58px); }
.concern-domain--cross .concern-domain__head > span { background: var(--riz-ink); }
.service-practice { padding: clamp(105px, 12vw, 175px) 0; color: #fff; background: var(--riz-ink); }
.service-practice__head { display: grid; grid-template-columns: 1fr .85fr; gap: clamp(50px, 9vw, 140px); align-items: end; }
.service-practice__head h2 { margin: 0; font-family: var(--riz-serif); font-size: clamp(42px, 5.8vw, 76px); font-weight: 450; line-height: 1.35; letter-spacing: -.04em; }
.service-practice__head > p { margin: 0 0 10px; color: rgba(255,255,255,.66); font-size: 14px; line-height: 2; }
.service-practice__pair { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1px; margin-top: 72px; background: rgba(255,255,255,.17); border: 1px solid rgba(255,255,255,.17); }
.service-practice__panel { min-height: 650px; padding: clamp(34px, 5vw, 62px); background: rgba(255,255,255,.035); }
.service-practice__panel--blue { box-shadow: inset 0 4px 0 var(--riz-blue); }
.service-practice__panel--orange { box-shadow: inset 0 4px 0 var(--riz-orange); }
.service-practice__origin { margin: 0 0 34px; color: #8ebbe7; font-size: 10px; font-weight: 800; letter-spacing: .2em; }
.service-practice__panel--orange .service-practice__origin { color: #f1a076; }
.service-practice__owner { margin: -23px 0 26px; color: rgba(255,255,255,.82); font-size: 11px; font-weight: 600; line-height: 1.55; letter-spacing: .01em; }
.service-practice__owner span { display: block; margin-bottom: 4px; color: rgba(255,255,255,.46); font-size: 8px; font-weight: 800; letter-spacing: .12em; }
.service-practice__panel h3 { margin: 0; font-family: var(--riz-serif); font-size: clamp(25px, 3vw, 40px); font-weight: 500; line-height: 1.45; }
.service-practice__role { min-height: 92px; margin: 24px 0 0; color: rgba(255,255,255,.68); font-size: 13px; line-height: 1.9; }
.service-practice__panel ul { margin: 33px 0 0; padding: 0; list-style: none; border-top: 1px solid rgba(255,255,255,.16); }
.service-practice__panel li { position: relative; padding: 18px 0 18px 25px; border-bottom: 1px solid rgba(255,255,255,.13); color: rgba(255,255,255,.88); font-size: 13px; line-height: 1.75; }
.service-practice__panel li::before { content: ""; position: absolute; top: 29px; left: 4px; width: 7px; height: 7px; background: var(--riz-blue); transform: rotate(45deg); }
.service-practice__panel--orange li::before { background: var(--riz-orange); }
.service-practice__note { margin: 34px 0 0; color: rgba(255,255,255,.57); font-size: 11px; text-align: center; }
.concern-note { padding: clamp(90px, 10vw, 140px) 0; background: var(--riz-paper); }
.concern-note__inner { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(60px, 10vw, 160px); }
.concern-note h2 { margin: 0; font-family: var(--riz-serif); font-size: clamp(34px, 4.5vw, 58px); font-weight: 450; line-height: 1.55; }
.concern-note p { margin: 0 0 24px; color: var(--riz-ink-soft); font-size: 13px; }
.concern-cta { padding: clamp(110px, 12vw, 180px) 0; color: #fff; background: linear-gradient(125deg, var(--riz-ink), #0c365e 72%, #713116 140%); }
.concern-cta__inner { max-width: 970px; }
.concern-cta h2 { margin: 0; font-family: var(--riz-serif); font-size: clamp(49px, 7vw, 94px); font-weight: 450; line-height: 1.32; letter-spacing: -.04em; }
.concern-cta__inner > p:not(.section-kicker) { max-width: 680px; margin: 36px 0 0; color: rgba(255,255,255,.72); }

@media (max-width: 1020px) {
  body.admin-bar .site-header { top: 46px; }
	.header-inner { height: 74px; }
	.brand-link { gap: 11px; }
	.brand-link img { width: 78px; }
	.brand-identities { gap: 2px; padding-left: 10px; font-size: 10px; letter-spacing: .025em; }
	.brand-identities__company { font-size: 9px; }
  .menu-toggle {
    display: grid;
    place-items: center;
    width: 46px;
    height: 46px;
    padding: 0;
    border: 1px solid currentColor;
    color: inherit;
    background: rgba(255,255,255,.06);
    cursor: pointer;
  }
  .menu-toggle span, .menu-toggle::before, .menu-toggle::after { content: ""; display: block; width: 20px; height: 1px; background: currentColor; transition: transform .25s ease, opacity .25s ease; }
  .menu-toggle span { margin: 5px 0; }
  .menu-toggle[aria-expanded="true"] span { opacity: 0; }
  .menu-toggle[aria-expanded="true"]::before { transform: translateY(6px) rotate(45deg); }
  .menu-toggle[aria-expanded="true"]::after { transform: translateY(-6px) rotate(-45deg); }
  .site-nav { position: fixed; top: 74px; left: 0; right: 0; margin: 0; padding: 22px 28px 34px; color: var(--riz-ink); background: rgba(255,255,255,.98); border-bottom: 1px solid var(--riz-line); visibility: hidden; opacity: 0; transform: translateY(-10px); transition: .25s ease; }
  body.admin-bar .site-nav { top: 120px; }
  .site-nav.is-open { visibility: visible; opacity: 1; transform: none; }
  .site-nav ul { align-items: stretch; flex-direction: column; gap: 0; }
  .site-nav li { border-bottom: 1px solid var(--riz-line); }
  .site-nav a { padding: 14px 4px; }
  .site-nav a::after { display: none; }
  .site-nav .menu-contact { border: 0; padding-top: 14px; }
  .site-nav .menu-contact a { color: #fff; text-align: center; background: var(--riz-ink); border-color: var(--riz-ink); }
  .scroll-story { grid-template-columns: 1fr 1fr; }
  .story-chapter { padding-inline: 42px; }
  .promise-proof__item { min-height: 330px; padding-inline: 34px; }
  .resource-strategy__steps { grid-template-columns: repeat(2, 1fr); }
  .resource-strategy__steps li:nth-child(2) { border-right: 0; }
  .resource-strategy__steps li:nth-child(-n+2) { border-bottom: 1px solid var(--riz-line); }
  .need-card--wide { min-height: 520px; }
  .founder-message { display: block; min-height: auto; }
  .founder-message__visual { position: relative; height: 76svh; }
}

@media (max-width: 760px) {
  :root { --riz-content: min(100% - 34px, 1220px); }
	.cinematic-hero { min-height: 100svh; align-items: flex-start; }
  .cinematic-hero__media img { object-position: 60% center; }
	.cinematic-hero__veil { background: linear-gradient(90deg, rgba(2,8,18,.82), rgba(3,12,25,.27)), linear-gradient(0deg, rgba(3,9,18,.82), transparent 52%); }
	.cinematic-hero__content { padding: 104px 0 72px; }
	.hero-identity { width: 100%; margin-bottom: 36px; padding: 0 0 22px 16px; }
	.hero-identity::before { bottom: 22px; }
	.hero-identity::after { left: 16px; }
	.hero-identity h1 { font-size: clamp(28px, 8.4vw, 38px); white-space: nowrap; }
	.hero-identity__company { display: grid; gap: 5px; margin-top: 8px; }
	.hero-identity__company strong { font-size: clamp(11.5px, 3.35vw, 14px); }
	.hero-identity__company span { font-size: 8px; }
	.cinematic-hero__headline { font-size: clamp(46px, 15vw, 70px); line-height: 1.13; }
  .cinematic-hero__sub { font-size: 15px; }
  .cinematic-hero__actions { gap: 18px 26px; }
  .scroll-cue { display: none; }
  .opening-statement { min-height: 84svh; padding: 100px 0; }
  .opening-statement h2 { font-size: clamp(37px, 11.2vw, 52px); }
  .opening-statement p:last-child br { display: none; }
  .brand-promise__head, .brand-promise__definition { grid-template-columns: 1fr; gap: 34px; }
  .brand-promise h2 { font-size: clamp(49px, 14.3vw, 68px); }
  .brand-promise__intro { font-size: 14px; }
  .promise-proof { grid-template-columns: 1fr; }
  .promise-proof__item { min-height: auto; padding: 46px 5px; border-right: 0; border-bottom: 1px solid rgba(255,255,255,.18); }
  .promise-proof__item:last-child { border-bottom: 0; }
  .promise-proof__item > span { margin-bottom: 32px; }
  .scroll-story { display: block; background: var(--riz-ink); }
  .scroll-story__stage { position: sticky; top: 0; height: 62svh; z-index: 1; }
  .scroll-story__media img { object-position: 40% center; }
  .scroll-story__chapters { z-index: 2; margin-top: -1px; }
  .story-chapter { min-height: 72svh; padding: 96px 24px; background: linear-gradient(180deg, rgba(11,26,47,.98), var(--riz-ink)); opacity: 1; }
  .story-chapter h2 { font-size: 38px; }
  .one-value-scene { min-height: auto; padding: 110px 0; }
  .one-value-scene__media { position: absolute; height: 100%; }
  .one-value-scene__media img { object-position: center; }
  .one-value-scene__content { padding: 0; }
  .one-value-scene h2 { font-size: clamp(47px, 14vw, 67px); }
  .org-pair { grid-template-columns: 1fr; margin-top: 64px; }
  .org-panel { min-height: auto; }
  .needs-section__head, .profile-grid, .footer-main, .footer-orgs { grid-template-columns: 1fr; }
  .needs-section__head { gap: 26px; }
  .needs-section h2, .members-section h2 { font-size: 42px; }
  .need-grid { grid-template-columns: 1fr; margin-top: 52px; }
  .need-card--wide { grid-column: auto; min-height: 500px; }
  .need-card--photo { grid-column: auto; min-height: 500px; }
  .need-card--wide img, .need-card--photo img { object-position: 62% center; }
  .need-card { min-height: 310px; }
  .need-card h3, .need-card:not(.need-card--wide):not(.need-card--photo) h3 { font-size: 29px; }
  .resource-strategy__head { grid-template-columns: 1fr; gap: 40px; }
  .resource-strategy h2 { font-size: 42px; }
  .resource-strategy__steps { grid-template-columns: 1fr; }
  .resource-strategy__steps li { min-height: auto; padding: 43px 5px; border-right: 0; border-bottom: 1px solid var(--riz-line); }
  .resource-strategy__steps li:nth-child(2) { border-right: 0; }
  .resource-strategy__steps li:last-child { border-bottom: 0; }
  .resource-strategy__steps span { margin-bottom: 30px; }
  .resource-strategy__closing { font-size: 27px; text-align: left; }
  .action-story { min-height: auto; }
  .action-story__media img { object-position: 67% center; }
  .action-story__shade { background: linear-gradient(90deg, rgba(3,10,19,.93), rgba(3,10,19,.38)), linear-gradient(0deg, rgba(3,10,19,.78), transparent); }
  .action-story h2 { font-size: 52px; }
  .action-steps { grid-template-columns: 1fr; border-top: 0; border-left: 1px solid rgba(255,255,255,.3); }
  .action-steps li { display: grid; grid-template-columns: 44px 1fr; gap: 8px; padding: 8px 0 12px 18px; }
  .action-steps span { margin: 0; }
  .profile-grid { gap: 26px; margin-top: 60px; }
  .profile-card__photo { aspect-ratio: 4 / 5; }
  .founder-message__visual { position: relative; height: 72svh; }
  .founder-message blockquote { font-size: clamp(24px, 7.3vw, 34px); }
  .founder-message__content { padding: 100px 22px; }
  .founder-message__content h2 { font-size: clamp(30px, 8.9vw, 40px); }
  .founder-message__signoff { align-items: flex-end; }
  .founder-message__signoff img { width: 154px; }
  .gratitude-statement::before { width: 140vw; }
  .gratitude-statement::after { width: 94vw; }
  .gratitude-statement h2 { font-size: 48px; }
  .gratitude-statement__inner > p:last-child br { display: none; }
  .final-cta h2 { font-size: 52px; }
  .footer-main { gap: 50px; }
  .footer-socials { gap: 14px; }
  .footer-social-card { min-width: 0; }
  .footer-social-qr { width: 82px; }
  .footer-bottom { flex-direction: column; }
  .page-hero { padding-top: 145px; }
  .concern-page-hero { min-height: 82svh; }
  .concern-page-hero__inner { padding: 150px 0 80px; }
  .concern-page-hero h1 { font-size: clamp(45px, 13vw, 62px); }
  .concern-intro__grid, .concern-index__grid, .concern-domain, .concern-note__inner { grid-template-columns: 1fr; }
  .concern-intro__grid { gap: 46px; }
  .concern-index__grid { margin-top: 44px; }
  .concern-index__grid a { min-height: 68px; padding: 14px; font-size: 12px; }
  .concern-index__grid span { flex-basis: 36px; height: 36px; }
  .concern-domain { gap: 42px; padding: 76px 0; }
  .concern-domain__head { grid-template-columns: 58px 1fr; gap: 16px; }
  .concern-domain__head > span { width: 58px; height: 58px; font-size: 24px; }
  .concern-domain__head h2 { font-size: 29px; }
  .concern-domain--cross { margin-inline: -17px; padding-inline: 17px; }
  .concern-note__inner { gap: 42px; }
  .concern-cta h2 { font-size: 52px; }
}



@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
  .reveal { opacity: 1; transform: none; }
  .cinematic-hero__media img, .one-value-scene__media img { transform: none !important; }
  .story-chapter { opacity: 1; transform: none; }
}

/* Immersive lower pages */
.lower-page { background: #fff; }
.lower-hero {
  position: relative;
  min-height: 88svh;
  display: flex;
  align-items: flex-end;
  overflow: hidden;
  color: #fff;
  background: var(--riz-ink);
}
.lower-hero__media, .lower-hero__veil { position: absolute; inset: 0; }
.lower-hero__media img { width: 100%; height: 100%; object-fit: cover; }
.lower-hero__veil { background: linear-gradient(90deg, rgba(3,10,20,.93) 0%, rgba(4,13,26,.64) 46%, rgba(4,13,26,.18) 100%), linear-gradient(0deg, rgba(2,7,15,.62), transparent 58%); }
.lower-hero__content { position: relative; z-index: 1; padding: 190px 0 94px; }
.lower-hero h1 { max-width: 1000px; margin: 0; font-family: var(--riz-serif); font-size: clamp(56px, 7.4vw, 104px); font-weight: 450; line-height: 1.22; letter-spacing: -.05em; }
.lower-hero__content > p:last-child { max-width: 690px; margin: 44px 0 0; color: rgba(255,255,255,.76); font-size: clamp(15px, 1.35vw, 19px); line-height: 2; }
.lower-hero--about .lower-hero__media img, .lower-hero--organizations .lower-hero__media img { object-position: center; }
.organization-hero__mobile-break { display: none; }
.lower-hero--organizations h1 { font-size: clamp(52px, 5.5vw, 78px); max-width: 1120px; }
.lower-hero--process .lower-hero__media img { object-position: 62% center; }
.lower-hero--members .lower-hero__media img { object-position: 54% center; }

.editorial-section, .process-intro, .contract-section { padding: clamp(110px, 12vw, 180px) 0; }
.editorial-section--paper, .process-intro { background: var(--riz-paper); }
.editorial-split { display: grid; grid-template-columns: .9fr 1.1fr; gap: clamp(60px, 10vw, 160px); }
.editorial-split h2, .section-heading h2, .contact-guide h2 {
  margin: 0;
  font-family: var(--riz-serif);
  font-size: clamp(40px, 5.4vw, 70px);
  font-weight: 450;
  line-height: 1.48;
  letter-spacing: -.04em;
}
.editorial-copy p { margin: 0 0 28px; color: var(--riz-ink-soft); font-size: 15px; line-height: 2.1; }
.editorial-copy .editorial-lead { margin-top: 54px; color: var(--riz-ink); font-family: var(--riz-serif); font-size: clamp(25px, 3vw, 38px); }
.section-heading { max-width: 920px; }
.section-heading > p:last-child { max-width: 680px; margin: 32px 0 0; color: var(--riz-ink-soft); }
.section-heading--light { color: #fff; }
.section-heading--light > p:last-child { color: rgba(255,255,255,.7); }

.principles-section { padding: clamp(110px, 12vw, 180px) 0; background: #fff; }
.principle-grid { display: grid; grid-template-columns: repeat(2, 1fr); margin-top: 74px; border: 1px solid var(--riz-line); }
.principle-card { position: relative; min-height: 370px; padding: clamp(36px, 5vw, 68px); border-right: 1px solid var(--riz-line); border-bottom: 1px solid var(--riz-line); }
.principle-card:nth-child(2n) { border-right: 0; }
.principle-card:nth-last-child(-n+2) { border-bottom: 0; }
.principle-card > span { display: block; margin-bottom: 54px; color: var(--riz-orange); font-family: var(--riz-serif); font-size: 14px; }
.principle-card h3 { margin: 0; font-family: var(--riz-serif); font-size: clamp(27px, 3vw, 40px); font-weight: 500; }
.principle-card p { max-width: 470px; margin: 24px 0 0; color: var(--riz-ink-soft); font-size: 14px; }

.dual-expertise { padding: clamp(120px, 13vw, 190px) 0; color: #fff; background: linear-gradient(125deg, #07172b, #0a2b4a 60%, #6e3018 145%); }
.expertise-pair { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1px; margin-top: 78px; background: rgba(255,255,255,.22); border: 1px solid rgba(255,255,255,.22); }
.expertise-panel { min-height: 390px; padding: clamp(38px, 5vw, 70px); background: rgba(7,20,38,.82); }
.expertise-panel--orange { background: rgba(56,27,19,.67); }
.expertise-panel__origin { margin: 0 0 50px; color: rgba(255,255,255,.56); font-size: 10px; font-weight: 750; letter-spacing: .18em; text-transform: uppercase; }
.expertise-panel h3 { margin: 0; font-family: var(--riz-serif); font-size: clamp(28px, 3.1vw, 43px); font-weight: 500; }
.expertise-panel > p:last-child { max-width: 500px; margin: 32px 0 0; color: rgba(255,255,255,.7); font-size: 14px; }
.center-link--light { border-color: rgba(255,255,255,.22); }

.lower-cta { position: relative; padding: clamp(110px, 13vw, 190px) 0; overflow: hidden; background: var(--riz-paper); }
.lower-cta__inner { position: relative; z-index: 2; }
.lower-cta h2 { max-width: 990px; margin: 0; font-family: var(--riz-serif); font-size: clamp(50px, 7vw, 94px); font-weight: 450; line-height: 1.35; letter-spacing: -.05em; }
.lower-cta__inner > p:not(.section-kicker) { max-width: 680px; margin: 34px 0 0; color: var(--riz-ink-soft); }
.cta-button--ink { color: #fff; background: var(--riz-ink); border-color: var(--riz-ink); }
.cta-button--ink:hover, .cta-button--ink:focus-visible { color: var(--riz-ink); background: transparent; }
.lower-cta--image { color: #fff; background: var(--riz-ink); }
.lower-cta__media, .lower-cta__veil { position: absolute; inset: 0; }
.lower-cta__media img { width: 100%; height: 100%; object-fit: cover; }
.lower-cta__veil { background: linear-gradient(90deg, rgba(3,10,20,.94), rgba(3,10,20,.43)), linear-gradient(0deg, rgba(3,10,20,.72), transparent); }
.lower-cta__inner--light > p:not(.section-kicker) { color: rgba(255,255,255,.72); }

/* Process */
.process-timeline { padding: clamp(110px, 12vw, 180px) 0; background: #fff; }
.process-list { margin: 78px 0 0; padding: 0; list-style: none; border-top: 1px solid var(--riz-line); }
.process-item { display: grid; grid-template-columns: 130px minmax(0, 1fr); gap: clamp(40px, 8vw, 120px); padding: clamp(50px, 6vw, 82px) 0; border-bottom: 1px solid var(--riz-line); }
.process-item__number { align-self: start; color: var(--riz-orange); font-family: var(--riz-serif); font-size: clamp(47px, 5vw, 68px); line-height: 1; }
.process-item__label { margin: 0 0 17px; color: var(--riz-blue); font-size: 10px; font-weight: 800; letter-spacing: .18em; text-transform: uppercase; }
.process-item h3 { margin: 0; font-family: var(--riz-serif); font-size: clamp(29px, 3.7vw, 50px); font-weight: 500; }
.process-item div > p:last-child { max-width: 720px; margin: 22px 0 0; color: var(--riz-ink-soft); font-size: 14px; }
.process-boundaries { padding: clamp(110px, 12vw, 180px) 0; color: #fff; background: var(--riz-ink); }
.boundary-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1px; margin-top: 70px; background: rgba(255,255,255,.18); border: 1px solid rgba(255,255,255,.18); }
.boundary-card { min-height: 290px; padding: clamp(38px, 5vw, 70px); background: rgba(255,255,255,.035); }
.boundary-card h3 { margin: 0; color: #fff; font-family: var(--riz-serif); font-size: clamp(29px, 3.3vw, 44px); font-weight: 500; }
.boundary-card p { margin: 30px 0 0; color: rgba(255,255,255,.68); font-size: 14px; }
.contact-safety { padding: clamp(90px, 10vw, 140px) 0; background: #f5eee9; border-block: 1px solid rgba(169,75,31,.2); }
.contact-safety__inner { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(50px, 9vw, 140px); }
.contact-safety h2 { margin: 0; font-family: var(--riz-serif); font-size: clamp(34px, 4.4vw, 58px); font-weight: 500; line-height: 1.5; }
.contact-safety__inner > div:last-child p { margin: 0; color: #6d4d3d; }

/* Members */
.member-detail { padding: clamp(105px, 12vw, 180px) 0; background: #fff; }
.member-detail--orange { background: var(--riz-paper); }
.member-detail__grid { display: grid; grid-template-columns: minmax(330px, .76fr) minmax(0, 1.24fr); gap: clamp(60px, 10vw, 150px); align-items: center; }
.member-detail__grid--reverse .member-detail__portrait { order: 2; }
.member-detail__portrait { position: relative; max-width: 520px; }
.member-detail__portrait::before { content: ""; position: absolute; inset: 18px -18px -18px 18px; background: var(--riz-blue); }
.member-detail--orange .member-detail__portrait::before { background: var(--riz-orange); }
.member-detail__portrait img { position: relative; z-index: 1; width: 100%; aspect-ratio: 3 / 4; object-fit: cover; object-position: center top; background: #e8eaed; }
.member-detail h2 { margin: 0; font-family: var(--riz-serif); font-size: clamp(47px, 6vw, 78px); font-weight: 500; line-height: 1.15; }
.member-detail h2 span { display: block; margin-top: 16px; color: var(--riz-ink-soft); font-family: var(--riz-body); font-size: 11px; font-weight: 700; letter-spacing: .14em; }
.member-detail__title { margin: 30px 0 0; color: var(--riz-blue-deep); font-size: 13px; font-weight: 700; }
.member-detail--orange .member-detail__title { color: var(--riz-orange-deep); }
.member-detail__lead { margin: 48px 0 0; font-family: var(--riz-serif); font-size: clamp(26px, 3.2vw, 42px); font-weight: 500; line-height: 1.6; }
.member-detail__lead + p { margin: 28px 0 0; color: var(--riz-ink-soft); font-size: 14px; }
.member-facts { margin: 46px 0 0; border-top: 1px solid var(--riz-line); }
.member-facts div { display: grid; grid-template-columns: 150px 1fr; gap: 26px; padding: 19px 0; border-bottom: 1px solid var(--riz-line); }
.member-facts dt { color: var(--riz-ink-soft); font-size: 11px; font-weight: 700; }
.member-facts dd { margin: 0; font-size: 13px; font-weight: 650; }
.collaboration-section { padding: clamp(115px, 13vw, 190px) 0; color: #fff; background: linear-gradient(125deg, var(--riz-ink), #0d365b 70%, #733417 150%); }
.collaboration-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; margin-top: 76px; background: rgba(255,255,255,.18); border: 1px solid rgba(255,255,255,.18); }
.collaboration-card { min-height: 320px; padding: clamp(32px, 4vw, 54px); background: rgba(5,17,32,.62); }
.collaboration-card > span { color: #f2a078; font-family: var(--riz-serif); font-size: 14px; }
.collaboration-card h3 { margin: 60px 0 0; font-family: var(--riz-serif); font-size: clamp(25px, 2.6vw, 35px); font-weight: 500; }
.collaboration-card p { margin: 24px 0 0; color: rgba(255,255,255,.66); font-size: 13px; }

/* Organizations */
.organization-overview { padding: clamp(110px, 12vw, 180px) 0; background: #fff; }
.organization-pair { display: grid; grid-template-columns: repeat(2, 1fr); gap: 28px; margin-top: 76px; }
.organization-card { overflow: hidden; border: 1px solid var(--riz-line); background: #fff; }
.organization-card__head { min-height: 235px; padding: clamp(34px, 4vw, 55px); color: #fff; background: linear-gradient(135deg, var(--riz-blue-deep), var(--riz-blue)); }
.organization-card--orange .organization-card__head { background: linear-gradient(135deg, var(--riz-orange-deep), var(--riz-orange)); }
.organization-card__head p { margin: 0 0 38px; color: rgba(255,255,255,.66); font-size: 9px; font-weight: 800; letter-spacing: .17em; text-transform: uppercase; }
.organization-card__head h3 { margin: 0; word-break: keep-all; font-family: var(--riz-serif); font-size: clamp(25px, 2.4vw, 34px); font-weight: 500; line-height: 1.5; }
.organization-card__role { min-height: 148px; margin: 0; padding: 36px clamp(28px, 4vw, 54px); color: var(--riz-ink-soft); border-bottom: 1px solid var(--riz-line); font-size: 16px; line-height: 1.85; }
.organization-data { margin: 0; padding: 15px clamp(28px, 4vw, 54px) 40px; }
.organization-data div { display: grid; grid-template-columns: 112px 1fr; gap: 22px; padding: 23px 0; border-bottom: 1px solid var(--riz-line); }
.organization-data div:nth-child(4) { min-height: 132px; align-content: start; }
.organization-data dt { color: var(--riz-ink-soft); font-size: 13px; font-weight: 700; line-height: 1.7; }
.organization-data dd { margin: 0; font-size: 16px; font-weight: 600; line-height: 1.8; }
.access-section { padding: clamp(110px, 12vw, 180px) 0; background: var(--riz-paper); }
.access-map { margin-top: 76px; }
.access-map iframe { display: block; width: 100%; height: 420px; border: 0; filter: saturate(.82) contrast(.96); }
.access-information { max-width: 1050px; margin-top: clamp(58px, 7vw, 96px); }
.access-information__block + .access-information__block { margin-top: clamp(58px, 7vw, 86px); }
.access-information__block h3 { position: relative; margin: 0 0 34px; padding-left: 28px; font-family: var(--riz-serif); font-size: clamp(22px, 2.3vw, 30px); font-weight: 500; }
.access-information__block h3::before { content: ""; position: absolute; top: .1em; bottom: .1em; left: 0; width: 3px; background: var(--riz-blue); }
.access-information address { margin: 0; font-size: 14px; font-style: normal; font-weight: 600; line-height: 2; }
.access-information__block address + p { margin: 18px 0 0; color: var(--riz-ink-soft); font-size: 12px; }
.access-routes { display: grid; gap: 9px; margin: 0; padding: 0; list-style: none; }
.access-routes li { font-size: 14px; line-height: 1.8; }
.access-map-link { display: inline-block; margin-top: 31px; color: var(--riz-blue-deep); border-bottom: 1px solid currentColor; font-size: 12px; font-weight: 700; text-decoration: none; }
.access-information__note { margin: 28px 0 0; color: var(--riz-orange-deep); font-size: 12px; }
.organization-note { padding: 80px 0; background: #f5eee9; border-block: 1px solid rgba(169,75,31,.2); }
.organization-note__inner { display: grid; grid-template-columns: .7fr 1.3fr; gap: clamp(40px, 8vw, 120px); }
.organization-note h2 { margin: 0; font-family: var(--riz-serif); font-size: 30px; font-weight: 500; }
.organization-note p { margin: 0; color: #6d4d3d; font-size: 13px; }

/* Recruitment */
.lower-hero--recruit .lower-hero__media img { object-position: center; }
.recruit-intro { padding: clamp(110px, 12vw, 180px) 0; background: var(--riz-paper); }
.recruit-intro__grid { display: grid; grid-template-columns: .9fr 1.1fr; gap: clamp(60px, 10vw, 160px); }
.recruit-intro h2 { margin: 0; font-family: var(--riz-serif); font-size: clamp(40px, 5.4vw, 70px); font-weight: 450; line-height: 1.48; letter-spacing: -.04em; }
.recruit-intro__copy p { margin: 0 0 27px; color: var(--riz-ink-soft); font-size: 15px; line-height: 2.1; }
.recruit-intro__copy p:last-child { margin-bottom: 0; color: var(--riz-ink); font-family: var(--riz-serif); font-size: clamp(21px, 2.4vw, 30px); line-height: 1.8; }
.recruit-ai-future { position: relative; padding: clamp(120px, 14vw, 205px) 0; overflow: hidden; background: #fff; }
.recruit-ai-future::before { content: "AI"; position: absolute; top: -11vw; right: -2vw; color: rgba(11,26,47,.025); font-family: var(--riz-serif); font-size: clamp(330px, 42vw, 660px); font-weight: 700; line-height: 1; pointer-events: none; }
.recruit-ai-future__grid { position: relative; z-index: 1; display: grid; grid-template-columns: .85fr 1.15fr; gap: clamp(60px, 10vw, 160px); }
.recruit-ai-future h2 { margin: 0; font-family: var(--riz-serif); font-size: clamp(42px, 5.6vw, 73px); font-weight: 450; line-height: 1.48; letter-spacing: -.04em; }
.recruit-ai-future__copy p { margin: 0 0 25px; color: var(--riz-ink-soft); font-size: 14px; line-height: 2.1; }
.recruit-ai-future__copy .recruit-ai-future__lead { margin-top: 45px; color: var(--riz-ink); font-family: var(--riz-serif); font-size: clamp(22px, 2.7vw, 35px); font-weight: 500; line-height: 1.8; }
.recruit-ai-principles { position: relative; z-index: 1; display: grid; grid-template-columns: repeat(3, 1fr); margin-top: clamp(80px, 10vw, 140px); border-block: 1px solid var(--riz-line); }
.recruit-ai-principle { min-height: 330px; padding: clamp(34px, 4vw, 56px); border-right: 1px solid var(--riz-line); }
.recruit-ai-principle:last-child { border-right: 0; }
.recruit-ai-principle > span { display: block; margin-bottom: 51px; color: var(--riz-blue); font-family: var(--riz-serif); font-size: 14px; }
.recruit-ai-principle:nth-child(2) > span { color: var(--riz-ink-soft); }
.recruit-ai-principle:nth-child(3) > span { color: var(--riz-orange); }
.recruit-ai-principle h3 { margin: 0; font-family: var(--riz-serif); font-size: clamp(26px, 3vw, 39px); font-weight: 500; }
.recruit-ai-principle p { margin: 25px 0 0; color: var(--riz-ink-soft); font-size: 12px; line-height: 2; }
.recruit-ai-future__closing { position: relative; z-index: 1; max-width: 910px; margin: clamp(75px, 9vw, 125px) auto 0; color: var(--riz-ink); font-family: var(--riz-serif); font-size: clamp(35px, 5.1vw, 66px); font-weight: 500; line-height: 1.55; text-align: center; }
.recruit-belief { padding: clamp(120px, 13vw, 190px) 0; color: #fff; background: linear-gradient(125deg, #061326, #0a2e50 64%, #713116 150%); }
.recruit-belief__head { max-width: 990px; }
.recruit-belief__head h2 { margin: 0; font-family: var(--riz-serif); font-size: clamp(49px, 7vw, 95px); font-weight: 450; line-height: 1.36; letter-spacing: -.05em; }
.recruit-belief__head > p:last-child { max-width: 760px; margin: 42px 0 0; color: rgba(255,255,255,.7); font-size: 15px; line-height: 2.1; }
.recruit-perspectives { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1px; margin-top: clamp(75px, 9vw, 125px); background: rgba(255,255,255,.18); border: 1px solid rgba(255,255,255,.18); }
.recruit-perspective { min-height: 460px; padding: clamp(38px, 5vw, 68px); background: rgba(4,15,30,.68); }
.recruit-perspective--blue { box-shadow: inset 0 4px 0 var(--riz-blue); }
.recruit-perspective--orange { box-shadow: inset 0 4px 0 var(--riz-orange); }
.recruit-perspective > span { display: block; margin-bottom: 45px; color: #79afe3; font-family: var(--riz-serif); font-size: 14px; }
.recruit-perspective--orange > span { color: #f1a076; }
.recruit-perspective__origin { margin: 0 0 19px; color: rgba(255,255,255,.52); font-size: 9px; font-weight: 800; letter-spacing: .18em; text-transform: uppercase; }
.recruit-perspective h3 { margin: 0; font-family: var(--riz-serif); font-size: clamp(29px, 3.5vw, 47px); font-weight: 500; line-height: 1.5; }
.recruit-perspective > p:last-child { max-width: 520px; margin: 30px 0 0; color: rgba(255,255,255,.67); font-size: 13px; line-height: 2; }
.recruit-belief__note { margin: 28px 0 0; color: rgba(255,255,255,.52); font-size: 11px; text-align: center; }
.recruit-values { padding: clamp(110px, 12vw, 180px) 0; background: #fff; }
.recruit-value-list { display: grid; grid-template-columns: repeat(3, 1fr); margin-top: 75px; border-block: 1px solid var(--riz-line); }
.recruit-value { min-height: 330px; padding: clamp(35px, 4vw, 57px); border-right: 1px solid var(--riz-line); }
.recruit-value:last-child { border-right: 0; }
.recruit-value > span { display: block; margin-bottom: 50px; color: var(--riz-orange); font-family: var(--riz-serif); font-size: 14px; }
.recruit-value h3 { margin: 0; font-family: var(--riz-serif); font-size: clamp(27px, 3vw, 40px); font-weight: 500; }
.recruit-value p { margin: 25px 0 0; color: var(--riz-ink-soft); font-size: 13px; line-height: 2; }
.recruit-contact { position: relative; min-height: 92svh; display: flex; align-items: center; overflow: hidden; color: #fff; background: var(--riz-ink); }
.recruit-contact__media, .recruit-contact__veil { position: absolute; inset: 0; }
.recruit-contact__media img { width: 100%; height: 100%; object-fit: cover; object-position: center; }
.recruit-contact__veil { background: linear-gradient(90deg, rgba(3,10,20,.96), rgba(3,10,20,.63) 56%, rgba(3,10,20,.22)), linear-gradient(0deg, rgba(3,10,20,.62), transparent); }
.recruit-contact__inner { position: relative; z-index: 1; padding: 130px 0; }
.recruit-contact h2 { margin: 0; font-family: var(--riz-serif); font-size: clamp(50px, 7vw, 96px); font-weight: 450; line-height: 1.35; letter-spacing: -.05em; }
.recruit-contact__inner > p:not(.section-kicker):not(.recruit-contact__note) { max-width: 720px; margin: 38px 0 0; color: rgba(255,255,255,.72); }
.recruit-contact__mail { display: flex; align-items: center; justify-content: space-between; width: min(540px, 100%); margin-top: 50px; padding: 22px 25px; color: var(--riz-ink); background: #fff; border: 1px solid #fff; font-size: clamp(14px, 1.6vw, 19px); font-weight: 700; letter-spacing: .04em; transition: color .3s ease, background .3s ease; }
.recruit-contact__mail:hover, .recruit-contact__mail:focus-visible { color: #fff; background: transparent; }
.recruit-contact__note { max-width: 680px; margin: 27px 0 0; color: rgba(255,255,255,.5); font-size: 10px; line-height: 1.8; }

/* Contact */
.contact-page { background: var(--riz-paper); }
.contact-hero { padding: 195px 0 105px; color: #fff; background: linear-gradient(128deg, #071629 0%, #0d3155 62%, #8e3c19 145%); }
.contact-hero h1 { max-width: 1180px; margin: 0; font-family: var(--riz-serif); font-size: clamp(56px, 6.5vw, 90px); font-weight: 450; line-height: 1.28; letter-spacing: -.05em; }
.contact-hero__mobile-break { display: none; }
.contact-hero__inner > p:last-child { max-width: 720px; margin: 40px 0 0; color: rgba(255,255,255,.72); }
.contact-main { padding: clamp(100px, 11vw, 160px) 0; }
.contact-main__grid { display: grid; grid-template-columns: minmax(300px, .72fr) minmax(0, 1.28fr); gap: clamp(60px, 9vw, 140px); align-items: start; }
.contact-guide { position: sticky; top: 130px; }
.contact-guide__note { margin-top: 48px; padding: 28px; color: #6b3927; background: #f5e8df; border-left: 3px solid var(--riz-orange); }
.contact-guide__note h3 { margin: 0 0 12px; font-size: 15px; }
.contact-guide__note p { margin: 0; font-size: 12px; }
.contact-guide__points { display: grid; gap: 0; margin: 36px 0 0; padding: 0; list-style: none; border-top: 1px solid var(--riz-line); }
.contact-guide__points li { position: relative; padding: 16px 0 16px 26px; color: var(--riz-ink-soft); border-bottom: 1px solid var(--riz-line); font-size: 12px; }
.contact-guide__points li::before { content: ""; position: absolute; top: 25px; left: 4px; width: 7px; height: 7px; background: var(--riz-blue); transform: rotate(45deg); }
.contact-guide__methods { margin-top: 42px; }
.contact-guide__methods h3 { margin: 0 0 17px; font-family: var(--riz-serif); font-size: 20px; font-weight: 500; }
.contact-guide__methods ul { display: grid; grid-template-columns: repeat(2, 1fr); gap: 8px; margin: 0; padding: 0; list-style: none; }
.contact-guide__methods li { padding: 10px 12px; color: var(--riz-ink); background: #fff; border-left: 2px solid var(--riz-blue); font-size: 11px; font-weight: 700; }
.contact-guide__methods p { margin: 17px 0 0; color: var(--riz-ink-soft); font-size: 11px; line-height: 1.8; }
.contact-guide__email { margin-top: 24px; padding: 21px 22px; color: #fff; background: var(--riz-ink); }
.contact-guide__email p { margin: 0 0 7px; color: rgba(255,255,255,.6); font-size: 9px; font-weight: 700; letter-spacing: .14em; }
.contact-guide__email a { color: #fff; border-bottom: 1px solid rgba(255,255,255,.45); font-size: 13px; font-weight: 650; }
.contact-form-panel { padding: clamp(34px, 5vw, 70px); background: #fff; border: 1px solid var(--riz-line); }
.contact-form-panel > h2 { margin: 0; white-space: nowrap; font-family: var(--riz-serif); font-size: clamp(25px, 3.5vw, 46px); font-weight: 500; }
.form-notice { margin: 35px 0 0; padding: 22px 24px; border-left: 3px solid var(--riz-blue); background: #eef5fb; }
.form-notice--error { color: #712d1d; border-color: var(--riz-orange); background: #fbefea; }
.form-notice h3 { margin: 0 0 5px; font-size: 15px; }
.form-notice p { margin: 0; font-size: 12px; }
.riz-contact-form { margin-top: 58px; }
.form-row { margin: 0 0 35px; }
.form-row--split { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
.form-row label, .form-row legend { display: block; margin: 0 0 10px; color: var(--riz-ink); font-size: 12px; font-weight: 750; }
.form-row label span, .form-consent strong { margin-left: 7px; color: var(--riz-orange-deep); font-size: 9px; letter-spacing: .06em; }
.form-row label small, .form-row legend small { color: var(--riz-ink-soft); font-size: 10px; font-weight: 500; }
.form-row input[type="text"], .form-row input[type="email"], .form-row input[type="tel"], .form-row textarea {
  width: 100%;
  min-height: 56px;
  padding: 13px 15px;
  color: var(--riz-ink);
  background: #fafafa;
  border: 1px solid rgba(11,26,47,.22);
  border-radius: 0;
  outline: 0;
  transition: border-color .2s ease, box-shadow .2s ease, background .2s ease;
}
.form-row textarea { min-height: 210px; resize: vertical; }
.form-row input:focus, .form-row textarea:focus { background: #fff; border-color: var(--riz-blue); box-shadow: 0 0 0 3px rgba(43,108,174,.14); }
.form-options { display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px; padding: 0; border: 0; }
.form-options legend, .form-method legend { grid-column: 1 / -1; }
.form-options label { display: flex; align-items: center; min-height: 50px; margin: 0; padding: 10px 12px; background: var(--riz-paper); cursor: pointer; }
.form-options label span { margin: 0 0 0 10px; color: var(--riz-ink); font-size: 11px; font-weight: 650; letter-spacing: 0; }
.form-method { display: flex; flex-wrap: wrap; gap: 11px 24px; padding: 0; border: 0; }
.form-method legend { width: 100%; }
.form-method label { display: flex; align-items: center; gap: 8px; margin: 0; }
.form-method label span { margin: 0; color: var(--riz-ink); font-size: 12px; }
.form-help { margin: 9px 0 0; color: var(--riz-ink-soft); font-size: 10px; }
.form-consent { display: flex; align-items: flex-start; gap: 12px; margin: 8px 0 0; padding: 20px; background: var(--riz-paper); font-size: 11px; cursor: pointer; }
.form-consent input { margin-top: 7px; }
.form-consent a { color: var(--riz-blue-deep); text-decoration: underline; text-underline-offset: 3px; }
.form-submit { display: flex; align-items: center; justify-content: space-between; width: 100%; margin-top: 28px; padding: 20px 23px; color: #fff; background: var(--riz-ink); border: 1px solid var(--riz-ink); border-radius: 0; font-size: 13px; font-weight: 750; letter-spacing: .08em; cursor: pointer; transition: color .25s ease, background .25s ease; }
.form-submit:hover, .form-submit:focus-visible { color: var(--riz-ink); background: transparent; }
.form-trap { position: absolute !important; left: -10000px !important; width: 1px !important; height: 1px !important; overflow: hidden !important; }

/* Privacy policy */
.policy-page { background: #fff; }
.policy-hero { padding: 190px 0 95px; background: var(--riz-paper); border-bottom: 1px solid var(--riz-line); }
.policy-hero h1 { margin: 0; font-family: var(--riz-serif); font-size: clamp(45px, 6.3vw, 82px); font-weight: 450; line-height: 1.3; letter-spacing: -.04em; }
.policy-hero .wrap > p:last-child { margin: 22px 0 0; color: var(--riz-ink-soft); }
.policy-content { padding: clamp(90px, 10vw, 145px) 0; }
.policy-content__inner { max-width: 900px; }
.policy-intro { margin: 0 0 80px; padding-bottom: 50px; color: var(--riz-ink-soft); border-bottom: 1px solid var(--riz-line); font-size: 15px; }
.policy-content section { padding: 48px 0; border-bottom: 1px solid var(--riz-line); }
.policy-content h2 { display: grid; grid-template-columns: 55px 1fr; align-items: baseline; margin: 0 0 25px; font-family: var(--riz-serif); font-size: clamp(24px, 3vw, 34px); font-weight: 500; }
.policy-content h2 span { color: var(--riz-orange); font-size: 13px; }
.policy-content p, .policy-content li { color: var(--riz-ink-soft); font-size: 13px; }
.policy-content ul { margin: 20px 0 0; padding-left: 1.45em; }
.policy-content a { color: var(--riz-blue-deep); text-decoration: underline; text-underline-offset: 3px; }
.policy-content address { margin-top: 24px; padding: 24px; color: var(--riz-ink); background: var(--riz-paper); font-size: 12px; font-style: normal; }
.policy-content .policy-date { margin: 55px 0 0; color: var(--riz-ink); text-align: right; font-size: 11px; }

@media (max-width: 1020px) {
  .lower-hero { min-height: 78svh; }
  .lower-hero__content { padding-top: 160px; }
  .contact-main__grid { grid-template-columns: 1fr; }
  .contact-guide { position: static; }
  .service-practice__panel { min-height: auto; }
  .member-detail__grid { gap: 60px; }
  .organization-pair { gap: 18px; }
}

@media (max-width: 760px) {
  .lower-hero { min-height: 82svh; }
  .lower-hero__veil { background: linear-gradient(90deg, rgba(3,10,20,.92), rgba(3,10,20,.35)), linear-gradient(0deg, rgba(2,7,15,.72), transparent 56%); }
  .lower-hero__content { padding: 145px 0 72px; }
  .lower-hero h1 { font-size: clamp(49px, 14vw, 68px); line-height: 1.25; }
  .lower-hero__content > p:last-child { margin-top: 30px; font-size: 14px; }
  .lower-hero--process .lower-hero__media img { object-position: 68% center; }
  .lower-hero--members .lower-hero__media img { object-position: 59% center; }
  .editorial-split, .contact-safety__inner, .organization-note__inner, .service-audience__head, .service-practice__head, .recruit-intro__grid, .recruit-ai-future__grid { grid-template-columns: 1fr; gap: 42px; }
  .service-audience__grid, .service-practice__pair { grid-template-columns: 1fr; }
  .service-audience__card { min-height: auto; }
  .service-practice__role { min-height: auto; }
  .editorial-split h2, .section-heading h2, .contact-guide h2 { font-size: 39px; }
  .principle-grid, .expertise-pair, .boundary-grid, .collaboration-grid, .organization-pair { grid-template-columns: 1fr; }
  .access-map { margin-top: 55px; }
  .access-map iframe { height: 330px; }
  .access-information__block h3 { margin-bottom: 26px; padding-left: 22px; }
  .access-routes { gap: 12px; }
  .access-routes li { font-size: 13px; }
  .principle-card { min-height: 310px; border-right: 0; border-bottom: 1px solid var(--riz-line) !important; }
  .principle-card:last-child { border-bottom: 0 !important; }
  .principle-card > span { margin-bottom: 35px; }
  .expertise-panel { min-height: auto; }
  .lower-cta h2 { font-size: 49px; }
  .process-item { grid-template-columns: 64px minmax(0, 1fr); gap: 22px; }
  .process-item__number { font-size: 41px; }
  .process-item h3 { font-size: 27px; }
  .contact-safety h2 { font-size: 34px; }
  .member-detail__grid { grid-template-columns: 1fr; gap: 55px; }
  .member-detail__grid--reverse .member-detail__portrait { order: 0; }
  .member-detail__portrait { width: calc(100% - 18px); }
  .member-detail h2 { font-size: 52px; }
  .member-detail__lead { font-size: 29px; }
  .member-facts div { grid-template-columns: 105px 1fr; }
  .collaboration-card { min-height: 280px; }
  .organization-card__role { min-height: auto; }
  .organization-data div { grid-template-columns: 100px 1fr; }
  .organization-data div:nth-child(4) { min-height: 0; }
  .lower-hero--recruit .lower-hero__media img { object-position: 58% center; }
  .recruit-intro h2 { font-size: 39px; }
  .recruit-ai-future::before { top: 8vw; right: -25vw; font-size: 82vw; }
  .recruit-ai-future h2 { font-size: 40px; }
  .recruit-ai-principles { grid-template-columns: 1fr; }
  .recruit-ai-principle { min-height: auto; padding-inline: 5px; border-right: 0; border-bottom: 1px solid var(--riz-line); }
  .recruit-ai-principle:last-child { border-bottom: 0; }
  .recruit-ai-principle > span { margin-bottom: 30px; }
  .recruit-ai-future__closing { font-size: 36px; text-align: left; }
  .recruit-belief__head h2 { font-size: 49px; }
  .recruit-perspectives, .recruit-value-list { grid-template-columns: 1fr; }
  .recruit-perspective { min-height: auto; }
  .recruit-value { min-height: auto; padding-inline: 5px; border-right: 0; border-bottom: 1px solid var(--riz-line); }
  .recruit-value:last-child { border-bottom: 0; }
  .recruit-contact { min-height: auto; }
  .recruit-contact__media img { object-position: 58% center; }
  .recruit-contact h2 { font-size: 49px; }
  .contact-hero { padding: 150px 0 75px; }
  .contact-hero h1 { font-size: clamp(48px, 13.8vw, 66px); }
  .contact-hero__mobile-break { display: initial; }
  .contact-hero__inner > p:last-child br { display: none; }
  .contact-form-panel { margin-inline: -8px; padding: 34px 24px; }
  .form-row--split, .form-options { grid-template-columns: 1fr; }
  .form-options legend { grid-column: auto; }
  .policy-hero { padding: 150px 0 72px; }
  .policy-content h2 { grid-template-columns: 42px 1fr; }
}

@media (max-width: 390px) {
	.header-inner { gap: 10px; }
	.brand-link { gap: 8px; }
	.brand-link img { width: 66px; }
	.brand-identities { gap: 1px; padding-left: 8px; font-size: 9px; letter-spacing: 0; }
	.brand-identities__company { font-size: 8px; }
	.menu-toggle { width: 42px; height: 42px; }
	.hero-identity { padding-left: 14px; }
	.hero-identity::after { left: 14px; }
	.hero-identity h1 { font-size: clamp(27px, 8.2vw, 32px); }
	.hero-identity__company strong { font-size: 11px; }
	.lower-hero h1, .contact-hero h1 { font-size: 44px; }
	.organization-hero__mobile-break { display: initial; }
	.lower-hero--organizations h1 { font-size: 40px; line-height: 1.3; }
  .lower-cta h2 { font-size: 42px; }
  .editorial-split h2, .section-heading h2, .contact-guide h2 { font-size: 34px; }
  .member-detail h2 { font-size: 44px; }
  .recruit-ai-future h2 { font-size: 36px; }
  .recruit-ai-future__closing { font-size: 32px; }
  .recruit-belief__head h2, .recruit-contact h2 { font-size: 43px; }
  .organization-card__head h3 { font-size: 25px; }
  .organization-data div { grid-template-columns: 1fr; gap: 7px; }
}

/* About: origin story, director message and two-organization definition */
.about-origin-message { position: relative; padding: clamp(105px, 11vw, 170px) 0; overflow: hidden; background: #fff; }
.about-origin-message::before { position: absolute; top: 0; right: max(32px, calc((100vw - 1220px) / 2)); width: 1px; height: 100%; content: ""; background: linear-gradient(transparent, rgba(43,108,174,.2) 18%, rgba(218,106,48,.22) 82%, transparent); }
.about-origin-message__inner { display: grid; grid-template-columns: minmax(270px, .72fr) minmax(0, 1.28fr); gap: clamp(58px, 9vw, 130px); align-items: start; }
.about-origin-message__head { position: sticky; top: 135px; }
.about-origin-message__head h2, .about-definition__intro h2 { margin: 0; font-family: var(--riz-serif); font-size: clamp(42px, 5vw, 68px); font-weight: 450; line-height: 1.45; letter-spacing: .015em; }
.about-origin-message__lead { margin: 34px 0 0; color: var(--riz-ink-soft); font-family: var(--riz-serif); font-size: clamp(18px, 2vw, 23px); line-height: 2; }
.about-origin-message__body > p { margin: 0 0 30px; color: var(--riz-ink-soft); font-size: 15px; line-height: 2.15; }
.riz-letters { display: grid; gap: 14px; margin: 48px 0 54px; }
.riz-letter { display: grid; grid-template-columns: 88px 1fr; gap: 26px; align-items: center; min-height: 142px; padding: 26px 30px; border: 1px solid var(--riz-line); background: var(--riz-paper); }
.riz-letter > strong { display: grid; place-items: center; width: 76px; height: 76px; color: #fff; background: var(--riz-ink); border-radius: 50%; font-family: var(--riz-serif); font-size: 43px; font-weight: 500; }
.riz-letter--revolution > strong { background: var(--riz-blue-deep); }
.riz-letter--integration > strong { background: linear-gradient(135deg, var(--riz-blue), var(--riz-orange)); }
.riz-letter--zenith > strong { background: var(--riz-orange-deep); }
.riz-letter small { color: var(--riz-orange-deep); font-size: 10px; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; }
.riz-letter h3 { margin: 3px 0 6px; font-size: 19px; }
.riz-letter p { margin: 0; color: var(--riz-ink-soft); font-size: 13px; line-height: 1.8; }
.about-origin-message__body .about-origin-message__statement { margin: 54px 0; padding: 34px 0 34px 30px; color: var(--riz-ink); border-left: 3px solid var(--riz-orange); font-family: var(--riz-serif); font-size: clamp(24px, 3vw, 35px); font-weight: 500; line-height: 1.75; }
.about-origin-message__body .about-origin-message__questions { margin: 48px 0; color: var(--riz-ink); font-family: var(--riz-serif); font-size: clamp(21px, 2.5vw, 30px); font-weight: 500; line-height: 1.9; }
.about-origin-message__body .about-origin-message__closing { margin-top: 54px; color: var(--riz-ink); font-family: var(--riz-serif); font-size: 18px; }
.about-origin-message__closing span { display: block; margin-bottom: 14px; color: var(--riz-orange-deep); font-weight: 700; }
.about-origin-message__signoff { display: flex; justify-content: flex-end; align-items: flex-end; gap: 24px; margin-top: 58px; padding-top: 34px; border-top: 1px solid var(--riz-line); }
.about-origin-message__signoff p { margin: 0; color: var(--riz-ink-soft); font-size: 12px; line-height: 1.9; text-align: right; }
.about-origin-message__signoff strong { color: var(--riz-ink); font-size: 14px; }
.about-origin-message__signoff img { width: min(270px, 42vw); height: auto; }
.about-definition { padding: clamp(100px, 11vw, 165px) 0; color: #fff; background: var(--riz-ink); }
.about-definition__intro { max-width: 880px; }
.about-definition__intro > p:last-child { max-width: 820px; margin: 34px 0 0; color: rgba(255,255,255,.72); font-size: clamp(16px, 2vw, 20px); line-height: 2; }
.about-definition__organizations { display: grid; grid-template-columns: 1fr 150px 1fr; margin-top: 74px; border: 1px solid rgba(255,255,255,.18); }
.about-definition__card { min-height: 310px; padding: clamp(38px, 5vw, 62px); background: rgba(5,17,32,.55); }
.about-definition__card--office { box-shadow: inset 0 4px 0 var(--riz-blue); }
.about-definition__card--company { box-shadow: inset 0 4px 0 var(--riz-orange); }
.about-definition__card h3 { margin: 25px 0 20px; font-family: var(--riz-serif); font-size: clamp(27px, 3vw, 39px); font-weight: 500; line-height: 1.5; }
.about-definition__card > p:last-child { margin: 0; color: rgba(255,255,255,.68); font-size: 14px; }
.about-definition__bridge { display: grid; place-items: center; padding: 26px 15px; border-inline: 1px solid rgba(255,255,255,.18); background: rgba(255,255,255,.035); text-align: center; }
.about-definition__bridge span { color: #f1a076; font-size: 10px; font-weight: 800; line-height: 1.8; letter-spacing: .16em; text-transform: uppercase; }
.about-definition__note { margin: 40px 0 0; padding: 28px 32px; color: rgba(255,255,255,.76); border: 1px solid rgba(255,255,255,.16); font-size: 14px; }
@media (max-width: 900px) {
  .about-origin-message__inner { grid-template-columns: 1fr; }
  .about-origin-message__head { position: static; }
  .about-definition__organizations { grid-template-columns: 1fr; }
  .about-definition__bridge { min-height: 100px; border: 0; border-block: 1px solid rgba(255,255,255,.18); }
}
@media (max-width: 620px) {
  .about-origin-message::before { display: none; }
  .riz-letter { grid-template-columns: 58px 1fr; gap: 18px; padding: 23px 20px; }
  .riz-letter > strong { width: 56px; height: 56px; font-size: 31px; }
  .about-origin-message__body .about-origin-message__statement { padding-left: 22px; }
  .about-origin-message__signoff { display: grid; justify-items: end; }
  .about-origin-message__signoff img { width: min(300px, 78vw); }
  .about-definition__card { min-height: 0; }
  .about-definition__note { padding: 24px 22px; }
}

/* --------------------------------------------------------------------------
   v0.5.0 — editorial design system, pictograms and stronger navigation
   Existing cinematic and scroll-motion mechanics remain unchanged.
   -------------------------------------------------------------------------- */

.riz-icon {
  display: block;
  width: 1em;
  height: 1em;
  overflow: visible;
}

a:focus-visible,
button:focus-visible,
input:focus-visible,
textarea:focus-visible {
  outline: 3px solid rgba(218, 106, 48, .72);
  outline-offset: 4px;
}

.site-nav a { font-size: 13px; }
.site-nav .menu-contact a { padding: 12px 20px; }
.footer-nav a { font-size: 12px; font-weight: 650; }
.text-link { font-size: 14px; }
.cinematic-hero__actions .text-link { padding-block: 12px; font-size: 15px; }
.cta-button { min-height: 66px; padding-inline: 26px; font-size: 15px; }
.access-map-link { display: inline-flex; align-items: center; min-height: 48px; margin-top: 26px; padding: 0 18px; color: #fff; background: var(--riz-ink); border: 1px solid var(--riz-ink); font-size: 13px; transition: color .25s ease, background .25s ease; }
.access-map-link:hover,
.access-map-link:focus-visible { color: var(--riz-ink); background: transparent; }

.icon-orbit {
  display: grid !important;
  place-items: center;
  width: 66px;
  height: 66px;
  margin: 0;
  color: #fff;
  border: 1px solid rgba(255,255,255,.28);
  border-radius: 50%;
  background: rgba(255,255,255,.055);
}
.icon-orbit .riz-icon { width: 29px; height: 29px; }
.icon-orbit--ink {
  color: var(--riz-blue-deep);
  border-color: rgba(43,108,174,.24);
  background: rgba(43,108,174,.06);
}

.feature-link {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 28px;
  width: min(760px, 100%);
  margin: clamp(55px, 7vw, 92px) auto 0;
  padding: 27px 30px;
  color: var(--riz-ink);
  background: #fff;
  border: 1px solid var(--riz-line);
  box-shadow: 0 18px 48px rgba(11,26,47,.08);
  transition: color .35s ease, background .35s ease, border-color .35s ease, transform .35s var(--riz-ease), box-shadow .35s ease;
}
.feature-link > span:first-child {
  font-family: var(--riz-serif);
  font-size: clamp(19px, 2.1vw, 27px);
  font-weight: 550;
  line-height: 1.45;
}
.feature-link small {
  display: block;
  margin-bottom: 5px;
  color: var(--riz-blue);
  font-family: var(--riz-body);
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .18em;
  text-transform: uppercase;
}
.feature-link__arrow {
  display: grid;
  place-items: center;
  flex: 0 0 54px;
  height: 54px;
  border: 1px solid currentColor;
  border-radius: 50%;
  font-size: 20px;
  transition: transform .35s var(--riz-ease);
}
.feature-link:hover,
.feature-link:focus-visible {
  color: #fff;
  background: var(--riz-ink);
  border-color: var(--riz-ink);
  box-shadow: 0 24px 58px rgba(11,26,47,.18);
  transform: translateY(-4px);
}
.feature-link:hover small,
.feature-link:focus-visible small { color: #98c6ef; }
.feature-link:hover .feature-link__arrow,
.feature-link:focus-visible .feature-link__arrow { transform: translate(3px,-3px); }
.feature-link--light,
.feature-link--glass {
  color: #fff;
  background: rgba(255,255,255,.07);
  border-color: rgba(255,255,255,.28);
  box-shadow: none;
  backdrop-filter: blur(16px);
}
.feature-link--light small,
.feature-link--glass small { color: #87b8e7; }
.feature-link--light:hover,
.feature-link--light:focus-visible,
.feature-link--glass:hover,
.feature-link--glass:focus-visible {
  color: var(--riz-ink);
  background: #fff;
  border-color: #fff;
}
.feature-link--light:hover small,
.feature-link--light:focus-visible small,
.feature-link--glass:hover small,
.feature-link--glass:focus-visible small { color: var(--riz-orange-deep); }
.feature-link--left { margin-inline: 0; }
.feature-link--paper { background: rgba(255,255,255,.82); }

/* Top: concept proof */
.promise-proof__item > .icon-orbit { margin-bottom: 54px; }
.promise-proof__item:nth-child(1) .icon-orbit { color: #8cc2f1; }
.promise-proof__item:nth-child(2) .icon-orbit { color: #d8e0e8; }
.promise-proof__item:nth-child(3) .icon-orbit { color: #f0a176; }
.brand-promise > .feature-link { position: relative; z-index: 2; }
.scroll-story__label span { font-size: 17px; }
.scroll-story__label span .riz-icon { width: 18px; height: 18px; }

/* Top: concerns */
.need-card__icon {
  position: relative;
  z-index: 2;
  display: grid;
  place-items: center;
  width: 56px;
  height: 56px;
  margin-bottom: auto;
  color: currentColor;
  border: 1px solid currentColor;
  border-radius: 50%;
  opacity: .72;
}
.need-card__icon .riz-icon { width: 25px; height: 25px; }
.need-card:hover .need-card__icon { opacity: 1; }

/* Top: resource choice diagram */
.resource-strategy__steps { overflow: visible; }
.resource-strategy__steps li { position: relative; }
.resource-strategy__steps li:not(:last-child)::after {
  content: "→";
  position: absolute;
  z-index: 2;
  top: 50%;
  right: -17px;
  display: grid;
  place-items: center;
  width: 34px;
  height: 34px;
  color: var(--riz-orange-deep);
  background: #fff;
  border: 1px solid var(--riz-line);
  border-radius: 50%;
  transform: translateY(-50%);
}
.resource-strategy__steps .strategy-icon {
  display: grid;
  place-items: center;
  width: 66px;
  height: 66px;
  margin-bottom: 46px;
  color: var(--riz-orange-deep);
  border: 1px solid rgba(218,106,48,.28);
  border-radius: 50%;
  background: rgba(218,106,48,.055);
}
.strategy-icon .riz-icon { width: 28px; height: 28px; }

/* Top: process teaser */
.action-flow {
  display: grid;
  grid-template-columns: 1fr auto 1fr auto 1fr auto 1fr;
  align-items: center;
  gap: 14px;
  width: min(1040px, 100%);
  margin: 58px 0 0;
  padding: 28px;
  border: 1px solid rgba(255,255,255,.25);
  background: rgba(3,10,20,.38);
  backdrop-filter: blur(12px);
}
.action-flow > span { display: flex; align-items: center; gap: 12px; color: rgba(255,255,255,.86); }
.action-flow > span .riz-icon { flex: 0 0 25px; width: 25px; height: 25px; color: #f1a076; }
.action-flow b { font-size: 13px; font-weight: 650; }
.action-flow i { color: rgba(255,255,255,.42); font-style: normal; }

/* About: gateways */
.about-gateway {
  padding: clamp(120px, 14vw, 205px) 0;
  color: #fff;
  background: linear-gradient(125deg, #061326, #0b355c 70%, #713116 145%);
}
.gateway-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1px;
  margin-top: 76px;
  background: rgba(255,255,255,.2);
  border: 1px solid rgba(255,255,255,.2);
}
.gateway-card {
  position: relative;
  min-height: 400px;
  padding: clamp(32px, 4vw, 54px);
  background: rgba(4,15,30,.72);
  transition: background .35s ease, transform .35s var(--riz-ease);
}
.gateway-card small { display: block; margin: 48px 0 15px; color: #8fbce6; font-size: 9px; font-weight: 800; letter-spacing: .18em; text-transform: uppercase; }
.gateway-card strong { display: block; font-family: var(--riz-serif); font-size: clamp(25px, 3vw, 38px); font-weight: 500; line-height: 1.55; }
.gateway-card > b { position: absolute; right: 32px; bottom: 30px; display: grid; place-items: center; width: 48px; height: 48px; border: 1px solid rgba(255,255,255,.5); border-radius: 50%; font-size: 18px; }
.gateway-card:hover,
.gateway-card:focus-visible { background: rgba(255,255,255,.13); transform: translateY(-5px); }


/* About gateway — compact colorful 4-up layout */
.about-gateway {
  padding: clamp(88px, 10vw, 132px) 0;
  color: #fff;
  background:
    radial-gradient(circle at 12% 18%, rgba(255,255,255,.08), transparent 18%),
    radial-gradient(circle at 86% 24%, rgba(255,255,255,.08), transparent 20%),
    linear-gradient(125deg, #08192f 0%, #0c2e52 55%, #123d67 100%);
}
.about-gateway .section-heading--light {
  margin-bottom: 44px;
}
.about-gateway .section-heading--light h2 {
  line-height: 1.28;
}
.gateway-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 18px;
  margin-top: 44px;
  background: transparent;
  border: 0;
}
.gateway-card {
  position: relative;
  isolation: isolate;
  min-height: 260px;
  padding: 30px 28px 30px;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.14);
  border-radius: 8px;
  background: linear-gradient(180deg, rgba(255,255,255,.14), rgba(255,255,255,.07));
  box-shadow: 0 18px 38px rgba(5,15,30,.18);
  transition: transform .35s var(--riz-ease), box-shadow .35s var(--riz-ease), background .35s ease;
}
.gateway-card::before,
.gateway-card::after {
  content: "";
  position: absolute;
  z-index: -1;
  border-radius: 50%;
  pointer-events: none;
}
.gateway-card::before {
  width: 170px;
  height: 170px;
  right: -58px;
  bottom: -72px;
  background: rgba(255,255,255,.08);
}
.gateway-card::after {
  width: 120px;
  height: 120px;
  top: -48px;
  right: -22px;
  background: rgba(255,255,255,.09);
}
.gateway-card .icon-orbit {
  width: 60px;
  height: 60px;
  color: #fff;
  border-color: rgba(255,255,255,.26);
  background: rgba(255,255,255,.10);
}
.gateway-card .icon-orbit .riz-icon {
  width: 26px;
  height: 26px;
}
.gateway-card small {
  display: block;
  margin: 24px 0 12px;
  color: rgba(255,255,255,.76);
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .2em;
  text-transform: uppercase;
}
.gateway-card strong {
  display: block;
  max-width: 10em;
  font-family: var(--riz-serif);
  font-size: clamp(21px, 2.05vw, 31px);
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: -.03em;
}
.gateway-card > b {
  position: absolute;
  right: 22px;
  bottom: 20px;
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  border: 1px solid rgba(255,255,255,.45);
  border-radius: 50%;
  font-size: 18px;
}
.gateway-card:hover,
.gateway-card:focus-visible {
  transform: translateY(-5px);
  box-shadow: 0 28px 56px rgba(5,15,30,.28);
  background: linear-gradient(180deg, rgba(255,255,255,.18), rgba(255,255,255,.10));
}
.gateway-card--support {
  background: linear-gradient(160deg, rgba(111,166,216,.78), rgba(72,104,140,.82));
}
.gateway-card--process {
  background: linear-gradient(160deg, rgba(10,34,68,.94), rgba(15,74,121,.88));
}
.gateway-card--organizations {
  background: linear-gradient(160deg, rgba(11,44,80,.92), rgba(39,92,138,.82));
}
.gateway-card--members {
  background: linear-gradient(160deg, rgba(34,53,94,.94), rgba(97,120,183,.86));
}

/* Services: pictogram navigation and concern cards */
.service-audience__card > .icon-orbit { margin-bottom: 38px; }
.concern-index__grid a { position: relative; padding-right: 58px; }
.concern-index__grid a span { color: #397b78; background: rgba(57,123,120,.09); border: 1px solid rgba(57,123,120,.24); border-radius: 50%; }
.concern-index__grid a span .riz-icon { width: 20px; height: 20px; }
.concern-index__grid a b { position: absolute; right: 23px; color: var(--riz-orange-deep); font-size: 17px; font-weight: 500; transition: transform .25s ease; }
.concern-index__grid a:hover span,
.concern-index__grid a:focus-visible span { color: #fff; background: rgba(255,255,255,.12); border-color: rgba(255,255,255,.32); }
.concern-index__grid a:hover b,
.concern-index__grid a:focus-visible b { color: #fff; transform: translateY(4px); }
.concern-domain__head > span { border-radius: 50%; }
.concern-domain__head > span .riz-icon { width: 32px; height: 32px; }
.concern-domain li {
  margin-bottom: 8px;
  padding: 17px 48px 17px 20px;
  border: 1px solid var(--riz-line);
  background: #fff;
  font-weight: 600;
}
.concern-domain li::before {
  content: "→";
  top: 50%;
  right: 18px;
  left: auto;
  width: auto;
  height: auto;
  color: var(--riz-orange-deep);
  background: transparent;
  transform: translateY(-50%);
}
.service-practice__pair--three { grid-template-columns: repeat(3, 1fr); }
.service-practice__pair--three .service-practice__panel { min-height: 610px; }
.service-practice__panel > .icon-orbit { margin-bottom: 30px; }
.service-practice__panel--neutral { box-shadow: inset 0 4px 0 rgba(255,255,255,.5); }
.service-practice__panel--neutral .service-practice__origin { color: rgba(255,255,255,.65); }
.service-practice__panel--neutral li::before { background: rgba(255,255,255,.55); }

/* Process: icon-led connected timeline */
.process-list { position: relative; border-top: 0; }
.process-list::before {
  content: "";
  position: absolute;
  top: 68px;
  bottom: 68px;
  left: 48px;
  width: 1px;
  background: linear-gradient(var(--riz-blue), var(--riz-orange));
}
.process-item {
  position: relative;
  grid-template-columns: 98px minmax(0, 1fr);
  gap: clamp(35px, 7vw, 100px);
  border-bottom: 0;
}
.process-item::after {
  content: "";
  position: absolute;
  inset: auto 0 0 98px;
  height: 1px;
  background: var(--riz-line);
}
.process-item__icon {
  position: relative;
  z-index: 2;
  display: grid;
  place-items: center;
  width: 98px;
  height: 98px;
  color: var(--riz-orange-deep);
  background: #fff;
  border: 1px solid rgba(218,106,48,.35);
  border-radius: 50%;
  box-shadow: 0 0 0 10px #fff;
}
.process-item__icon .riz-icon { width: 37px; height: 37px; }
.process-retained {
  display: grid;
  grid-template-columns: 130px 1fr;
  gap: clamp(35px, 7vw, 90px);
  align-items: center;
  margin-top: 90px;
  padding: clamp(36px, 6vw, 72px);
  color: #fff;
  background: linear-gradient(120deg, var(--riz-ink), #0f4778);
}
.process-retained__icon { display: grid; place-items: center; width: 110px; height: 110px; color: #f1a076; border: 1px solid rgba(255,255,255,.3); border-radius: 50%; }
.process-retained__icon .riz-icon { width: 44px; height: 44px; }
.process-retained h3 { margin: 0; font-family: var(--riz-serif); font-size: clamp(29px, 4vw, 48px); font-weight: 500; }
.process-retained p:last-child { max-width: 720px; margin: 19px 0 0; color: rgba(255,255,255,.7); }
.boundary-card > .icon-orbit { margin-bottom: 40px; color: #8fc1ee; }

/* Members: two lenses */
.two-lenses {
  display: grid;
  grid-template-columns: 1fr 150px 1fr;
  align-items: stretch;
  margin-top: 76px;
  border: 1px solid rgba(255,255,255,.18);
}
.lens-card { min-height: 450px; padding: clamp(38px, 5vw, 66px); background: rgba(5,17,32,.64); }
.lens-card--blue { box-shadow: inset 0 4px 0 var(--riz-blue); }
.lens-card--orange { box-shadow: inset 0 4px 0 var(--riz-orange); }
.lens-card__origin { margin: 42px 0 14px; color: #8fbae3; font-size: 10px; font-weight: 800; letter-spacing: .16em; }
.lens-card--orange .lens-card__origin { color: #f1a076; }
.lens-card h3 { margin: 0; font-family: var(--riz-serif); font-size: clamp(28px, 3.2vw, 43px); font-weight: 500; line-height: 1.55; }
.lens-card > p:last-child { margin: 28px 0 0; color: rgba(255,255,255,.67); font-size: 13px; }
.lens-bridge { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 24px; color: rgba(255,255,255,.62); border-inline: 1px solid rgba(255,255,255,.18); background: rgba(255,255,255,.035); text-align: center; }
.lens-bridge span { font-size: 9px; font-weight: 800; line-height: 1.5; letter-spacing: .18em; }
.lens-bridge .riz-icon { width: 38px; height: 38px; color: #f1a076; }

/* Organizations: visual responsibility map */
.organization-card__head { position: relative; }
.organization-card__icon { position: absolute; top: 34px; right: 34px; display: grid; place-items: center; width: 58px; height: 58px; border: 1px solid rgba(255,255,255,.35); border-radius: 50%; }
.organization-card__icon .riz-icon { width: 26px; height: 26px; }
.contract-layout { display: grid; grid-template-columns: .78fr 1.22fr; gap: clamp(55px, 9vw, 135px); align-items: center; }
.contract-layout__copy h2 { margin: 0; font-family: var(--riz-serif); font-size: clamp(40px, 5.4vw, 68px); font-weight: 450; line-height: 1.45; }
.contract-layout__copy > p:not(.section-kicker) { margin: 30px 0 0; color: var(--riz-ink-soft); font-size: 14px; }
.contract-map { padding: clamp(30px, 5vw, 54px); background: var(--riz-paper); border: 1px solid var(--riz-line); }
.contract-map__entry,
.contract-map__decision { display: grid; grid-template-columns: 54px 1fr; column-gap: 18px; align-items: center; padding: 20px; background: #fff; border: 1px solid var(--riz-line); }
.contract-map__entry > span,
.contract-map__decision > span { grid-row: 1 / 3; display: grid; place-items: center; width: 54px; height: 54px; color: var(--riz-blue-deep); border: 1px solid rgba(43,108,174,.24); border-radius: 50%; }
.contract-map__entry .riz-icon,
.contract-map__decision .riz-icon { width: 24px; height: 24px; }
.contract-map small { color: var(--riz-blue); font-size: 8px; font-weight: 800; letter-spacing: .17em; }
.contract-map strong { font-family: var(--riz-serif); font-size: 18px; font-weight: 550; }
.contract-map__arrow { display: grid; place-items: center; height: 58px; color: var(--riz-orange-deep); }
.contract-map__arrow .riz-icon { width: 26px; height: 26px; transform: rotate(90deg); }
.contract-map__branches { display: grid; grid-template-columns: 1fr 1fr; height: 46px; }
.contract-map__branches i { position: relative; border-top: 1px solid var(--riz-line); }
.contract-map__branches i:first-child { border-right: 1px solid var(--riz-line); }
.contract-map__branches i::after { content: ""; position: absolute; top: 0; width: 1px; height: 46px; background: var(--riz-line); }
.contract-map__branches i:first-child::after { left: 50%; }
.contract-map__branches i:last-child::after { right: 50%; }
.contract-map__destinations { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.contract-map__destinations > div { min-height: 112px; padding: 20px; background: #fff; border-top: 3px solid var(--riz-blue); }
.contract-map__destinations > div:last-child { border-color: var(--riz-orange); }
.contract-map__destinations strong { display: block; margin-top: 5px; font-size: 14px; line-height: 1.55; }
.contract-map > p { margin: 22px 0 0; color: var(--riz-ink-soft); font-size: 10px; text-align: center; }

/* Recruitment */
.recruit-ai-principle > .icon-orbit,
.recruit-value > .icon-orbit { margin-bottom: 38px; }
.recruit-perspective > .icon-orbit { margin-bottom: 38px; }

/* Contact */
.contact-guide__points li { display: flex; align-items: center; gap: 13px; padding-left: 0; }
.contact-guide__points li::before { display: none; }
.contact-guide__points .riz-icon { flex: 0 0 21px; width: 21px; height: 21px; color: var(--riz-blue); }
.contact-guide__methods li { display: flex; align-items: center; gap: 8px; }
.contact-guide__methods .riz-icon { flex: 0 0 18px; width: 18px; height: 18px; color: var(--riz-blue); }

@media (max-width: 1020px) {
  .service-practice__pair--three { grid-template-columns: 1fr; }
  .service-practice__pair--three .service-practice__panel { min-height: auto; }
  .gateway-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
  .gateway-card { min-height: 240px; }
  .contract-layout { grid-template-columns: 1fr; }
  .two-lenses { grid-template-columns: 1fr 110px 1fr; }
}

@media (max-width: 760px) {
  .site-nav a { font-size: 14px; }
  .feature-link { padding: 22px 20px; }
  .feature-link > span:first-child { font-size: 19px; }
  .feature-link__arrow { flex-basis: 46px; height: 46px; }
  .promise-proof__item > .icon-orbit { margin-bottom: 28px; }
  .resource-strategy__steps li:not(:last-child)::after { top: auto; right: 50%; bottom: -17px; transform: translateX(50%) rotate(90deg); }
  .action-flow { grid-template-columns: 1fr; gap: 9px; padding: 22px; }
  .action-flow > span { min-height: 48px; }
  .action-flow i { padding-left: 7px; transform: rotate(90deg); transform-origin: left center; }
  .gateway-grid { grid-template-columns: 1fr; }
  .gateway-card { min-height: 220px; padding: 26px 22px 24px; }
  .gateway-card strong { max-width: none; font-size: clamp(24px, 7vw, 30px); }
  .gateway-card > b { width: 40px; height: 40px; right: 18px; bottom: 18px; }
  .concern-index__grid a { padding-right: 47px; }
  .concern-index__grid a b { right: 15px; }
  .concern-domain__head > span .riz-icon { width: 24px; height: 24px; }
  .process-list::before { left: 31px; }
  .process-item { grid-template-columns: 62px minmax(0, 1fr); gap: 23px; }
  .process-item::after { left: 62px; }
  .process-item__icon { width: 62px; height: 62px; box-shadow: 0 0 0 7px #fff; }
  .process-item__icon .riz-icon { width: 25px; height: 25px; }
  .process-retained { grid-template-columns: 1fr; }
  .process-retained__icon { width: 82px; height: 82px; }
  .two-lenses { grid-template-columns: 1fr; }
  .lens-card { min-height: auto; }
  .lens-bridge { min-height: 120px; flex-direction: row; border: 0; border-block: 1px solid rgba(255,255,255,.18); }
  .lens-bridge .riz-icon { transform: rotate(90deg); }
  .organization-card__icon { top: 28px; right: 28px; width: 48px; height: 48px; }
  .contract-map__destinations { grid-template-columns: 1fr; }
  .contract-map__branches { display: none; }
  .contract-map__destinations { margin-top: 12px; }
  .contact-guide__methods ul { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 390px) {
  .feature-link > span:first-child { font-size: 17px; }
  .feature-link__arrow { flex-basis: 42px; height: 42px; }
  .contract-map { padding: 20px 15px; }
  .contract-map__entry,
  .contract-map__decision { grid-template-columns: 44px 1fr; padding: 15px; }
  .contract-map__entry > span,
  .contract-map__decision > span { width: 44px; height: 44px; }
}


/* Services responsive text optimization — 2026-08-20 */
.concern-page-hero__title span { display:block; }
.concern-page-hero__title,
.concern-page-hero__lead,
.concern-intro h2,
.service-audience__head h2,
.service-audience__card h3,
.service-practice__head h2,
.concern-index h2,
.concern-domain__head h2,
.concern-note h2,
.concern-cta h2 { text-wrap: balance; }
@media (max-width: 768px) {
  .concern-page-hero__title,
  .concern-page-hero__lead,
  .concern-intro h2,
  .service-audience__head h2,
  .service-audience__card h3,
  .service-practice__head h2,
  .concern-index h2,
  .concern-domain__head h2,
  .concern-note h2,
  .concern-cta h2 { text-wrap: pretty; overflow-wrap: break-word; }
}


/* =========================================================
   Services / 支援内容 — Editorial Consulting redesign v0.5.14
   Scope: .concern-page only. Visible copy is unchanged.
   ========================================================= */

/* 1. Hero — asymmetric editorial image composition */
.concern-page .concern-page-hero {
  position: relative;
  min-height: min(860px, 88svh);
  overflow: hidden;
  isolation: isolate;
  background: #071629;
}
.concern-page .concern-page-hero::before {
  content: "";
  position: absolute;
  inset: 0 0 0 43%;
  z-index: -3;
  background:
    linear-gradient(90deg, #071629 0%, rgba(7,22,41,.82) 10%, rgba(7,22,41,.18) 46%, rgba(7,22,41,.08) 100%),
    url('assets/images/dialogue-v2.webp') center 44% / cover no-repeat;
  transform: scale(1.015);
}
.concern-page .concern-page-hero::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -2;
  pointer-events: none;
  background:
    linear-gradient(90deg, #071629 0 39%, rgba(7,22,41,.96) 46%, rgba(7,22,41,.16) 74%, rgba(7,22,41,.3) 100%),
    linear-gradient(0deg, rgba(7,22,41,.8), transparent 42%);
}
.concern-page .concern-page-hero__inner {
  position: relative;
  width: min(1180px, calc(100% - 64px));
  padding: 190px 0 112px;
}
.concern-page .concern-page-hero__inner::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 77px;
  width: 84px;
  height: 2px;
  background: var(--riz-orange);
}
.concern-page .concern-page-hero h1 {
  max-width: 750px;
  font-size: clamp(58px, 6.1vw, 90px);
  line-height: 1.12;
  letter-spacing: -.052em;
  text-shadow: 0 8px 34px rgba(0,0,0,.16);
}
.concern-page .concern-page-hero h1 span {
  display: block;
  margin-top: .1em;
}
.concern-page .concern-page-hero__lead {
  max-width: 570px;
  margin-top: 46px;
  padding-left: 0;
  border-left: 0;
  color: rgba(255,255,255,.84);
  font-size: clamp(17px, 1.65vw, 23px);
}

/* 2. Intro — magazine-style white space + material image */
.concern-page .concern-intro {
  position: relative;
  overflow: hidden;
  padding: clamp(110px, 11vw, 168px) 0;
  background: #fff;
}
.concern-page .concern-intro::after {
  content: "";
  position: absolute;
  top: 50%;
  right: max(0px, calc((100vw - 1380px) / 2));
  width: clamp(180px, 20vw, 320px);
  aspect-ratio: 1 / 1.18;
  background:
    linear-gradient(180deg, rgba(7,22,41,.03), rgba(7,22,41,.22)),
    url('assets/images/hero-material-v2.webp') 59% center / cover no-repeat;
  transform: translateY(-50%);
  opacity: .98;
  box-shadow: 0 28px 70px rgba(7,22,41,.12);
}
.concern-page .concern-intro__grid {
  position: relative;
  z-index: 1;
  grid-template-columns: minmax(0,.9fr) minmax(420px,1.12fr);
  gap: clamp(64px, 9vw, 132px);
  padding-right: clamp(110px, 21vw, 340px);
}
.concern-page .concern-intro h2 {
  max-width: 8.6em;
  font-size: clamp(42px, 4.7vw, 68px);
  line-height: 1.42;
  letter-spacing: -.035em;
}
.concern-page .concern-intro__copy {
  padding-top: 56px;
  border-top: 1px solid var(--riz-line);
}
.concern-page .concern-intro__copy p {
  font-size: 14px;
  line-height: 2.05;
}

/* 3. Audience — bento cards rather than four plain boxes */
.concern-page .service-audience {
  padding: clamp(105px, 11vw, 160px) 0;
  background:
    radial-gradient(circle at 92% 8%, rgba(218,106,48,.08), transparent 28%),
    var(--riz-paper);
}
.concern-page .service-audience__grid {
  grid-template-columns: 1.15fr .85fr;
  gap: 18px;
  margin-top: 72px;
  background: transparent;
  border: 0;
}
.concern-page .service-audience__card {
  position: relative;
  min-height: 300px;
  overflow: hidden;
  padding: clamp(34px, 4vw, 54px);
  border: 1px solid rgba(7,22,41,.10);
  background: rgba(255,255,255,.92);
  box-shadow: 0 16px 44px rgba(7,22,41,.045);
  transition: transform .35s ease, box-shadow .35s ease, border-color .35s ease;
}
.concern-page .service-audience__card:nth-child(1) {
  grid-column: 1 / 2;
  grid-row: 1 / 3;
  min-height: 540px;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  background: linear-gradient(160deg, #fff 0%, #fff 58%, rgba(57,123,120,.07) 100%);
}
.concern-page .service-audience__card:nth-child(2),
.concern-page .service-audience__card:nth-child(3) {
  grid-column: 2 / 3;
  min-height: 260px;
}
.concern-page .service-audience__card:nth-child(4) {
  grid-column: 1 / -1;
  min-height: 340px;
  padding-right: 48%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  background:
    linear-gradient(90deg, #fff 0%, #fff 46%, rgba(255,255,255,.86) 58%, rgba(255,255,255,.04) 100%),
    url('assets/images/action-v2.webp') right 42% / 56% auto no-repeat;
  box-shadow: inset 0 3px 0 var(--riz-orange), 0 20px 50px rgba(7,22,41,.06);
}
.concern-page .service-audience__card:hover {
  transform: translateY(-4px);
  border-color: rgba(7,22,41,.16);
  box-shadow: 0 24px 58px rgba(7,22,41,.08);
}
.concern-page .service-audience__card h3 {
  max-width: 15em;
  font-size: clamp(26px, 2.55vw, 38px);
  line-height: 1.42;
}
.concern-page .service-audience__card > .icon-orbit {
  margin-bottom: 32px;
}

/* 4. Three domains — translucent consulting panels over one visual field */
.concern-page .service-practice {
  position: relative;
  overflow: hidden;
  isolation: isolate;
  padding: clamp(115px, 12vw, 180px) 0;
  background: #061526;
}
.concern-page .service-practice::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -2;
  background:
    linear-gradient(90deg, rgba(6,21,38,.98) 0%, rgba(6,21,38,.9) 48%, rgba(6,21,38,.72) 100%),
    url('assets/images/action-v2.webp') 76% center / cover no-repeat;
}
.concern-page .service-practice::after {
  content: "";
  position: absolute;
  width: 520px;
  height: 520px;
  right: -170px;
  top: -190px;
  z-index: -1;
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 50%;
  box-shadow: 0 0 0 90px rgba(255,255,255,.015), 0 0 0 180px rgba(255,255,255,.01);
}
.concern-page .service-practice__pair--three {
  gap: 16px;
  margin-top: 78px;
  background: transparent;
  border: 0;
}
.concern-page .service-practice__pair--three .service-practice__panel {
  min-height: 590px;
  border: 1px solid rgba(255,255,255,.15);
  background: rgba(22,43,65,.72);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  box-shadow: 0 24px 60px rgba(0,0,0,.14);
  transition: transform .35s ease, background .35s ease, border-color .35s ease;
}
.concern-page .service-practice__pair--three .service-practice__panel:nth-child(2) {
  transform: translateY(28px);
}
.concern-page .service-practice__panel:hover {
  transform: translateY(-6px);
  background: rgba(28,51,74,.88);
  border-color: rgba(255,255,255,.28);
}
.concern-page .service-practice__pair--three .service-practice__panel:nth-child(2):hover {
  transform: translateY(20px);
}
.concern-page .service-practice__panel h3 {
  font-size: clamp(34px, 3.4vw, 50px);
}
.concern-page .service-practice__role {
  min-height: 102px;
  font-size: 13.5px;
}
.concern-page .service-practice__note {
  margin-top: 58px;
}

/* 5. Index — refined navigation matrix */
.concern-page .concern-index {
  padding: clamp(115px, 12vw, 175px) 0;
  background: #f8f7f3;
}
.concern-page .concern-index__grid {
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap: 12px;
  margin-top: 66px;
  background: transparent;
  border: 0;
}
.concern-page .concern-index__grid a {
  min-height: 82px;
  border: 1px solid rgba(7,22,41,.1);
  background: rgba(255,255,255,.88);
  box-shadow: 0 10px 28px rgba(7,22,41,.025);
}
.concern-page .concern-index__grid a:hover,
.concern-page .concern-index__grid a:focus-visible {
  transform: translateY(-2px);
}

/* 6. Long concern catalogue — alternating editorial rhythm */
.concern-page .concern-catalog {
  background: #fff;
}
.concern-page .concern-domain {
  position: relative;
  min-height: 360px;
  grid-template-columns: minmax(360px,.82fr) minmax(0,1.18fr);
  align-items: center;
  padding: clamp(82px, 8.5vw, 125px) clamp(0px, 2.4vw, 34px);
  border-top: 1px solid rgba(7,22,41,.1);
}
.concern-page .concern-domain:nth-child(even) {
  grid-template-columns: minmax(0,1.18fr) minmax(360px,.82fr);
  background: linear-gradient(90deg, rgba(57,123,120,.035), rgba(255,255,255,0) 58%);
}
.concern-page .concern-domain:nth-child(even) .concern-domain__head {
  grid-column: 2;
  grid-row: 1;
}
.concern-page .concern-domain:nth-child(even) ul {
  grid-column: 1;
  grid-row: 1;
}
.concern-page .concern-domain__head {
  max-width: 560px;
}
.concern-page .concern-domain__head > span {
  width: 82px;
  height: 82px;
  background: transparent;
  color: #397b78;
  border: 1px solid rgba(57,123,120,.35);
  box-shadow: inset 0 0 0 8px rgba(57,123,120,.055);
}
.concern-page .concern-domain--cross {
  margin-inline: 0;
  padding-inline: clamp(0px, 2.4vw, 34px);
  background: linear-gradient(90deg, rgba(43,108,174,.05), rgba(218,106,48,.04));
}
.concern-page .concern-domain--cross .concern-domain__head > span {
  color: var(--riz-ink);
  background: rgba(7,22,41,.04);
}
.concern-page .concern-domain li {
  padding-block: 23px;
  font-size: 15px;
}

/* 7. Closing note — material visual as a breathing space */
.concern-page .concern-note {
  position: relative;
  overflow: hidden;
  padding: clamp(110px, 11vw, 165px) 0;
  color: #fff;
  background: #0a1e33;
}
.concern-page .concern-note::before {
  content: "";
  position: absolute;
  inset: 0 0 0 52%;
  background:
    linear-gradient(90deg, #0a1e33 0%, rgba(10,30,51,.55) 24%, rgba(10,30,51,.08) 100%),
    url('assets/images/hero-material-v2.webp') center / cover no-repeat;
}
.concern-page .concern-note__inner {
  position: relative;
  grid-template-columns: .88fr 1.12fr;
  align-items: center;
}
.concern-page .concern-note h2 {
  max-width: 9.5em;
  color: #fff;
}
.concern-page .concern-note__inner > div {
  max-width: 590px;
  padding: 38px 42px;
  background: rgba(7,22,41,.72);
  border: 1px solid rgba(255,255,255,.12);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}
.concern-page .concern-note p {
  color: rgba(255,255,255,.72);
}

/* 8. CTA — cleaner finish */
.concern-page .concern-cta {
  position: relative;
  overflow: hidden;
  background: linear-gradient(120deg, #071629 0%, #0b3356 78%, #7b3619 150%);
}
.concern-page .concern-cta::after {
  content: "";
  position: absolute;
  right: -6vw;
  top: 50%;
  width: min(42vw, 620px);
  aspect-ratio: 1;
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 50%;
  transform: translateY(-50%);
  box-shadow: 0 0 0 80px rgba(255,255,255,.015), 0 0 0 160px rgba(255,255,255,.01);
}
.concern-page .concern-cta__inner {
  position: relative;
  z-index: 1;
}

/* Responsive */
@media (max-width: 980px) {
  .concern-page .concern-page-hero::before { left: 34%; }
  .concern-page .concern-intro::after { opacity: .55; right: -90px; }
  .concern-page .concern-intro__grid { padding-right: 115px; grid-template-columns: 1fr 1.05fr; }
  .concern-page .service-audience__grid { grid-template-columns: 1fr 1fr; }
  .concern-page .service-audience__card:nth-child(1),
  .concern-page .service-audience__card:nth-child(2),
  .concern-page .service-audience__card:nth-child(3),
  .concern-page .service-audience__card:nth-child(4) { grid-column: auto; grid-row: auto; min-height: 330px; }
  .concern-page .service-audience__card:nth-child(1) { justify-content: flex-start; }
  .concern-page .service-audience__card:nth-child(4) { padding-right: clamp(34px, 4vw, 54px); justify-content: flex-start; background: #fff; }
  .concern-page .service-practice__pair--three .service-practice__panel:nth-child(2) { transform: none; }
}
@media (max-width: 768px) {
  .concern-page .concern-page-hero {
    min-height: 760px;
    align-items: flex-end;
  }
  .concern-page .concern-page-hero::before {
    inset: 0 0 45% 0;
    background:
      linear-gradient(0deg, #071629 0%, rgba(7,22,41,.25) 48%, rgba(7,22,41,.08) 100%),
      url('assets/images/dialogue-v2.webp') 43% center / cover no-repeat;
  }
  .concern-page .concern-page-hero::after {
    background: linear-gradient(0deg, #071629 0 44%, rgba(7,22,41,.86) 58%, rgba(7,22,41,.12) 100%);
  }
  .concern-page .concern-page-hero__inner {
    width: min(100% - 34px, 1180px);
    padding: 375px 0 74px;
  }
  .concern-page .concern-page-hero__inner::after { bottom: 49px; width: 58px; }
  .concern-page .concern-page-hero h1 {
    font-size: clamp(45px, 12.7vw, 62px);
    line-height: 1.16;
  }
  .concern-page .concern-page-hero__lead { margin-top: 28px; font-size: 16px; line-height: 1.75; }

  .concern-page .concern-intro { padding: 88px 0 0; }
  .concern-page .concern-intro::after {
    position: relative;
    display: block;
    top: auto;
    right: auto;
    width: calc(100% - 34px);
    max-width: none;
    margin: 70px 0 0 auto;
    aspect-ratio: 1.55 / 1;
    transform: none;
    opacity: 1;
  }
  .concern-page .concern-intro__grid {
    grid-template-columns: 1fr;
    gap: 48px;
    padding-right: 0;
  }
  .concern-page .concern-intro h2 { max-width: none; font-size: 38px; }
  .concern-page .concern-intro__copy { padding-top: 34px; }

  .concern-page .service-audience__grid,
  .concern-page .service-practice__pair--three,
  .concern-page .concern-index__grid {
    grid-template-columns: 1fr;
  }
  .concern-page .service-audience__card,
  .concern-page .service-audience__card:nth-child(2),
  .concern-page .service-audience__card:nth-child(3),
  .concern-page .service-audience__card:nth-child(4) {
    grid-column: auto;
    grid-row: auto;
    min-height: auto;
    padding: 34px 28px 38px;
  }
  .concern-page .service-audience__card:nth-child(4) {
    min-height: 420px;
    justify-content: flex-end;
    background:
      linear-gradient(180deg, rgba(255,255,255,.72) 0%, #fff 58%),
      url('assets/images/action-v2.webp') 67% 8% / 130% auto no-repeat;
  }

  .concern-page .service-practice::before {
    background:
      linear-gradient(180deg, rgba(6,21,38,.88), rgba(6,21,38,.98)),
      url('assets/images/action-v2.webp') 65% top / auto 52% no-repeat;
  }
  .concern-page .service-practice__pair--three .service-practice__panel,
  .concern-page .service-practice__pair--three .service-practice__panel:nth-child(2) {
    min-height: auto;
    transform: none;
  }
  .concern-page .service-practice__panel:hover,
  .concern-page .service-practice__pair--three .service-practice__panel:nth-child(2):hover { transform: none; }

  .concern-page .concern-domain,
  .concern-page .concern-domain:nth-child(even) {
    grid-template-columns: 1fr;
    min-height: 0;
    gap: 40px;
    padding: 72px 0;
  }
  .concern-page .concern-domain:nth-child(even) .concern-domain__head,
  .concern-page .concern-domain:nth-child(even) ul {
    grid-column: auto;
    grid-row: auto;
  }
  .concern-page .concern-domain__head > span { width: 62px; height: 62px; }
  .concern-page .concern-domain--cross { padding-inline: 17px; margin-inline: -17px; }

  .concern-page .concern-note::before {
    inset: 0;
    opacity: .36;
    background:
      linear-gradient(180deg, #0a1e33 0%, rgba(10,30,51,.92) 55%, rgba(10,30,51,.62) 100%),
      url('assets/images/hero-material-v2.webp') 58% center / cover no-repeat;
  }
  .concern-page .concern-note__inner { grid-template-columns: 1fr; gap: 42px; }
  .concern-page .concern-note__inner > div { padding: 28px 26px; }
}


/* =========================================================
   Services / 支援内容 — Compact Editorial refinement v0.5.15
   Scope: .concern-page only.
   ========================================================= */
.concern-page .concern-page-hero { min-height: min(720px, 76svh); }
.concern-page .concern-page-hero__inner { padding: 150px 0 96px; }
.concern-page .concern-page-hero h1 { max-width: 720px; font-size: clamp(58px,5.35vw,82px); line-height:1.16; }
.concern-page .concern-page-hero h1 span { display:block; margin:0; white-space:nowrap; }
.concern-page .concern-page-hero__lead { margin-top:34px; max-width:650px; }

.concern-page .concern-intro { padding: clamp(86px,8vw,118px) 0; }
.concern-page .concern-intro::after { width: clamp(160px,16vw,240px); opacity:.8; }
.concern-page .concern-intro__grid { grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr); gap:clamp(46px,6vw,88px); padding-right:clamp(70px,16vw,245px); }
.concern-page .concern-intro h2 { max-width:9.5em; font-size:clamp(38px,4vw,58px); line-height:1.34; }
.concern-page .concern-intro__copy { padding-top:26px; }
.concern-page .concern-intro__copy p { font-size:15px; line-height:1.95; }

.concern-page .service-audience { padding: clamp(82px,8vw,118px) 0; }
.concern-page .service-audience__head { grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:clamp(40px,7vw,96px); align-items:end; }
.concern-page .service-audience__head h2 { font-size:clamp(38px,4vw,58px); line-height:1.34; }
.concern-page .service-audience__grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; margin-top:54px; }
.concern-page .service-audience__card,
.concern-page .service-audience__card:nth-child(1),
.concern-page .service-audience__card:nth-child(2),
.concern-page .service-audience__card:nth-child(3),
.concern-page .service-audience__card:nth-child(4) {
  grid-column:auto; grid-row:auto; min-height:260px; padding:34px 38px 38px; display:block; background:rgba(255,255,255,.94); box-shadow:0 14px 36px rgba(7,22,41,.045); justify-content:initial;
}
.concern-page .service-audience__card:nth-child(4) { padding-right:38px; }
.concern-page .service-audience__card h3 { max-width:none; font-size:clamp(25px,2vw,33px); line-height:1.4; }
.concern-page .service-audience__card p { max-width:36em; }
.concern-page .service-audience__card > .icon-orbit { margin-bottom:22px; }

.concern-page .service-practice { padding:clamp(90px,9vw,132px) 0; }
.concern-page .service-practice__head { grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); align-items:end; gap:clamp(40px,7vw,96px); }
.concern-page .service-practice__head h2 { font-size:clamp(44px,4.4vw,64px); line-height:1.28; }
.concern-page .service-practice__pair--three { gap:16px; margin-top:54px; align-items:stretch; }
.concern-page .service-practice__pair--three .service-practice__panel,
.concern-page .service-practice__pair--three .service-practice__panel:nth-child(2) { min-height:500px; transform:none; display:flex; flex-direction:column; }
.concern-page .service-practice__panel:hover,
.concern-page .service-practice__pair--three .service-practice__panel:nth-child(2):hover { transform:translateY(-5px); }
.concern-page .service-practice__panel h3 { font-size:clamp(34px,3vw,46px); }
.concern-page .service-practice__role { min-height:108px; font-size:14px; line-height:1.9; }
.concern-page .service-practice__panel ul { margin-top:auto; }
.concern-page .service-practice__note { margin-top:42px; }

.concern-page .concern-catalog { padding:clamp(92px,9vw,132px) 0; background:#f8f7f3; }
.concern-page .concern-catalog__head { display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); column-gap:clamp(40px,7vw,96px); align-items:end; margin-bottom:54px; }
.concern-page .concern-catalog__head .section-kicker { grid-column:1; }
.concern-page .concern-catalog__head h2 { grid-column:1; margin:10px 0 0; font-size:clamp(40px,4.2vw,60px); line-height:1.25; }
.concern-page .concern-catalog__head > p:last-child { grid-column:2; grid-row:1 / 3; margin:0; max-width:40em; font-size:16px; line-height:1.9; }
.concern-page .concern-catalog__grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.concern-page .concern-domain,
.concern-page .concern-domain:nth-child(even),
.concern-page .concern-domain--cross {
  display:block; min-height:0; margin:0; padding:30px 30px 26px; border:1px solid rgba(7,22,41,.1); background:rgba(255,255,255,.94); box-shadow:0 8px 24px rgba(7,22,41,.025);
}
.concern-page .concern-domain:nth-child(even) .concern-domain__head,
.concern-page .concern-domain:nth-child(even) ul { grid-column:auto; grid-row:auto; }
.concern-page .concern-domain__head { display:grid; grid-template-columns:58px minmax(0,1fr); gap:18px; align-items:start; max-width:none; }
.concern-page .concern-domain__head > span { width:58px; height:58px; }
.concern-page .concern-domain__head h2 { font-size:clamp(23px,1.8vw,29px); line-height:1.38; }
.concern-page .concern-domain__head p { margin-top:8px; font-size:13px; line-height:1.75; }
.concern-page .concern-domain ul { margin:22px 0 0 76px; }
.concern-page .concern-domain li { padding:13px 0 13px 20px; font-size:14px; line-height:1.65; }
.concern-page .concern-domain li:last-child { border-bottom:0; }

.concern-page .concern-note { padding:clamp(86px,8vw,118px) 0; }
.concern-page .concern-note__inner { grid-template-columns:.9fr 1.1fr; gap:clamp(44px,7vw,90px); }
.concern-page .concern-note h2 { max-width:11em; font-size:clamp(38px,4vw,56px); line-height:1.38; }
.concern-page .concern-note__inner > div { padding:30px 34px; }

@media (max-width: 980px) {
  .concern-page .concern-page-hero h1 span { white-space:normal; }
  .concern-page .service-audience__grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .concern-page .service-audience__card,
  .concern-page .service-audience__card:nth-child(1),
  .concern-page .service-audience__card:nth-child(2),
  .concern-page .service-audience__card:nth-child(3),
  .concern-page .service-audience__card:nth-child(4) { min-height:270px; }
}
@media (max-width: 768px) {
  .concern-page .concern-page-hero { min-height:690px; }
  .concern-page .concern-page-hero__inner { padding:330px 0 68px; }
  .concern-page .concern-page-hero h1 { font-size:clamp(38px,10.5vw,48px); line-height:1.22; }
  .concern-page .concern-page-hero h1 span { white-space:nowrap; }
  .concern-page .concern-page-hero__lead { margin-top:22px; font-size:15px; }
  .concern-page .concern-intro { padding:72px 0 0; }
  .concern-page .concern-intro__grid,
  .concern-page .service-audience__head,
  .concern-page .service-practice__head,
  .concern-page .concern-catalog__head,
  .concern-page .concern-note__inner { grid-template-columns:1fr; gap:30px; }
  .concern-page .concern-intro h2,
  .concern-page .service-audience__head h2,
  .concern-page .service-practice__head h2,
  .concern-page .concern-catalog__head h2,
  .concern-page .concern-note h2 { font-size:36px; }
  .concern-page .concern-catalog__head > p:last-child { grid-column:1; grid-row:auto; }
  .concern-page .service-audience { padding:72px 0; }
  .concern-page .service-audience__grid,
  .concern-page .concern-catalog__grid { grid-template-columns:1fr; gap:12px; margin-top:38px; }
  .concern-page .service-audience__card,
  .concern-page .service-audience__card:nth-child(1),
  .concern-page .service-audience__card:nth-child(2),
  .concern-page .service-audience__card:nth-child(3),
  .concern-page .service-audience__card:nth-child(4) { min-height:0; padding:28px 24px 30px; }
  .concern-page .service-practice { padding:76px 0; }
  .concern-page .service-practice__pair--three { margin-top:38px; }
  .concern-page .service-practice__pair--three .service-practice__panel,
  .concern-page .service-practice__pair--three .service-practice__panel:nth-child(2) { min-height:0; }
  .concern-page .service-practice__role { min-height:0; }
  .concern-page .concern-catalog { padding:72px 0; }
  .concern-page .concern-catalog__head { margin-bottom:36px; }
  .concern-page .concern-domain,
  .concern-page .concern-domain:nth-child(even),
  .concern-page .concern-domain--cross { padding:24px 22px 20px; }
  .concern-page .concern-domain__head { grid-template-columns:50px minmax(0,1fr); gap:15px; }
  .concern-page .concern-domain__head > span { width:50px; height:50px; }
  .concern-page .concern-domain ul { margin:18px 0 0; }
  .concern-page .concern-domain li { font-size:13.5px; padding:11px 0 11px 18px; }
  .concern-page .concern-note { padding:76px 0; }
}
@media (max-width: 390px) {
  .concern-page .concern-page-hero h1 { font-size:35px; }
}



/* =========================================================
   Services visual map — vivid pictogram edition v0.5.18
   Scope: services page only
   ========================================================= */
body.page-template-page-services .concern-page-hero__title .services-hero-line,
body.page-template-page-services .concern-page-hero__title .services-hero-line--accent { display:block; }
body.page-template-page-services .concern-page-hero__title { max-width:14ch; text-wrap:balance; }
body.page-template-page-services .concern-page-hero__title .services-hero-line--accent { color:var(--riz-orange); }

/* Keep all three support panels perfectly aligned; no middle-card drift. */
body.page-template-page-services .service-practice__pair--three {
  display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); align-items:stretch; gap:20px;
}
body.page-template-page-services .service-practice__panel,
body.page-template-page-services .service-practice__panel:nth-child(2),
body.page-template-page-services .service-practice__panel.reveal,
body.page-template-page-services .service-practice__panel:nth-child(2).reveal {
  height:100%; margin:0!important; top:auto!important; transform:none!important;
}
body.page-template-page-services .service-practice__panel.is-visible { transform:none!important; }
body.page-template-page-services .service-practice__note { max-width:820px; margin-left:auto; margin-right:auto; text-align:center; }
body.page-template-page-services .feature-link--glass { max-width:1020px; margin-left:auto; margin-right:auto; }

body.page-template-page-services .service-topic-map {
  padding:clamp(78px,8vw,122px) 0;
  background:
    radial-gradient(circle at 13% 10%, rgba(43,108,174,.08), transparent 25%),
    radial-gradient(circle at 88% 17%, rgba(218,106,48,.08), transparent 26%),
    linear-gradient(180deg,#f8f6f1 0%,#f2efe8 100%);
}
body.page-template-page-services .service-topic-map__head {
  display:grid; grid-template-columns:minmax(0,1fr) minmax(320px,.82fr); gap:48px; align-items:end; margin-bottom:48px;
}
body.page-template-page-services .service-topic-map__head h2 {
  margin:8px 0 0; font-family:var(--riz-serif); font-size:clamp(46px,5vw,72px); font-weight:450; line-height:1.16; letter-spacing:-.045em; color:var(--riz-ink);
}
body.page-template-page-services .service-topic-map__head h2 span { display:block; white-space:nowrap; }
body.page-template-page-services .service-topic-map__head > p { margin:0; font-size:17px; line-height:1.9; color:#34465c; }

body.page-template-page-services .service-topic-map__visual {
  position:relative; max-width:1320px; margin:0 auto; padding:34px 34px 38px;
  border:1px solid rgba(11,38,64,.08); border-radius:28px;
  background:rgba(255,255,255,.74); box-shadow:0 30px 80px rgba(17,40,64,.08); overflow:hidden;
}
body.page-template-page-services .service-topic-map__visual::before {
  content:""; position:absolute; inset:auto 8% -46% 8%; height:68%;
  background:radial-gradient(ellipse at center,rgba(43,108,174,.10),transparent 62%); pointer-events:none;
}
body.page-template-page-services .service-topic-map__center {
  position:relative; z-index:3; width:190px; height:190px; margin:0 auto 54px; border-radius:50%;
  display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center;
  color:#fff; background:linear-gradient(145deg,#0e3158,#1f5d8d 62%,#d36a35 150%);
  border:8px solid rgba(255,255,255,.94); box-shadow:0 18px 48px rgba(9,37,65,.20),0 0 0 1px rgba(9,37,65,.10);
}
body.page-template-page-services .service-topic-map__center::before,
body.page-template-page-services .service-topic-map__center::after {
  content:""; position:absolute; border-radius:50%; border:1px solid rgba(43,108,174,.16); pointer-events:none;
}
body.page-template-page-services .service-topic-map__center::before { inset:-22px; }
body.page-template-page-services .service-topic-map__center::after { inset:-38px; border-color:rgba(218,106,48,.10); }
body.page-template-page-services .service-topic-map__center span { font-size:13px; font-weight:800; letter-spacing:.08em; }
body.page-template-page-services .service-topic-map__center strong { margin-top:8px; font-family:var(--riz-serif); font-size:31px; font-weight:500; line-height:1.18; letter-spacing:-.03em; }
body.page-template-page-services .service-topic-map__connector {
  position:absolute; z-index:1; top:224px; left:8%; right:8%; height:46px; pointer-events:none;
}
body.page-template-page-services .service-topic-map__connector::before {
  content:""; position:absolute; left:50%; top:-32px; width:1px; height:32px; background:rgba(32,70,105,.18);
}
body.page-template-page-services .service-topic-map__connector::after {
  content:""; position:absolute; left:5%; right:5%; top:0; height:1px; background:linear-gradient(90deg,rgba(43,108,174,.26),rgba(28,156,154,.25),rgba(230,135,31,.27),rgba(124,107,188,.25));
}

body.page-template-page-services .service-topic-map__grid {
  position:relative; z-index:2; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; align-items:stretch;
}
body.page-template-page-services .service-topic-map__group {
  position:relative; min-width:0; padding:0 0 18px; border:0; border-radius:22px; overflow:hidden;
  background:#fff; box-shadow:0 18px 42px rgba(16,33,61,.07); transition:transform .3s ease,box-shadow .3s ease;
}
body.page-template-page-services .service-topic-map__group:hover { transform:translateY(-5px); box-shadow:0 26px 58px rgba(16,33,61,.12); }
body.page-template-page-services .service-topic-map__group-head {
  position:relative; min-height:190px; padding:28px 24px 24px; display:flex; flex-direction:column; justify-content:space-between; align-items:flex-start; gap:20px; color:#fff;
}
body.page-template-page-services .service-topic-map__group--invention .service-topic-map__group-head { background:linear-gradient(145deg,#2b6cae,#4e8bd0); }
body.page-template-page-services .service-topic-map__group--globe .service-topic-map__group-head { background:linear-gradient(145deg,#1a8c8e,#40b5b1); }
body.page-template-page-services .service-topic-map__group--search .service-topic-map__group-head { background:linear-gradient(145deg,#d57918,#f0a231); }
body.page-template-page-services .service-topic-map__group--team .service-topic-map__group-head { background:linear-gradient(145deg,#705eb6,#9b86d8); }
body.page-template-page-services .service-topic-map__group-head::after {
  content:""; position:absolute; right:-34px; bottom:-50px; width:150px; height:150px; border-radius:50%; border:1px solid rgba(255,255,255,.22); box-shadow:0 0 0 24px rgba(255,255,255,.05),0 0 0 48px rgba(255,255,255,.025); pointer-events:none;
}
body.page-template-page-services .service-topic-map__pictogram {
  position:relative; display:grid; place-items:center; width:72px; height:72px; border-radius:22px;
  color:#fff; background:linear-gradient(145deg,rgba(255,255,255,.25),rgba(255,255,255,.08)); border:1px solid rgba(255,255,255,.38); box-shadow:inset 0 1px 0 rgba(255,255,255,.3),0 12px 28px rgba(0,0,0,.10);
}
body.page-template-page-services .service-topic-map__pictogram::before,
body.page-template-page-services .service-topic-map__pictogram::after {
  content:""; position:absolute; border-radius:50%; background:rgba(255,255,255,.42);
}
body.page-template-page-services .service-topic-map__pictogram::before { width:8px; height:8px; right:-9px; top:7px; }
body.page-template-page-services .service-topic-map__pictogram::after { width:4px; height:4px; right:-15px; top:23px; opacity:.7; }
body.page-template-page-services .service-topic-map__pictogram .riz-icon { width:38px; height:38px; stroke-width:1.5; }
body.page-template-page-services .service-topic-map__group-head small { display:block; margin-bottom:8px; font-size:11px; font-weight:800; letter-spacing:.16em; color:rgba(255,255,255,.72); }
body.page-template-page-services .service-topic-map__group h3 { margin:0; font-family:var(--riz-serif); font-size:clamp(24px,2vw,31px); font-weight:500; line-height:1.25; letter-spacing:-.02em; color:#fff; }
body.page-template-page-services .service-topic-map__group ol { list-style:none; margin:0; padding:18px 16px 0; display:grid; gap:9px; }
body.page-template-page-services .service-topic-map__group li {
  display:grid; grid-template-columns:44px 1fr; gap:10px; align-items:center; min-height:58px; padding:10px 11px; border-radius:13px; background:#f7f8fa; border:1px solid rgba(17,40,64,.05);
}
body.page-template-page-services .service-topic-map__group li span {
  display:grid; place-items:center; width:34px; height:34px; border-radius:50%; font-size:11px; font-weight:850; letter-spacing:.04em; color:#2d6da5; background:rgba(43,108,174,.10);
}
body.page-template-page-services .service-topic-map__group--globe li span { color:#157f80; background:rgba(24,148,150,.11); }
body.page-template-page-services .service-topic-map__group--search li span { color:#a75a11; background:rgba(230,135,31,.12); }
body.page-template-page-services .service-topic-map__group--team li span { color:#6651a9; background:rgba(124,107,188,.12); }
body.page-template-page-services .service-topic-map__group li strong { font-size:14px; line-height:1.45; font-weight:700; color:#10263f; }

@media (max-width:1120px) {
  body.page-template-page-services .service-topic-map__grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  body.page-template-page-services .service-topic-map__connector { display:none; }
}
@media (max-width:980px) {
  body.page-template-page-services .service-topic-map__head { grid-template-columns:1fr; gap:18px; }
  body.page-template-page-services .service-topic-map__visual { padding:26px 22px 28px; }
  body.page-template-page-services .service-topic-map__center { margin-bottom:36px; }
}
@media (max-width:768px) {
  body.page-template-page-services .concern-page-hero__title { max-width:none; }
  body.page-template-page-services .service-practice__pair--three { grid-template-columns:1fr; }
  body.page-template-page-services .service-topic-map { padding:64px 0; }
  body.page-template-page-services .service-topic-map__head h2 { font-size:40px; }
  body.page-template-page-services .service-topic-map__head h2 span { white-space:normal; }
  body.page-template-page-services .service-topic-map__grid { grid-template-columns:1fr; gap:14px; }
  body.page-template-page-services .service-topic-map__visual { border-radius:20px; padding:22px 14px 18px; }
  body.page-template-page-services .service-topic-map__center { width:154px; height:154px; }
  body.page-template-page-services .service-topic-map__center strong { font-size:27px; }
  body.page-template-page-services .service-topic-map__group-head { min-height:160px; padding:24px 22px 20px; }
  body.page-template-page-services .service-topic-map__pictogram { width:64px; height:64px; border-radius:20px; }
  body.page-template-page-services .service-topic-map__pictogram .riz-icon { width:34px; height:34px; }
  body.page-template-page-services .service-topic-map__group li strong { font-size:14px; }
}


/* =========================================================
   Services copy/layout tuning — v0.5.20
   Scope: services page only
   ========================================================= */

/* Right-column explanatory copy: improve legibility on desktop */
body.page-template-page-services .concern-intro__copy p {
	font-size: 17px;
	line-height: 1.95;
}
body.page-template-page-services .service-audience__head > p {
	font-size: 17px;
	line-height: 1.9;
}
body.page-template-page-services .service-practice__head > p {
	font-size: 17px;
	line-height: 1.9;
	color: rgba(255,255,255,.78);
}

/* Keep each of the three support-area lines intact */
body.page-template-page-services .service-practice__head h2 {
	font-size: clamp(38px, 3.7vw, 54px);
	line-height: 1.35;
}
body.page-template-page-services .service-practice__head h2 > span {
	display: block;
	white-space: nowrap;
}

/* Final CTA: retain impact without overpowering the page */
body.page-template-page-services .concern-cta h2 {
	max-width: 15em;
	font-size: clamp(42px, 5vw, 68px);
	line-height: 1.38;
}

@media (max-width: 900px) {
	body.page-template-page-services .service-practice__head h2 > span {
		white-space: normal;
	}
}

@media (max-width: 768px) {
	body.page-template-page-services .concern-intro__copy p,
	body.page-template-page-services .service-audience__head > p,
	body.page-template-page-services .service-practice__head > p {
		font-size: 16px;
	}
	body.page-template-page-services .service-practice__head h2 {
		font-size: 38px;
	}
	body.page-template-page-services .concern-cta h2 {
		font-size: 43px;
	}
}


/* =========================================================
   Process page full redesign — v0.5.21
   Scope: process page only
   ========================================================= */

body.page-template-page-process .lower-hero--process {
	min-height: 82svh;
}
body.page-template-page-process .lower-hero--process .lower-hero__content > p:last-child {
	max-width: 760px;
	font-size: clamp(16px, 1.45vw, 20px);
}

/* Intro */
body.page-template-page-process .process-intro {
	padding: clamp(92px, 10vw, 150px) 0;
}
body.page-template-page-process .process-intro__layout {
	display: grid;
	grid-template-columns: minmax(0, .92fr) minmax(460px, 1.08fr);
	gap: clamp(60px, 9vw, 130px);
	align-items: center;
}
body.page-template-page-process .process-intro__copy h2 {
	margin: 0;
	font-family: var(--riz-serif);
	font-size: clamp(42px, 5vw, 66px);
	font-weight: 450;
	line-height: 1.45;
	letter-spacing: -.04em;
}
body.page-template-page-process .process-intro__copy > p:not(.section-kicker) {
	max-width: 640px;
	margin: 28px 0 0;
	color: var(--riz-ink-soft);
	font-size: 16px;
	line-height: 2;
}
body.page-template-page-process .process-start-cards {
	display: grid;
	gap: 12px;
}
body.page-template-page-process .process-start-card {
	display: grid;
	grid-template-columns: 74px minmax(0,1fr);
	gap: 22px;
	align-items: center;
	min-height: 104px;
	padding: 18px 24px;
	border: 1px solid rgba(11,26,47,.10);
	background: rgba(255,255,255,.78);
	box-shadow: 0 14px 34px rgba(11,26,47,.035);
}
body.page-template-page-process .process-start-card__icon {
	display: grid;
	place-items: center;
	width: 64px;
	height: 64px;
	color: var(--riz-blue-deep);
	border: 1px solid rgba(43,108,174,.20);
	border-radius: 50%;
	background: rgba(255,255,255,.9);
}
body.page-template-page-process .process-start-card__icon .riz-icon {
	width: 29px;
	height: 29px;
}
body.page-template-page-process .process-start-card small {
	display: block;
	margin-bottom: 5px;
	color: var(--riz-orange-deep);
	font-size: 9px;
	font-weight: 800;
	letter-spacing: .18em;
}
body.page-template-page-process .process-start-card h3 {
	margin: 0;
	font-family: var(--riz-serif);
	font-size: clamp(21px, 2vw, 28px);
	font-weight: 500;
}

/* Timeline */
body.page-template-page-process .process-timeline--refined {
	padding: clamp(105px, 11vw, 170px) 0;
	background:
		linear-gradient(180deg, #fff 0%, #fff 76%, #f7f6f2 100%);
}
body.page-template-page-process .process-timeline__head {
	display: grid;
	grid-template-columns: minmax(0,1fr) minmax(360px,.78fr);
	gap: clamp(48px, 8vw, 110px);
	align-items: end;
}
body.page-template-page-process .process-timeline__head h2 {
	margin: 0;
	font-family: var(--riz-serif);
	font-size: clamp(42px, 5.2vw, 70px);
	font-weight: 450;
	line-height: 1.42;
	letter-spacing: -.04em;
}
body.page-template-page-process .process-timeline__head > p {
	margin: 0 0 8px;
	color: var(--riz-ink-soft);
	font-size: 16px;
	line-height: 2;
}
body.page-template-page-process .process-list--refined {
	max-width: 1120px;
	margin: 80px auto 0;
}
body.page-template-page-process .process-list--refined::before {
	top: 62px;
	bottom: 62px;
	background: linear-gradient(180deg, var(--riz-blue), #4b8ec4 52%, var(--riz-orange));
}
body.page-template-page-process .process-list--refined .process-item {
	padding: clamp(48px, 5vw, 70px) 0;
}
body.page-template-page-process .process-list--refined .process-item__icon {
	background: #fff;
	box-shadow: 0 0 0 10px #fff, 0 12px 34px rgba(11,26,47,.08);
}
body.page-template-page-process .process-list--refined .process-item:nth-child(1) .process-item__icon,
body.page-template-page-process .process-list--refined .process-item:nth-child(2) .process-item__icon {
	color: var(--riz-blue-deep);
	border-color: rgba(43,108,174,.34);
}
body.page-template-page-process .process-list--refined .process-item:nth-child(3) .process-item__icon {
	color: #267f86;
	border-color: rgba(38,127,134,.32);
}
body.page-template-page-process .process-list--refined .process-item:nth-child(4) .process-item__icon,
body.page-template-page-process .process-list--refined .process-item:nth-child(5) .process-item__icon {
	color: var(--riz-orange-deep);
	border-color: rgba(218,106,48,.34);
}
body.page-template-page-process .process-item__label {
	display: flex;
	align-items: center;
	gap: 13px;
	margin-bottom: 14px;
}
body.page-template-page-process .process-item__label span {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 38px;
	height: 24px;
	padding: 0 9px;
	color: #fff;
	background: var(--riz-blue-deep);
	border-radius: 999px;
	font-size: 10px;
	letter-spacing: .08em;
}
body.page-template-page-process .process-list--refined .process-item:nth-child(3) .process-item__label span {
	background: #267f86;
}
body.page-template-page-process .process-list--refined .process-item:nth-child(n+4) .process-item__label span {
	background: var(--riz-orange-deep);
}
body.page-template-page-process .process-list--refined .process-item h3 {
	font-size: clamp(30px, 3.4vw, 46px);
	line-height: 1.45;
}
body.page-template-page-process .process-list--refined .process-item__body > p:last-child {
	max-width: 780px;
	margin-top: 18px;
	font-size: 16px;
	line-height: 2;
}

/* Compact engagement checkpoint */
body.page-template-page-process .process-confirm {
	padding: clamp(90px, 10vw, 145px) 0;
	color: #fff;
	background:
		radial-gradient(circle at 88% 20%, rgba(43,108,174,.26), transparent 32%),
		linear-gradient(125deg, #07172b, #0a2d4c 72%, #123a5f);
}
body.page-template-page-process .process-confirm__inner {
	display: grid;
	grid-template-columns: minmax(320px,.85fr) minmax(0,1.15fr);
	gap: clamp(50px,8vw,110px);
	align-items: end;
}
body.page-template-page-process .process-confirm__head h2 {
	margin: 0;
	font-family: var(--riz-serif);
	font-size: clamp(40px, 4.7vw, 62px);
	font-weight: 450;
	line-height: 1.42;
	letter-spacing: -.04em;
}
body.page-template-page-process .process-confirm__head > p:last-child {
	margin: 26px 0 0;
	color: rgba(255,255,255,.7);
	font-size: 15px;
	line-height: 1.9;
}
body.page-template-page-process .process-confirm__grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0,1fr));
	border: 1px solid rgba(255,255,255,.18);
}
body.page-template-page-process .process-confirm__grid > div {
	min-height: 145px;
	padding: 28px 30px;
	border-right: 1px solid rgba(255,255,255,.18);
	border-bottom: 1px solid rgba(255,255,255,.18);
	background: rgba(255,255,255,.035);
}
body.page-template-page-process .process-confirm__grid > div:nth-child(2n) {
	border-right: 0;
}
body.page-template-page-process .process-confirm__grid > div:nth-last-child(-n+2) {
	border-bottom: 0;
}
body.page-template-page-process .process-confirm__grid span {
	display: block;
	margin-bottom: 24px;
	color: #86b6e1;
	font-size: 11px;
	font-weight: 800;
	letter-spacing: .13em;
}
body.page-template-page-process .process-confirm__grid strong {
	display: block;
	font-family: var(--riz-serif);
	font-size: clamp(22px, 2.3vw, 30px);
	font-weight: 500;
}

/* CTA */
body.page-template-page-process .process-cta {
	padding: clamp(105px, 11vw, 165px) 0;
}
body.page-template-page-process .process-cta h2 {
	max-width: 900px;
	font-size: clamp(46px, 5.7vw, 78px);
}
body.page-template-page-process .process-cta .lower-cta__inner > p:not(.section-kicker) {
	max-width: 780px;
	font-size: 15px;
	line-height: 1.95;
}
body.page-template-page-process .process-cta .cta-button {
	margin-top: 38px;
}

@media (max-width: 980px) {
	body.page-template-page-process .process-intro__layout,
	body.page-template-page-process .process-timeline__head,
	body.page-template-page-process .process-confirm__inner {
		grid-template-columns: 1fr;
	}
	body.page-template-page-process .process-intro__layout {
		gap: 52px;
	}
	body.page-template-page-process .process-timeline__head {
		gap: 26px;
	}
	body.page-template-page-process .process-confirm__inner {
		gap: 48px;
	}
}

@media (max-width: 760px) {
	body.page-template-page-process .lower-hero--process {
		min-height: 76svh;
	}
	body.page-template-page-process .process-intro,
	body.page-template-page-process .process-timeline--refined,
	body.page-template-page-process .process-confirm {
		padding: 78px 0;
	}
	body.page-template-page-process .process-intro__copy h2,
	body.page-template-page-process .process-timeline__head h2 {
		font-size: 39px;
	}
	body.page-template-page-process .process-start-card {
		grid-template-columns: 58px minmax(0,1fr);
		gap: 16px;
		min-height: 92px;
		padding: 16px 18px;
	}
	body.page-template-page-process .process-start-card__icon {
		width: 54px;
		height: 54px;
	}
	body.page-template-page-process .process-start-card__icon .riz-icon {
		width: 24px;
		height: 24px;
	}
	body.page-template-page-process .process-list--refined {
		margin-top: 54px;
	}
	body.page-template-page-process .process-list--refined .process-item {
		padding: 40px 0;
	}
	body.page-template-page-process .process-list--refined .process-item h3 {
		font-size: 27px;
	}
	body.page-template-page-process .process-list--refined .process-item__body > p:last-child {
		font-size: 15px;
	}
	body.page-template-page-process .process-confirm__head h2 {
		font-size: 38px;
	}
	body.page-template-page-process .process-confirm__grid {
		grid-template-columns: 1fr;
	}
	body.page-template-page-process .process-confirm__grid > div {
		min-height: 110px;
		border-right: 0;
		border-bottom: 1px solid rgba(255,255,255,.18) !important;
	}
	body.page-template-page-process .process-confirm__grid > div:last-child {
		border-bottom: 0 !important;
	}
	body.page-template-page-process .process-confirm__grid span {
		margin-bottom: 12px;
	}
	body.page-template-page-process .process-cta h2 {
		font-size: 44px;
	}
}


/* =========================================================
   Process page compact visual redesign — v0.5.22
   Scope: process page only
   ========================================================= */

/* Neutralize older process redesign blocks */
body.page-template-page-process .process-quickstart {
	padding: clamp(86px, 9vw, 126px) 0;
	background: var(--riz-paper);
}
body.page-template-page-process .process-quickstart__head {
	max-width: 1040px;
	margin: 0 auto;
	text-align: center;
}
body.page-template-page-process .process-quickstart__head h2 {
	margin: 0;
	font-family: var(--riz-serif);
	font-size: clamp(42px, 4.8vw, 64px);
	font-weight: 450;
	line-height: 1.38;
	letter-spacing: -.04em;
}
body.page-template-page-process .process-quickstart__head h2 span {
	display: block;
	white-space: nowrap;
}
body.page-template-page-process .process-quickstart__head > p:last-child {
	max-width: 840px;
	margin: 30px auto 0;
	color: var(--riz-ink-soft);
	font-size: 17px;
	line-height: 1.95;
}
body.page-template-page-process .process-quickstart__items {
	display: grid;
	grid-template-columns: repeat(3, minmax(0,1fr));
	gap: 16px;
	max-width: 1080px;
	margin: 48px auto 0;
}
body.page-template-page-process .process-quickstart__item {
	position: relative;
	display: grid;
	grid-template-columns: 64px 1fr;
	grid-template-rows: auto auto;
	column-gap: 18px;
	align-items: center;
	min-height: 116px;
	padding: 22px 24px;
	color: #fff;
	border-radius: 18px;
	overflow: hidden;
	box-shadow: 0 18px 42px rgba(9,28,49,.10);
}
body.page-template-page-process .process-quickstart__item::after {
	content: "";
	position: absolute;
	right: -34px;
	top: -34px;
	width: 118px;
	height: 118px;
	border: 1px solid rgba(255,255,255,.19);
	border-radius: 50%;
}
body.page-template-page-process .process-quickstart__item--blue {
	background: linear-gradient(135deg, #154f86, #2f78b8);
}
body.page-template-page-process .process-quickstart__item--teal {
	background: linear-gradient(135deg, #177f82, #36a6a4);
}
body.page-template-page-process .process-quickstart__item--orange {
	background: linear-gradient(135deg, #bc611d, #df8a35);
}
body.page-template-page-process .process-quickstart__icon {
	grid-row: 1 / 3;
	display: grid;
	place-items: center;
	width: 58px;
	height: 58px;
	border-radius: 50%;
	background: rgba(255,255,255,.14);
	border: 1px solid rgba(255,255,255,.32);
}
body.page-template-page-process .process-quickstart__icon .riz-icon {
	width: 27px;
	height: 27px;
}
body.page-template-page-process .process-quickstart__item small {
	align-self: end;
	font-size: 9px;
	font-weight: 800;
	letter-spacing: .16em;
	opacity: .74;
}
body.page-template-page-process .process-quickstart__item strong {
	align-self: start;
	font-family: var(--riz-serif);
	font-size: clamp(20px, 1.8vw, 26px);
	font-weight: 500;
	line-height: 1.35;
}

/* Compact visual five-step flow */
body.page-template-page-process .process-visual-flow {
	padding: clamp(95px, 10vw, 145px) 0;
	background: #fff;
}
body.page-template-page-process .process-visual-flow__head {
	display: grid;
	grid-template-columns: minmax(0,1fr) minmax(360px,.72fr);
	gap: clamp(42px, 7vw, 96px);
	align-items: end;
}
body.page-template-page-process .process-visual-flow__head h2 {
	margin: 0;
	font-family: var(--riz-serif);
	font-size: clamp(42px, 4.8vw, 64px);
	font-weight: 450;
	line-height: 1.4;
	letter-spacing: -.04em;
}
body.page-template-page-process .process-visual-flow__head h2 span {
	display: block;
	white-space: nowrap;
}
body.page-template-page-process .process-visual-flow__head > p {
	margin: 0 0 7px;
	color: var(--riz-ink-soft);
	font-size: 17px;
	line-height: 1.9;
}
body.page-template-page-process .process-visual-flow__grid {
	position: relative;
	display: grid;
	grid-template-columns: repeat(5, minmax(0,1fr));
	gap: 14px;
	margin: 62px 0 0;
	padding: 0;
	list-style: none;
}
body.page-template-page-process .process-visual-flow__grid::before {
	content: "";
	position: absolute;
	z-index: 0;
	left: 7%;
	right: 7%;
	top: 56px;
	height: 2px;
	background: linear-gradient(90deg, #2f78b8, #2d9aa0 28%, #8d72bd 52%, #df8a35 76%, #d96839);
	opacity: .35;
}
body.page-template-page-process .process-flow-card {
	position: relative;
	z-index: 1;
	min-height: 360px;
	padding: 24px 22px 26px;
	border-radius: 20px;
	color: #fff;
	box-shadow: 0 18px 44px rgba(9,28,49,.12);
	overflow: hidden;
}
body.page-template-page-process .process-flow-card::before {
	content: "";
	position: absolute;
	right: -58px;
	bottom: -58px;
	width: 160px;
	height: 160px;
	border-radius: 50%;
	border: 1px solid rgba(255,255,255,.17);
	box-shadow: 0 0 0 28px rgba(255,255,255,.035);
}
body.page-template-page-process .process-flow-card--01 { background: linear-gradient(155deg, #123e6b, #2f78b8); }
body.page-template-page-process .process-flow-card--02 { background: linear-gradient(155deg, #176b76, #2d9aa0); }
body.page-template-page-process .process-flow-card--03 { background: linear-gradient(155deg, #645092, #8d72bd); }
body.page-template-page-process .process-flow-card--04 { background: linear-gradient(155deg, #b75a1d, #df8a35); }
body.page-template-page-process .process-flow-card--05 { background: linear-gradient(155deg, #9f3f29, #d96839); }
body.page-template-page-process .process-flow-card__top {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 42px;
}
body.page-template-page-process .process-flow-card__number {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 42px;
	height: 28px;
	padding: 0 10px;
	border-radius: 999px;
	background: rgba(255,255,255,.14);
	border: 1px solid rgba(255,255,255,.22);
	font-size: 11px;
	font-weight: 800;
	letter-spacing: .08em;
}
body.page-template-page-process .process-flow-card__icon {
	display: grid;
	place-items: center;
	width: 64px;
	height: 64px;
	border-radius: 50%;
	background: rgba(255,255,255,.13);
	border: 1px solid rgba(255,255,255,.30);
}
body.page-template-page-process .process-flow-card__icon .riz-icon {
	width: 29px;
	height: 29px;
}
body.page-template-page-process .process-flow-card > small {
	display: block;
	margin-bottom: 9px;
	font-size: 9px;
	font-weight: 800;
	letter-spacing: .14em;
	opacity: .72;
}
body.page-template-page-process .process-flow-card h3 {
	margin: 0;
	font-family: var(--riz-serif);
	font-size: clamp(25px, 2vw, 31px);
	font-weight: 500;
	line-height: 1.35;
}
body.page-template-page-process .process-flow-card p {
	margin: 22px 0 0;
	font-size: 14px;
	line-height: 1.85;
	color: rgba(255,255,255,.86);
}

/* Compact final CTA — no repeated oversized message */
body.page-template-page-process .process-simple-cta {
	position: relative;
	min-height: 420px;
	display: flex;
	align-items: center;
	overflow: hidden;
	color: #fff;
	background: var(--riz-ink);
}
body.page-template-page-process .process-simple-cta__media,
body.page-template-page-process .process-simple-cta__veil {
	position: absolute;
	inset: 0;
}
body.page-template-page-process .process-simple-cta__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
}
body.page-template-page-process .process-simple-cta__veil {
	background: linear-gradient(90deg, rgba(7,23,43,.95), rgba(7,23,43,.78) 62%, rgba(7,23,43,.42));
}
body.page-template-page-process .process-simple-cta__inner {
	position: relative;
	z-index: 2;
	display: grid;
	grid-template-columns: minmax(0,1fr) auto;
	gap: 54px;
	align-items: end;
	padding-block: 74px;
}
body.page-template-page-process .process-simple-cta h2 {
	margin: 0;
	font-family: var(--riz-serif);
	font-size: clamp(38px, 4.1vw, 58px);
	font-weight: 450;
	line-height: 1.42;
	letter-spacing: -.035em;
}
body.page-template-page-process .process-simple-cta__inner > div > p:last-child {
	max-width: 760px;
	margin: 24px 0 0;
	color: rgba(255,255,255,.78);
	font-size: 15px;
	line-height: 1.9;
}
body.page-template-page-process .process-simple-cta .cta-button {
	min-width: 240px;
	margin: 0;
}

/* Hide no-longer-used previous blocks if cache mixes old markup */
body.page-template-page-process .process-confirm {
	display: none !important;
}

@media (max-width: 1120px) {
	body.page-template-page-process .process-visual-flow__grid {
		grid-template-columns: repeat(3, minmax(0,1fr));
	}
	body.page-template-page-process .process-visual-flow__grid::before {
		display: none;
	}
	body.page-template-page-process .process-flow-card {
		min-height: 330px;
	}
}

@media (max-width: 900px) {
	body.page-template-page-process .process-quickstart__head h2 span,
	body.page-template-page-process .process-visual-flow__head h2 span {
		white-space: normal;
	}
	body.page-template-page-process .process-visual-flow__head {
		grid-template-columns: 1fr;
		gap: 22px;
	}
	body.page-template-page-process .process-quickstart__items {
		grid-template-columns: 1fr;
		max-width: 700px;
	}
	body.page-template-page-process .process-simple-cta__inner {
		grid-template-columns: 1fr;
		align-items: start;
	}
	body.page-template-page-process .process-simple-cta .cta-button {
		min-width: 220px;
		justify-self: start;
	}
}

@media (max-width: 680px) {
	body.page-template-page-process .process-quickstart,
	body.page-template-page-process .process-visual-flow {
		padding: 72px 0;
	}
	body.page-template-page-process .process-quickstart__head h2,
	body.page-template-page-process .process-visual-flow__head h2 {
		font-size: 39px;
	}
	body.page-template-page-process .process-quickstart__head > p:last-child,
	body.page-template-page-process .process-visual-flow__head > p {
		font-size: 16px;
	}
	body.page-template-page-process .process-visual-flow__grid {
		grid-template-columns: 1fr;
		gap: 14px;
		margin-top: 42px;
	}
	body.page-template-page-process .process-flow-card {
		min-height: auto;
		padding: 22px 20px 24px;
	}
	body.page-template-page-process .process-flow-card__top {
		margin-bottom: 28px;
	}
	body.page-template-page-process .process-flow-card p {
		font-size: 14px;
	}
	body.page-template-page-process .process-simple-cta {
		min-height: 390px;
	}
	body.page-template-page-process .process-simple-cta__inner {
		padding-block: 62px;
	}
	body.page-template-page-process .process-simple-cta h2 {
		font-size: 38px;
	}
}


/* =========================================================
   Members compact visual redesign — v0.5.23
   Scope: members page only
   ========================================================= */

body.page-template-page-members .members-hero {
	min-height: 70svh;
}
body.page-template-page-members .members-hero h1 span {
	display: block;
	white-space: nowrap;
}
body.page-template-page-members .members-hero .lower-hero__content > p:last-child {
	max-width: 660px;
	font-family: var(--riz-serif);
	font-size: clamp(20px, 2vw, 28px);
	line-height: 1.7;
}

/* Main profile showcase */
body.page-template-page-members .members-showcase {
	padding: clamp(90px, 10vw, 145px) 0;
	background: var(--riz-paper);
}
body.page-template-page-members .members-showcase__head {
	display: grid;
	grid-template-columns: minmax(0,1fr) minmax(380px,.72fr);
	gap: clamp(44px, 7vw, 100px);
	align-items: end;
	margin-bottom: 58px;
}
body.page-template-page-members .members-showcase__head h2 {
	margin: 0;
	font-family: var(--riz-serif);
	font-size: clamp(40px, 4.6vw, 62px);
	font-weight: 450;
	line-height: 1.42;
	letter-spacing: -.04em;
}
body.page-template-page-members .members-showcase__head h2 span {
	display: block;
	white-space: nowrap;
}
body.page-template-page-members .members-showcase__head > p {
	margin: 0 0 8px;
	color: var(--riz-ink-soft);
	font-size: 17px;
	line-height: 1.95;
}

body.page-template-page-members .member-visual-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0,1fr));
	gap: 22px;
}
body.page-template-page-members .member-visual-card {
	overflow: hidden;
	background: #fff;
	border: 1px solid rgba(11,26,47,.09);
	box-shadow: 0 24px 60px rgba(11,26,47,.07);
}
body.page-template-page-members .member-visual-card__photo {
	position: relative;
	height: clamp(390px, 38vw, 570px);
	overflow: hidden;
	background: #e7e9ec;
}
body.page-template-page-members .member-visual-card__photo::after {
	content: "";
	position: absolute;
	inset: auto 0 0;
	height: 40%;
	background: linear-gradient(180deg, transparent, rgba(7,23,43,.38));
	pointer-events: none;
}
body.page-template-page-members .member-visual-card__photo img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center top;
	transition: transform .9s var(--riz-ease);
}
body.page-template-page-members .member-visual-card:hover .member-visual-card__photo img {
	transform: scale(1.02);
}
body.page-template-page-members .member-visual-card__badge {
	position: absolute;
	z-index: 2;
	left: 24px;
	bottom: 22px;
	display: inline-flex;
	align-items: center;
	gap: 12px;
	padding: 10px 14px 10px 10px;
	color: #fff;
	border: 1px solid rgba(255,255,255,.28);
	background: rgba(7,23,43,.54);
	backdrop-filter: blur(10px);
}
body.page-template-page-members .member-visual-card__badge-icon {
	display: grid;
	place-items: center;
	width: 38px;
	height: 38px;
	border-radius: 50%;
	background: rgba(255,255,255,.13);
}
body.page-template-page-members .member-visual-card__badge-icon .riz-icon {
	width: 20px;
	height: 20px;
}
body.page-template-page-members .member-visual-card__badge small {
	font-size: 9px;
	font-weight: 800;
	letter-spacing: .16em;
}
body.page-template-page-members .member-visual-card--blue {
	box-shadow: inset 0 4px 0 var(--riz-blue), 0 24px 60px rgba(11,26,47,.07);
}
body.page-template-page-members .member-visual-card--orange {
	box-shadow: inset 0 4px 0 var(--riz-orange), 0 24px 60px rgba(11,26,47,.07);
}
body.page-template-page-members .member-visual-card__body {
	padding: clamp(30px, 3.6vw, 46px);
}
body.page-template-page-members .member-visual-card__name {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 20px;
}
body.page-template-page-members .member-visual-card__name h3 {
	margin: 0;
	font-family: var(--riz-serif);
	font-size: clamp(34px, 3.4vw, 48px);
	font-weight: 500;
}
body.page-template-page-members .member-visual-card__name > span {
	color: var(--riz-ink-soft);
	font-size: 10px;
	font-weight: 800;
	letter-spacing: .13em;
}
body.page-template-page-members .member-visual-card__title {
	margin: 18px 0 0;
	color: var(--riz-blue-deep);
	font-size: 12px;
	font-weight: 700;
	line-height: 1.8;
}
body.page-template-page-members .member-visual-card--orange .member-visual-card__title {
	color: var(--riz-orange-deep);
}
body.page-template-page-members .member-visual-card__lead {
	margin: 32px 0 0;
	font-family: var(--riz-serif);
	font-size: clamp(24px, 2.45vw, 34px);
	font-weight: 500;
	line-height: 1.58;
}
body.page-template-page-members .member-visual-card__bio {
	margin: 20px 0 0;
	color: var(--riz-ink-soft);
	font-size: 14px;
	line-height: 1.9;
}
body.page-template-page-members .member-visual-card__facts {
	display: grid;
	grid-template-columns: repeat(3, minmax(0,1fr));
	gap: 1px;
	margin: 30px 0 0;
	padding: 0;
	list-style: none;
	background: rgba(11,26,47,.10);
	border: 1px solid rgba(11,26,47,.10);
}
body.page-template-page-members .member-visual-card__facts li {
	min-height: 112px;
	padding: 17px 16px;
	background: #fff;
}
body.page-template-page-members .member-visual-card__facts small {
	display: block;
	margin-bottom: 11px;
	color: var(--riz-blue);
	font-size: 8px;
	font-weight: 800;
	letter-spacing: .13em;
}
body.page-template-page-members .member-visual-card--orange .member-visual-card__facts small {
	color: var(--riz-orange-deep);
}
body.page-template-page-members .member-visual-card__facts strong {
	display: block;
	font-size: 12px;
	line-height: 1.65;
}

/* Visual perspective diagram */
body.page-template-page-members .members-perspective {
	padding: clamp(92px, 10vw, 145px) 0;
	color: #fff;
	background:
		radial-gradient(circle at 50% 42%, rgba(255,255,255,.06), transparent 25%),
		linear-gradient(125deg, #07172b, #0c3458 63%, #703417 150%);
}
body.page-template-page-members .members-perspective__head {
	text-align: center;
}
body.page-template-page-members .members-perspective__head h2 {
	margin: 0;
	font-family: var(--riz-serif);
	font-size: clamp(40px, 4.8vw, 64px);
	font-weight: 450;
	line-height: 1.42;
	letter-spacing: -.04em;
}
body.page-template-page-members .members-perspective__visual {
	display: grid;
	grid-template-columns: minmax(0,1fr) 180px minmax(0,1fr);
	gap: 20px;
	align-items: stretch;
	max-width: 1120px;
	margin: 58px auto 0;
}
body.page-template-page-members .members-perspective__side {
	position: relative;
	min-height: 270px;
	padding: 32px;
	overflow: hidden;
	border: 1px solid rgba(255,255,255,.15);
}
body.page-template-page-members .members-perspective__side::after {
	content: "";
	position: absolute;
	right: -48px;
	bottom: -48px;
	width: 150px;
	height: 150px;
	border-radius: 50%;
	border: 1px solid rgba(255,255,255,.16);
	box-shadow: 0 0 0 28px rgba(255,255,255,.025);
}
body.page-template-page-members .members-perspective__side--blue {
	background: linear-gradient(145deg, rgba(43,108,174,.72), rgba(13,63,114,.84));
}
body.page-template-page-members .members-perspective__side--orange {
	background: linear-gradient(145deg, rgba(218,106,48,.75), rgba(126,55,23,.86));
}
body.page-template-page-members .members-perspective__icon {
	display: grid;
	place-items: center;
	width: 62px;
	height: 62px;
	margin-bottom: 30px;
	border-radius: 50%;
	border: 1px solid rgba(255,255,255,.30);
	background: rgba(255,255,255,.09);
}
body.page-template-page-members .members-perspective__icon .riz-icon {
	width: 29px;
	height: 29px;
}
body.page-template-page-members .members-perspective__side small {
	font-size: 9px;
	font-weight: 800;
	letter-spacing: .15em;
	opacity: .72;
}
body.page-template-page-members .members-perspective__side h3 {
	margin: 8px 0 0;
	font-family: var(--riz-serif);
	font-size: clamp(28px, 3vw, 40px);
	font-weight: 500;
}
body.page-template-page-members .members-perspective__side p {
	max-width: 360px;
	margin: 22px 0 0;
	color: rgba(255,255,255,.82);
	font-size: 14px;
	line-height: 1.85;
}
body.page-template-page-members .members-perspective__center {
	align-self: center;
	justify-self: center;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	width: 158px;
	height: 158px;
	border-radius: 50%;
	color: var(--riz-ink);
	background: #fff;
	box-shadow: 0 22px 54px rgba(0,0,0,.20);
}
body.page-template-page-members .members-perspective__center span {
	font-size: 10px;
	font-weight: 800;
	letter-spacing: .18em;
	color: var(--riz-blue-deep);
}
body.page-template-page-members .members-perspective__center strong {
	margin-top: 6px;
	font-family: var(--riz-serif);
	font-size: 23px;
	font-weight: 550;
}

/* Small CTA */
body.page-template-page-members .members-simple-cta {
	padding: 68px 0;
	background: var(--riz-paper);
	border-top: 1px solid var(--riz-line);
}
body.page-template-page-members .members-simple-cta__inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 40px;
}
body.page-template-page-members .members-simple-cta h2 {
	margin: 0;
	font-family: var(--riz-serif);
	font-size: clamp(34px, 3.8vw, 50px);
	font-weight: 500;
}
body.page-template-page-members .members-simple-cta .cta-button {
	margin: 0;
	min-width: 220px;
}

@media (max-width: 1040px) {
	body.page-template-page-members .members-showcase__head {
		grid-template-columns: 1fr;
		gap: 22px;
	}
	body.page-template-page-members .member-visual-grid {
		grid-template-columns: 1fr;
		max-width: 760px;
		margin-inline: auto;
	}
	body.page-template-page-members .member-visual-card__photo {
		height: min(74vw, 610px);
	}
	body.page-template-page-members .members-perspective__visual {
		grid-template-columns: 1fr;
		max-width: 700px;
	}
	body.page-template-page-members .members-perspective__center {
		width: 130px;
		height: 130px;
	}
}

@media (max-width: 760px) {
	body.page-template-page-members .members-hero {
		min-height: 68svh;
	}
	body.page-template-page-members .members-hero h1 span,
	body.page-template-page-members .members-showcase__head h2 span {
		white-space: normal;
	}
	body.page-template-page-members .members-showcase,
	body.page-template-page-members .members-perspective {
		padding: 74px 0;
	}
	body.page-template-page-members .members-showcase__head h2,
	body.page-template-page-members .members-perspective__head h2 {
		font-size: 39px;
	}
	body.page-template-page-members .members-showcase__head > p {
		font-size: 16px;
	}
	body.page-template-page-members .member-visual-card__photo {
		height: 470px;
	}
	body.page-template-page-members .member-visual-card__name {
		display: block;
	}
	body.page-template-page-members .member-visual-card__name > span {
		display: block;
		margin-top: 7px;
	}
	body.page-template-page-members .member-visual-card__facts {
		grid-template-columns: 1fr;
	}
	body.page-template-page-members .member-visual-card__facts li {
		min-height: 82px;
	}
	body.page-template-page-members .members-perspective__side {
		min-height: 240px;
		padding: 26px 24px;
	}
	body.page-template-page-members .members-simple-cta__inner {
		display: grid;
	}
	body.page-template-page-members .members-simple-cta .cta-button {
		justify-self: start;
	}
}


/* =========================================================
   Members detailed vertical profiles — v0.5.24
   Scope: members page only
   ========================================================= */

body.page-template-page-members .members-detailed-intro {
	padding: clamp(82px, 9vw, 126px) 0;
	background: var(--riz-paper);
}
body.page-template-page-members .members-detailed-intro__inner {
	max-width: 940px;
	text-align: center;
}
body.page-template-page-members .members-detailed-intro h2 {
	margin: 0;
	font-family: var(--riz-serif);
	font-size: clamp(42px, 4.8vw, 64px);
	font-weight: 450;
	line-height: 1.42;
	letter-spacing: -.04em;
}
body.page-template-page-members .members-detailed-intro h2 span {
	display: block;
}
body.page-template-page-members .members-detailed-intro p:last-child {
	max-width: 760px;
	margin: 28px auto 0;
	color: var(--riz-ink-soft);
	font-size: 17px;
	line-height: 1.95;
}

/* Each member occupies a full vertical section */
body.page-template-page-members .member-detail {
	padding: clamp(92px, 10vw, 150px) 0;
	background: #fff;
}
body.page-template-page-members .member-detail--orange {
	background: #f7f5f0;
}
body.page-template-page-members .member-detail__grid {
	display: grid;
	grid-template-columns: minmax(360px, .82fr) minmax(0, 1.18fr);
	gap: clamp(54px, 7vw, 100px);
	align-items: start;
}
body.page-template-page-members .member-detail--reverse .member-detail__visual {
	order: 2;
}
body.page-template-page-members .member-detail--reverse .member-detail__content {
	order: 1;
}

/* Large portrait */
body.page-template-page-members .member-detail__visual {
	position: sticky;
	top: 120px;
}
body.page-template-page-members .member-detail__photo {
	position: relative;
	height: min(70vh, 680px);
	min-height: 540px;
	overflow: hidden;
	background: #e7e9ec;
	border-radius: 3px;
	box-shadow: 0 28px 70px rgba(11,26,47,.11);
}
body.page-template-page-members .member-detail__photo::after {
	content: "";
	position: absolute;
	inset: auto 0 0;
	height: 30%;
	background: linear-gradient(180deg, transparent, rgba(7,23,43,.18));
	pointer-events: none;
}
body.page-template-page-members .member-detail__photo img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center top;
}
body.page-template-page-members .member-detail__visual-label {
	display: flex;
	align-items: center;
	gap: 16px;
	margin-top: 18px;
	padding: 17px 19px;
	color: #fff;
	background: linear-gradient(135deg, #123f70, #2b6cae);
}
body.page-template-page-members .member-detail--orange .member-detail__visual-label {
	background: linear-gradient(135deg, #a94b1f, #da6a30);
}
body.page-template-page-members .member-detail__visual-label > span {
	display: grid;
	place-items: center;
	width: 48px;
	height: 48px;
	border: 1px solid rgba(255,255,255,.3);
	border-radius: 50%;
	background: rgba(255,255,255,.08);
}
body.page-template-page-members .member-detail__visual-label .riz-icon {
	width: 23px;
	height: 23px;
}
body.page-template-page-members .member-detail__visual-label p {
	margin: 0;
	font-family: var(--riz-serif);
	font-size: 20px;
	line-height: 1.4;
}
body.page-template-page-members .member-detail__visual-label small {
	display: block;
	margin-bottom: 3px;
	font-family: var(--riz-body);
	font-size: 8px;
	font-weight: 800;
	letter-spacing: .16em;
	opacity: .75;
}

/* Member profile copy */
body.page-template-page-members .member-detail__heading h2 {
	margin: 4px 0 0;
	font-family: var(--riz-serif);
	font-size: clamp(48px, 5vw, 72px);
	font-weight: 450;
	line-height: 1.2;
	letter-spacing: -.04em;
}
body.page-template-page-members .member-detail__role {
	margin: 20px 0 0;
	color: var(--riz-blue-deep);
	font-size: 13px;
	font-weight: 700;
	line-height: 1.85;
}
body.page-template-page-members .member-detail--orange .member-detail__role {
	color: var(--riz-orange-deep);
}
body.page-template-page-members .member-detail__statement {
	margin: 42px 0 0;
	padding: 30px 0 30px 27px;
	border-left: 3px solid var(--riz-blue);
	font-family: var(--riz-serif);
	font-size: clamp(27px, 3vw, 38px);
	font-weight: 500;
	line-height: 1.65;
}
body.page-template-page-members .member-detail--orange .member-detail__statement {
	border-left-color: var(--riz-orange);
}

body.page-template-page-members .member-detail__profile {
	margin-top: 24px;
}
body.page-template-page-members .member-detail__profile > section {
	padding: 34px 0;
	border-top: 1px solid var(--riz-line);
}
body.page-template-page-members .member-detail__profile h3 {
	margin: 0 0 17px;
	color: var(--riz-ink);
	font-family: var(--riz-serif);
	font-size: 24px;
	font-weight: 550;
}
body.page-template-page-members .member-detail__profile p {
	margin: 0;
	color: var(--riz-ink-soft);
	font-size: 15px;
	line-height: 2;
}
body.page-template-page-members .member-detail__timeline {
	display: grid;
	gap: 0;
	margin: 0;
	padding: 0;
	list-style: none;
}
body.page-template-page-members .member-detail__timeline li {
	position: relative;
	padding: 12px 0 12px 30px;
	color: #24374d;
	font-size: 14px;
	line-height: 1.7;
}
body.page-template-page-members .member-detail__timeline li::before {
	content: "";
	position: absolute;
	left: 4px;
	top: 21px;
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: var(--riz-blue);
	box-shadow: 0 0 0 5px rgba(43,108,174,.09);
}
body.page-template-page-members .member-detail--orange .member-detail__timeline li::before {
	background: var(--riz-orange);
	box-shadow: 0 0 0 5px rgba(218,106,48,.09);
}
body.page-template-page-members .member-detail__split {
	display: grid;
	grid-template-columns: .72fr 1.28fr;
	gap: 36px;
}
body.page-template-page-members .member-detail__chips {
	display: flex;
	flex-wrap: wrap;
	gap: 9px;
	margin: 0;
	padding: 0;
	list-style: none;
}
body.page-template-page-members .member-detail__chips li {
	padding: 9px 13px;
	color: #164d7e;
	background: rgba(43,108,174,.075);
	border: 1px solid rgba(43,108,174,.13);
	border-radius: 999px;
	font-size: 12px;
	font-weight: 700;
}
body.page-template-page-members .member-detail__chips--orange li,
body.page-template-page-members .member-detail--orange .member-detail__chips li {
	color: #9c491f;
	background: rgba(218,106,48,.075);
	border-color: rgba(218,106,48,.14);
}

body.page-template-page-members .member-detail__work-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0,1fr));
	gap: 10px;
}
body.page-template-page-members .member-detail__work-grid > div {
	display: grid;
	grid-template-columns: 38px 1fr;
	gap: 10px;
	align-items: center;
	min-height: 64px;
	padding: 13px 16px;
	background: #f6f8fa;
	border-left: 2px solid rgba(43,108,174,.36);
}
body.page-template-page-members .member-detail--orange .member-detail__work-grid > div {
	border-left-color: rgba(218,106,48,.45);
	background: #fff;
}
body.page-template-page-members .member-detail__work-grid span {
	color: var(--riz-blue);
	font-size: 10px;
	font-weight: 800;
	letter-spacing: .08em;
}
body.page-template-page-members .member-detail--orange .member-detail__work-grid span {
	color: var(--riz-orange-deep);
}
body.page-template-page-members .member-detail__work-grid strong {
	font-size: 13px;
	line-height: 1.55;
}

/* Keep the visual comparison, but compact after long profiles */
body.page-template-page-members .members-perspective--compact {
	padding: clamp(82px, 9vw, 120px) 0;
}
body.page-template-page-members .members-perspective--compact .members-perspective__visual {
	margin-top: 46px;
}
body.page-template-page-members .members-perspective--compact .members-perspective__side {
	min-height: 235px;
}

/* Disable obsolete two-column showcase if stale markup is cached */
body.page-template-page-members .members-showcase {
	display: none;
}

@media (max-width: 980px) {
	body.page-template-page-members .member-detail__grid {
		grid-template-columns: 1fr;
		max-width: 760px;
	}
	body.page-template-page-members .member-detail__visual,
	body.page-template-page-members .member-detail--reverse .member-detail__visual {
		position: static;
		order: 1;
		min-width: 0;
	}
	body.page-template-page-members .member-detail__content,
	body.page-template-page-members .member-detail--reverse .member-detail__content {
		order: 2;
		min-width: 0;
	}
	body.page-template-page-members .member-detail__photo {
		height: min(90vw, 700px);
		min-height: 0;
	}
}

@media (max-width: 720px) {
	body.page-template-page-members .members-detailed-intro,
	body.page-template-page-members .member-detail {
		padding: 72px 0;
	}
	body.page-template-page-members .members-detailed-intro h2 {
		font-size: 39px;
	}
	body.page-template-page-members .members-detailed-intro p:last-child {
		font-size: 16px;
	}
	body.page-template-page-members .member-detail__photo {
		height: 500px;
	}
	body.page-template-page-members .member-detail__heading h2 {
		font-size: 48px;
	}
	body.page-template-page-members .member-detail__statement {
		margin-top: 34px;
		padding-left: 20px;
		font-size: 28px;
	}
	body.page-template-page-members .member-detail__split {
		grid-template-columns: 1fr;
		gap: 26px;
	}
	body.page-template-page-members .member-detail__work-grid {
		grid-template-columns: 1fr;
	}
	body.page-template-page-members .member-detail__profile h3 {
		font-size: 22px;
	}
}


/* =========================================================
   Members profile unification / line-break fix — v0.5.28
   Scope: members page only
   ========================================================= */

/* Intentional two-line statements; prevent orphaned Japanese characters on desktop */
body.page-template-page-members .member-detail__statement > span {
	display: block;
	white-space: nowrap;
}

/* Final education is one concise line on desktop */
body.page-template-page-members .member-detail__profile > section > p {
	text-wrap: pretty;
}

@media (max-width: 760px) {
	body.page-template-page-members .member-detail__statement > span {
		white-space: normal;
	}
}


/* =========================================================
   Members section order + Sugai full-photo restore — v0.5.29
   Scope: members page only
   ========================================================= */

/* Sugai: show the full portrait instead of center-cropping it */
body.page-template-page-members .member-detail--orange .member-detail__photo {
	background: #f2f0ec;
}
body.page-template-page-members .member-detail--orange .member-detail__photo img {
	object-fit: contain;
	object-position: center center;
}

/* Keep Inoue's existing portrait treatment */
body.page-template-page-members .member-detail--blue .member-detail__photo img {
	object-fit: cover;
	object-position: center top;
}


/* =========================================================
   Organizations visual compact redesign — v0.5.33
   Scope: organizations page only
   ========================================================= */

body.page-template-page-organizations .organizations-hero {
	min-height: 60svh;
}
body.page-template-page-organizations .organizations-hero h1 {
	max-width: 1050px;
	font-size: clamp(48px, 5.3vw, 74px);
	line-height: 1.35;
}

/* Two organizations: deliberately mirrored and row-aligned */
body.page-template-page-organizations .org-compare {
	padding: clamp(78px, 8vw, 112px) 0;
	background: #fff;
}
body.page-template-page-organizations .org-compare__intro {
	max-width: 850px;
	margin-bottom: 44px;
}
body.page-template-page-organizations .org-compare__intro h2 {
	margin: 0;
	font-family: var(--riz-serif);
	font-size: clamp(38px, 4.5vw, 60px);
	font-weight: 450;
	line-height: 1.42;
	letter-spacing: -.04em;
}
body.page-template-page-organizations .org-compare__heads {
	position: relative;
	display: grid;
	grid-template-columns: minmax(0,1fr) 86px minmax(0,1fr);
	align-items: stretch;
	gap: 0;
}
body.page-template-page-organizations .org-compare-head {
	position: relative;
	min-height: 250px;
	padding: 30px 34px;
	color: #fff;
	overflow: hidden;
}
body.page-template-page-organizations .org-compare-head::after {
	content: "";
	position: absolute;
	right: -48px;
	bottom: -48px;
	width: 150px;
	height: 150px;
	border: 1px solid rgba(255,255,255,.16);
	border-radius: 50%;
	box-shadow: 0 0 0 26px rgba(255,255,255,.03);
}
body.page-template-page-organizations .org-compare-head--blue {
	background: linear-gradient(145deg, #0d3f72, #2b6cae);
}
body.page-template-page-organizations .org-compare-head--orange {
	background: linear-gradient(145deg, #9f461c, #da6a30);
}
body.page-template-page-organizations .org-compare-head__top {
	display: flex;
	align-items: center;
	gap: 14px;
	margin-bottom: 28px;
}
body.page-template-page-organizations .org-compare-head__icon {
	display: grid;
	place-items: center;
	width: 52px;
	height: 52px;
	border: 1px solid rgba(255,255,255,.32);
	border-radius: 50%;
	background: rgba(255,255,255,.08);
}
body.page-template-page-organizations .org-compare-head__icon .riz-icon {
	width: 24px;
	height: 24px;
}
body.page-template-page-organizations .org-compare-head small {
	font-size: 9px;
	font-weight: 800;
	letter-spacing: .15em;
	opacity: .70;
}
body.page-template-page-organizations .org-compare-head h3 {
	position: relative;
	z-index: 1;
	margin: 0;
	font-family: var(--riz-serif);
	font-size: clamp(25px, 2.4vw, 34px);
	font-weight: 500;
	line-height: 1.45;
	word-break: keep-all;
}
body.page-template-page-organizations .org-compare-head p {
	position: relative;
	z-index: 1;
	max-width: 570px;
	margin: 18px 0 0;
	color: rgba(255,255,255,.82);
	font-size: 14px;
	line-height: 1.85;
}
body.page-template-page-organizations .org-compare__brand-node {
	align-self: center;
	justify-self: center;
	display: grid;
	place-items: center;
	width: 72px;
	height: 72px;
	margin-inline: 7px;
	border: 1px solid rgba(11,26,47,.13);
	border-radius: 50%;
	background: #fff;
	box-shadow: 0 12px 34px rgba(11,26,47,.12);
	z-index: 2;
}
body.page-template-page-organizations .org-compare__brand-node span {
	font-family: var(--riz-serif);
	font-size: 20px;
	font-weight: 700;
	color: var(--riz-ink);
}

/* Paired data matrix */
body.page-template-page-organizations .org-compare-table {
	margin-top: 16px;
	border: 1px solid rgba(11,26,47,.10);
	background: #fff;
}
body.page-template-page-organizations .org-compare-row {
	display: grid;
	grid-template-columns: minmax(0,1fr) 150px minmax(0,1fr);
	align-items: stretch;
	border-bottom: 1px solid rgba(11,26,47,.09);
}
body.page-template-page-organizations .org-compare-row:last-child {
	border-bottom: 0;
}
body.page-template-page-organizations .org-compare-label {
	display: grid;
	place-items: center;
	min-height: 68px;
	padding: 14px 12px;
	color: var(--riz-ink-soft);
	background: #f4f2ed;
	border-inline: 1px solid rgba(11,26,47,.09);
	font-size: 11px;
	font-weight: 800;
	letter-spacing: .06em;
	text-align: center;
}
body.page-template-page-organizations .org-compare-value {
	min-height: 68px;
	padding: 18px 24px;
	font-size: 14px;
	font-weight: 550;
	line-height: 1.7;
}
body.page-template-page-organizations .org-compare-value strong {
	font-family: var(--riz-serif);
	font-size: 19px;
	font-weight: 550;
}
body.page-template-page-organizations .org-compare-value--blue {
	border-left: 3px solid rgba(43,108,174,.55);
}
body.page-template-page-organizations .org-compare-value--orange {
	border-right: 3px solid rgba(218,106,48,.58);
}
body.page-template-page-organizations .org-compare-row--role .org-compare-value,
body.page-template-page-organizations .org-compare-row--role .org-compare-label {
	min-height: 112px;
}

/* Access: map + information in one compact viewport */
body.page-template-page-organizations .access-section--compact {
	padding: clamp(78px, 8vw, 112px) 0;
	background: var(--riz-paper);
}
body.page-template-page-organizations .access-compact__head {
	display: flex;
	align-items: end;
	justify-content: space-between;
	gap: 40px;
	margin-bottom: 38px;
}
body.page-template-page-organizations .access-compact__head h2 {
	margin: 0;
	font-family: var(--riz-serif);
	font-size: clamp(38px, 4vw, 54px);
	font-weight: 500;
}
body.page-template-page-organizations .access-compact__head > p {
	margin: 0 0 7px;
	color: var(--riz-ink-soft);
	font-size: 15px;
}
body.page-template-page-organizations .access-compact__grid {
	display: grid;
	grid-template-columns: minmax(0,1.18fr) minmax(340px,.82fr);
	gap: 24px;
	align-items: stretch;
}
body.page-template-page-organizations .access-map--compact {
	margin: 0;
	min-height: 500px;
}
body.page-template-page-organizations .access-map--compact iframe {
	height: 100%;
	min-height: 500px;
	border-radius: 3px;
}
body.page-template-page-organizations .access-compact__info {
	display: grid;
	gap: 0;
	background: #fff;
	border: 1px solid rgba(11,26,47,.10);
}
body.page-template-page-organizations .access-compact__info section {
	padding: 24px 26px;
	border-bottom: 1px solid rgba(11,26,47,.09);
}
body.page-template-page-organizations .access-compact__eyebrow {
	margin: 0 0 8px;
	color: var(--riz-blue);
	font-size: 8px;
	font-weight: 800;
	letter-spacing: .16em;
}
body.page-template-page-organizations .access-compact__info h3 {
	margin: 0 0 15px;
	font-family: var(--riz-serif);
	font-size: 22px;
	font-weight: 550;
}
body.page-template-page-organizations .access-compact__info address {
	margin: 0;
	font-size: 14px;
	font-style: normal;
	font-weight: 650;
	line-height: 1.8;
}
body.page-template-page-organizations .access-compact__info section > p:last-child {
	margin: 10px 0 0;
	color: var(--riz-ink-soft);
	font-size: 11px;
	line-height: 1.7;
}
body.page-template-page-organizations .access-routes--compact {
	gap: 0;
}
body.page-template-page-organizations .access-routes--compact li {
	display: flex;
	justify-content: space-between;
	gap: 18px;
	padding: 8px 0;
	border-bottom: 1px solid rgba(11,26,47,.06);
	font-size: 12px;
	line-height: 1.5;
}
body.page-template-page-organizations .access-routes--compact li:last-child {
	border-bottom: 0;
}
body.page-template-page-organizations .access-routes--compact strong {
	font-weight: 750;
}
body.page-template-page-organizations .access-routes--compact span {
	color: var(--riz-ink-soft);
	text-align: right;
}
body.page-template-page-organizations .access-compact__actions {
	padding: 22px 26px;
}
body.page-template-page-organizations .access-compact__actions .access-map-link {
	margin: 0;
}
body.page-template-page-organizations .access-compact__actions p {
	margin: 14px 0 0;
	color: var(--riz-orange-deep);
	font-size: 11px;
}

/* Contract + contact merged into one compact closing band */
body.page-template-page-organizations .organization-contract {
	padding: 52px 0;
	background: #fff;
	border-top: 1px solid var(--riz-line);
}
body.page-template-page-organizations .organization-contract__inner {
	display: grid;
	grid-template-columns: 62px minmax(0,1fr) auto;
	gap: 24px;
	align-items: center;
}
body.page-template-page-organizations .organization-contract__icon {
	display: grid;
	place-items: center;
	width: 58px;
	height: 58px;
	color: #fff;
	border-radius: 50%;
	background: linear-gradient(135deg, var(--riz-blue-deep), var(--riz-orange));
}
body.page-template-page-organizations .organization-contract__icon .riz-icon {
	width: 26px;
	height: 26px;
}
body.page-template-page-organizations .organization-contract h2 {
	margin: 0;
	font-family: var(--riz-serif);
	font-size: 26px;
	font-weight: 550;
}
body.page-template-page-organizations .organization-contract p:last-child {
	max-width: 820px;
	margin: 8px 0 0;
	color: var(--riz-ink-soft);
	font-size: 13px;
	line-height: 1.8;
}
body.page-template-page-organizations .organization-contract .cta-button {
	min-width: 210px;
	margin: 0;
}

/* Retire older large standalone organization blocks */
body.page-template-page-organizations .organization-overview,
body.page-template-page-organizations .organization-note {
	display: none;
}

@media (max-width: 980px) {
	body.page-template-page-organizations .org-compare__heads {
		grid-template-columns: 1fr;
		gap: 12px;
	}
	body.page-template-page-organizations .org-compare__brand-node {
		width: 58px;
		height: 58px;
		margin: -6px auto;
	}
	body.page-template-page-organizations .org-compare-row {
		grid-template-columns: 1fr;
	}
	body.page-template-page-organizations .org-compare-label {
		order: -1;
		min-height: auto;
		padding: 9px 16px;
		border-inline: 0;
		border-bottom: 1px solid rgba(11,26,47,.08);
		place-items: start;
		text-align: left;
	}
	body.page-template-page-organizations .org-compare-value {
		min-height: auto;
	}
	body.page-template-page-organizations .org-compare-value--blue {
		border-left: 3px solid rgba(43,108,174,.55);
		border-bottom: 1px dashed rgba(11,26,47,.10);
	}
	body.page-template-page-organizations .org-compare-value--orange {
		border-right: 0;
		border-left: 3px solid rgba(218,106,48,.58);
	}
	body.page-template-page-organizations .org-compare-row--role .org-compare-value,
	body.page-template-page-organizations .org-compare-row--role .org-compare-label {
		min-height: auto;
	}
	body.page-template-page-organizations .access-compact__grid {
		grid-template-columns: 1fr;
	}
	body.page-template-page-organizations .access-map--compact,
	body.page-template-page-organizations .access-map--compact iframe {
		min-height: 360px;
	}
	body.page-template-page-organizations .organization-contract__inner {
		grid-template-columns: 58px 1fr;
	}
	body.page-template-page-organizations .organization-contract .cta-button {
		grid-column: 2;
		justify-self: start;
	}
}

@media (max-width: 680px) {
	body.page-template-page-organizations .organizations-hero {
		min-height: 58svh;
	}
	body.page-template-page-organizations .organizations-hero h1 {
		font-size: 39px;
	}
	body.page-template-page-organizations .org-compare,
	body.page-template-page-organizations .access-section--compact {
		padding: 70px 0;
	}
	body.page-template-page-organizations .org-compare__intro h2 {
		font-size: 38px;
	}
	body.page-template-page-organizations .org-compare-head {
		min-height: 230px;
		padding: 25px 22px;
	}
	body.page-template-page-organizations .org-compare-value {
		padding: 16px 18px;
		font-size: 13px;
	}
	body.page-template-page-organizations .access-compact__head {
		display: block;
	}
	body.page-template-page-organizations .access-compact__head > p {
		margin-top: 12px;
	}
	body.page-template-page-organizations .access-map--compact,
	body.page-template-page-organizations .access-map--compact iframe {
		min-height: 320px;
	}
	body.page-template-page-organizations .access-routes--compact li {
		display: grid;
		gap: 3px;
	}
	body.page-template-page-organizations .access-routes--compact span {
		text-align: left;
	}
	body.page-template-page-organizations .organization-contract {
		padding: 42px 0;
	}
	body.page-template-page-organizations .organization-contract__inner {
		grid-template-columns: 1fr;
	}
	body.page-template-page-organizations .organization-contract__icon {
		width: 50px;
		height: 50px;
	}
	body.page-template-page-organizations .organization-contract .cta-button {
		grid-column: 1;
	}
}


/* =========================================================
   Organizations contract/confidentiality + section order — v0.5.34
   Scope: organizations page only
   ========================================================= */

body.page-template-page-organizations .organization-assurance {
	padding: clamp(56px, 6vw, 82px) 0;
	background: #f7f6f2;
	border-top: 1px solid rgba(11,26,47,.08);
	border-bottom: 1px solid rgba(11,26,47,.08);
}
body.page-template-page-organizations .organization-assurance__grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0,1fr));
	gap: 16px;
}
body.page-template-page-organizations .organization-assurance__card {
	display: grid;
	grid-template-columns: 58px minmax(0,1fr);
	gap: 20px;
	min-height: 230px;
	padding: 28px 30px;
	background: #fff;
	border: 1px solid rgba(11,26,47,.09);
	box-shadow: 0 16px 42px rgba(11,26,47,.055);
}
body.page-template-page-organizations .organization-assurance__card--contract {
	border-top: 3px solid rgba(43,108,174,.72);
}
body.page-template-page-organizations .organization-assurance__card--confidential {
	border-top: 3px solid rgba(218,106,48,.78);
}
body.page-template-page-organizations .organization-assurance__icon {
	display: grid;
	place-items: center;
	width: 54px;
	height: 54px;
	color: #fff;
	border-radius: 50%;
	background: linear-gradient(135deg, var(--riz-blue-deep), var(--riz-orange));
}
body.page-template-page-organizations .organization-assurance__icon .riz-icon {
	width: 25px;
	height: 25px;
}
body.page-template-page-organizations .organization-assurance__card h2 {
	margin: 0;
	font-family: var(--riz-serif);
	font-size: clamp(24px,2vw,30px);
	font-weight: 550;
}
body.page-template-page-organizations .organization-assurance__card p:last-child {
	margin: 14px 0 0;
	color: var(--riz-ink-soft);
	font-size: 13px;
	line-height: 1.9;
}
body.page-template-page-organizations .organization-assurance__action {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 30px;
	margin-top: 18px;
	padding: 18px 22px;
	background: #fff;
	border: 1px solid rgba(11,26,47,.08);
}
body.page-template-page-organizations .organization-assurance__action p {
	margin: 0;
	color: var(--riz-ink-soft);
	font-size: 13px;
}
body.page-template-page-organizations .organization-assurance__action .cta-button {
	min-width: 205px;
	margin: 0;
}

/* Old closing band is no longer used in v0.5.34. */
body.page-template-page-organizations .organization-contract {
	display: none;
}

/* Access now deliberately closes the page. */
body.page-template-page-organizations .access-section--compact {
	border-top: 0;
}

@media (max-width: 860px) {
	body.page-template-page-organizations .organization-assurance__grid {
		grid-template-columns: 1fr;
	}
	body.page-template-page-organizations .organization-assurance__card {
		min-height: 0;
	}
}

@media (max-width: 620px) {
	body.page-template-page-organizations .organization-assurance {
		padding: 52px 0;
	}
	body.page-template-page-organizations .organization-assurance__card {
		grid-template-columns: 46px minmax(0,1fr);
		gap: 15px;
		padding: 22px 18px;
	}
	body.page-template-page-organizations .organization-assurance__icon {
		width: 44px;
		height: 44px;
	}
	body.page-template-page-organizations .organization-assurance__action {
		display: grid;
	}
	body.page-template-page-organizations .organization-assurance__action .cta-button {
		justify-self: start;
	}
}


/* =========================================================
   Access schematic map — v0.5.35
   Scope: organizations/access section only
   ========================================================= */

body.page-template-page-organizations .access-schematic {
	margin: 0 0 24px;
	padding: 24px 26px 20px;
	background: #fff;
	border: 1px solid rgba(11,26,47,.10);
	box-shadow: 0 18px 44px rgba(11,26,47,.055);
}
body.page-template-page-organizations .access-schematic__head {
	display: flex;
	justify-content: space-between;
	align-items: end;
	gap: 36px;
	margin-bottom: 18px;
}
body.page-template-page-organizations .access-schematic__head h3 {
	margin: 0;
	font-family: var(--riz-serif);
	font-size: 27px;
	font-weight: 550;
}
body.page-template-page-organizations .access-schematic__head > p {
	max-width: 520px;
	margin: 0 0 3px;
	color: var(--riz-ink-soft);
	font-size: 12px;
	line-height: 1.7;
	text-align: right;
}
body.page-template-page-organizations .access-schematic__canvas {
	position: relative;
	overflow: hidden;
	border-radius: 10px;
	background:
		linear-gradient(rgba(11,26,47,.018) 1px, transparent 1px),
		linear-gradient(90deg, rgba(11,26,47,.018) 1px, transparent 1px),
		#faf9f6;
	background-size: 34px 34px;
}
body.page-template-page-organizations .access-schematic__svg {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 1000 / 560;
}

/* map primitives */
body.page-template-page-organizations .access-schematic__road {
	fill: none;
	stroke: #d7d8d8;
	stroke-width: 18;
	stroke-linecap: round;
}
body.page-template-page-organizations .access-schematic__road--major {
	stroke: #c9cccf;
	stroke-width: 28;
}
body.page-template-page-organizations .access-schematic__water {
	fill: #dfeef5;
	opacity: .95;
}
body.page-template-page-organizations .access-schematic__landmark {
	fill: #71859a;
	font-size: 18px;
	font-weight: 700;
	letter-spacing: .05em;
}
body.page-template-page-organizations .access-schematic__route {
	fill: none;
	stroke-width: 4;
	stroke-linecap: round;
	stroke-dasharray: 8 10;
	opacity: .78;
}
body.page-template-page-organizations .access-schematic__route--blue {
	stroke: #2b6cae;
}
body.page-template-page-organizations .access-schematic__route--orange {
	stroke: #da6a30;
}

/* RiZ marker */
body.page-template-page-organizations .access-schematic__riz circle {
	fill: #fff;
	stroke: #da6a30;
	stroke-width: 7;
}
body.page-template-page-organizations .access-schematic__riz text {
	fill: #0b1a2f;
	font-family: var(--riz-serif);
	font-size: 27px;
	font-weight: 700;
	text-anchor: middle;
}
body.page-template-page-organizations .access-schematic__riz .access-schematic__riz-sub {
	fill: #b65325;
	font-family: inherit;
	font-size: 13px;
	font-weight: 750;
}

/* Stations */
body.page-template-page-organizations .access-schematic__station rect {
	fill: #fff;
	stroke: #d5dadd;
	stroke-width: 1.2;
}
body.page-template-page-organizations .access-schematic__station text {
	fill: #0b2948;
	font-family: var(--riz-serif);
	font-size: 20px;
	font-weight: 650;
	text-anchor: middle;
}
body.page-template-page-organizations .access-schematic__station .access-schematic__station-sub {
	fill: #587086;
	font-family: inherit;
	font-size: 12px;
	font-weight: 700;
}
body.page-template-page-organizations .access-schematic__station--takebashi rect,
body.page-template-page-organizations .access-schematic__station--jimbocho rect {
	stroke: rgba(43,108,174,.55);
}
body.page-template-page-organizations .access-schematic__station--otemachi rect,
body.page-template-page-organizations .access-schematic__station--ogawamachi rect,
body.page-template-page-organizations .access-schematic__station--kanda rect {
	stroke: rgba(218,106,48,.55);
}

/* North */
body.page-template-page-organizations .access-schematic__north path {
	fill: #0b1a2f;
}
body.page-template-page-organizations .access-schematic__north line {
	stroke: #0b1a2f;
	stroke-width: 2;
}
body.page-template-page-organizations .access-schematic__north text {
	fill: #0b1a2f;
	font-size: 14px;
	font-weight: 800;
	text-anchor: middle;
}

/* legend */
body.page-template-page-organizations .access-schematic__legend {
	display: flex;
	flex-wrap: wrap;
	gap: 16px 26px;
	align-items: center;
	margin-top: 14px;
	color: var(--riz-ink-soft);
	font-size: 11px;
}
body.page-template-page-organizations .access-schematic__legend span {
	display: inline-flex;
	align-items: center;
	gap: 7px;
}
body.page-template-page-organizations .access-schematic__dot {
	display: inline-block;
	width: 8px;
	height: 8px;
	border-radius: 50%;
}
body.page-template-page-organizations .access-schematic__dot--blue {
	background: #2b6cae;
}
body.page-template-page-organizations .access-schematic__dot--orange {
	background: #da6a30;
}

@media (max-width: 760px) {
	body.page-template-page-organizations .access-schematic {
		padding: 18px 14px 16px;
	}
	body.page-template-page-organizations .access-schematic__head {
		display: block;
	}
	body.page-template-page-organizations .access-schematic__head > p {
		margin-top: 8px;
		text-align: left;
	}
	body.page-template-page-organizations .access-schematic__canvas {
		overflow-x: auto;
	}
	body.page-template-page-organizations .access-schematic__svg {
		min-width: 760px;
	}
	body.page-template-page-organizations .access-schematic__legend {
		font-size: 10px;
	}
}


/* =========================================================
   Access visitor destination = Main building — v0.5.36
   Scope: organizations/access section only
   ========================================================= */

/* The most important instruction on the access section */
body.page-template-page-organizations .access-visit-destination {
	position: relative;
	margin: -4px 0 28px;
	padding: clamp(25px,3vw,38px) clamp(24px,4vw,52px);
	overflow: hidden;
	color: #fff;
	background:
		radial-gradient(circle at 92% 20%, rgba(255,255,255,.10) 0 9%, transparent 9.3% 16%, rgba(255,255,255,.035) 16.3% 27%, transparent 27.3%),
		linear-gradient(115deg,#0a2947 0%,#113e67 64%,#6e3e27 145%);
	box-shadow: 0 20px 54px rgba(11,26,47,.13);
}
body.page-template-page-organizations .access-visit-destination::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	bottom: 0;
	width: 6px;
	background: var(--riz-orange);
}
body.page-template-page-organizations .access-visit-destination__lead,
body.page-template-page-organizations .access-visit-destination__main,
body.page-template-page-organizations .access-visit-destination__end {
	position: relative;
	z-index: 1;
	margin: 0;
}
body.page-template-page-organizations .access-visit-destination__lead {
	font-size: clamp(17px,1.6vw,22px);
	font-weight: 700;
	letter-spacing: .05em;
}
body.page-template-page-organizations .access-visit-destination__main {
	margin-top: 8px;
	color: #fff;
	font-family: var(--riz-serif);
	font-size: clamp(30px,4vw,54px);
	font-weight: 600;
	line-height: 1.35;
	letter-spacing: -.025em;
	text-wrap: balance;
}
body.page-template-page-organizations .access-visit-destination__end {
	margin-top: 4px;
	font-family: var(--riz-serif);
	font-size: clamp(22px,2.4vw,34px);
	font-weight: 500;
}
body.page-template-page-organizations .access-visit-destination address {
	position: relative;
	z-index: 1;
	margin-top: 18px;
	color: rgba(255,255,255,.72);
	font-size: 13px;
	font-style: normal;
	letter-spacing: .025em;
}

/* Main building is the strongest node in the schematic. */
body.page-template-page-organizations .access-schematic__main-building circle {
	fill: #fff;
	stroke: #da6a30;
	stroke-width: 8;
}
body.page-template-page-organizations .access-schematic__destination-label {
	fill: #da6a30 !important;
	font-family: inherit !important;
	font-size: 11px !important;
	font-weight: 900 !important;
	letter-spacing: .08em;
}
body.page-template-page-organizations .access-schematic__main-building > text:not(.access-schematic__destination-label):not(.access-schematic__riz-sub) {
	fill: #0b1a2f;
	font-family: var(--riz-serif);
	font-size: 29px;
	font-weight: 750;
	text-anchor: middle;
}

/* ANNEX10 is intentionally secondary: location reference, not visitor route. */
body.page-template-page-organizations .access-schematic__annex rect {
	fill: #fff;
	stroke: #73879a;
	stroke-width: 1.4;
	stroke-dasharray: 4 4;
}
body.page-template-page-organizations .access-schematic__annex text {
	fill: #4d6275;
	font-size: 13px;
	font-weight: 800;
	text-anchor: middle;
}
body.page-template-page-organizations .access-schematic__annex .access-schematic__annex-sub {
	fill: #73879a;
	font-size: 11px;
	font-weight: 700;
}
body.page-template-page-organizations .access-schematic__annex-guide {
	fill: none;
	stroke: #8ea0af;
	stroke-width: 2;
	stroke-dasharray: 4 6;
}

/* Visitor information card */
body.page-template-page-organizations .access-compact__visit-info strong {
	display: block;
	margin: 0 0 10px;
	color: #b65325;
	font-family: var(--riz-serif);
	font-size: 19px;
	font-weight: 650;
	line-height: 1.5;
}

@media (max-width: 680px) {
	body.page-template-page-organizations .access-visit-destination {
		padding: 24px 20px 25px;
	}
	body.page-template-page-organizations .access-visit-destination__main {
		font-size: 31px;
	}
	body.page-template-page-organizations .access-visit-destination__end {
		font-size: 23px;
	}
}


/* =========================================================
   Access station line names — v0.5.37
   Scope: organizations/access section only
   ========================================================= */

body.page-template-page-organizations .access-schematic__station .access-schematic__station-line {
	fill: #2f5f86;
	font-family: inherit;
	font-size: 9.5px;
	font-weight: 800;
	letter-spacing: .01em;
	text-anchor: middle;
}

body.page-template-page-organizations .access-routes--compact li {
	align-items: start;
}
body.page-template-page-organizations .access-routes--compact strong {
	max-width: 72%;
	font-size: 11.5px;
	line-height: 1.6;
}
body.page-template-page-organizations .access-routes--compact span {
	flex: 0 0 auto;
	padding-top: 1px;
}

@media (max-width: 680px) {
	body.page-template-page-organizations .access-routes--compact strong {
		max-width: none;
		font-size: 12px;
	}
}


/* =========================================================
   Access transport notes — v0.5.38
   JPO / car / taxi
   ========================================================= */

body.page-template-page-organizations .access-transport-notes {
	display: grid;
	grid-template-columns: 1.15fr 1.35fr .9fr;
	gap: 14px;
	margin-top: 24px;
}
body.page-template-page-organizations .access-transport-card {
	display: grid;
	grid-template-columns: 48px minmax(0,1fr);
	gap: 16px;
	min-height: 180px;
	padding: 22px 22px 20px;
	background: #fff;
	border: 1px solid rgba(11,26,47,.09);
	box-shadow: 0 14px 34px rgba(11,26,47,.045);
}
body.page-template-page-organizations .access-transport-card--jpo {
	border-top: 3px solid #2b6cae;
}
body.page-template-page-organizations .access-transport-card--car {
	border-top: 3px solid #da6a30;
}
body.page-template-page-organizations .access-transport-card--taxi {
	border-top: 3px solid #8a6a46;
}
body.page-template-page-organizations .access-transport-card__icon {
	display: grid;
	place-items: center;
	width: 46px;
	height: 46px;
	color: #fff;
	border-radius: 50%;
	background: linear-gradient(135deg,#0b355f,#d46d35);
}
body.page-template-page-organizations .access-transport-card__icon .riz-icon {
	width: 22px;
	height: 22px;
}
body.page-template-page-organizations .access-transport-card h3 {
	margin: 0;
	font-family: var(--riz-serif);
	font-size: 21px;
	font-weight: 550;
	line-height: 1.5;
}
body.page-template-page-organizations .access-transport-card h3 strong {
	color: var(--riz-orange-deep);
	font-size: 1.05em;
	font-weight: 700;
}
body.page-template-page-organizations .access-transport-card p:not(.access-compact__eyebrow) {
	margin: 11px 0 0;
	color: var(--riz-ink-soft);
	font-size: 12px;
	line-height: 1.75;
}
body.page-template-page-organizations .access-transport-card__note {
	padding-top: 9px;
	border-top: 1px solid rgba(11,26,47,.07);
}

@media (max-width: 980px) {
	body.page-template-page-organizations .access-transport-notes {
		grid-template-columns: 1fr;
	}
	body.page-template-page-organizations .access-transport-card {
		min-height: 0;
	}
}

@media (max-width: 620px) {
	body.page-template-page-organizations .access-transport-card {
		grid-template-columns: 42px minmax(0,1fr);
		padding: 19px 17px;
	}
	body.page-template-page-organizations .access-transport-card__icon {
		width: 40px;
		height: 40px;
	}
}


/* =========================================================
   JPO travel time + visual route — v0.5.39
   ========================================================= */

body.page-template-page-organizations .access-jpo-times {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-top: 12px;
}
body.page-template-page-organizations .access-jpo-times > span {
	display: inline-flex;
	align-items: baseline;
	gap: 7px;
	padding: 7px 11px;
	border-radius: 999px;
	background: rgba(43,108,174,.08);
	border: 1px solid rgba(43,108,174,.14);
}
body.page-template-page-organizations .access-jpo-times small {
	color: var(--riz-ink-soft);
	font-size: 10px;
	font-weight: 800;
	letter-spacing: .06em;
}
body.page-template-page-organizations .access-jpo-times strong {
	color: var(--riz-orange-deep);
	font-size: 15px;
	font-weight: 800;
}
body.page-template-page-organizations .access-jpo-route {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 5px 7px;
	margin-top: 15px !important;
	padding-top: 13px;
	border-top: 1px solid rgba(11,26,47,.08);
}
body.page-template-page-organizations .access-jpo-route span {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	color: var(--riz-ink);
	font-size: 11px;
	font-weight: 750;
}
body.page-template-page-organizations .access-jpo-route b {
	color: #8fa0ae;
	font-size: 11px;
	font-weight: 500;
}
body.page-template-page-organizations .access-jpo-route em {
	display: inline-block;
	padding: 2px 5px;
	color: #fff;
	border-radius: 999px;
	background: var(--riz-orange);
	font-size: 8px;
	font-style: normal;
	font-weight: 800;
	white-space: nowrap;
}
body.page-template-page-organizations .access-jpo-note {
	margin-top: 9px !important;
	font-size: 10px !important;
	color: rgba(11,26,47,.48) !important;
}


/* =========================================================
   Access refinement: neutral notice + corporate schematic map — v0.5.40
   ========================================================= */

/* Neutral visitor destination: informative, not a hero banner */
body.page-template-page-organizations .access-visit-destination--compact {
	margin: 0 0 24px;
	padding: 17px 20px 15px;
	color: var(--riz-ink);
	background: #fff;
	border: 1px solid rgba(11,26,47,.10);
	border-left: 3px solid rgba(11,26,47,.32);
	box-shadow: none;
}
body.page-template-page-organizations .access-visit-destination--compact::before {
	display: none;
}
body.page-template-page-organizations .access-visit-destination--compact p {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 5px 8px;
	margin: 0;
	color: var(--riz-ink);
	font-size: 15px;
	font-weight: 550;
	line-height: 1.7;
}
body.page-template-page-organizations .access-visit-destination--compact strong {
	font-family: var(--riz-serif);
	font-size: clamp(20px,2vw,27px);
	font-weight: 600;
	color: var(--riz-ink);
}
body.page-template-page-organizations .access-visit-destination--compact address {
	margin-top: 6px;
	color: var(--riz-ink-soft);
	font-size: 11px;
}

/* Typical corporate access map: white + gray roads, small location marks */
body.page-template-page-organizations .access-schematic__canvas--corporate {
	background: #fff;
	border: 1px solid rgba(11,26,47,.09);
	border-radius: 0;
}
body.page-template-page-organizations .access-schematic__svg--corporate {
	aspect-ratio: 1000 / 560;
	background: #fafafa;
}
body.page-template-page-organizations .access-mapcorp__road {
	fill: none;
	stroke: #d9dcde;
	stroke-width: 18;
	stroke-linecap: round;
}
body.page-template-page-organizations .access-mapcorp__road--wide {
	stroke-width: 30;
	stroke: #cfd3d6;
}
body.page-template-page-organizations .access-mapcorp__road--minor {
	stroke-width: 9;
	stroke: #e4e6e7;
}
body.page-template-page-organizations .access-mapcorp__road-label {
	fill: #8a9298;
	font-size: 12px;
	font-weight: 650;
}
body.page-template-page-organizations .access-mapcorp__landmark {
	fill: #7f8d96;
	font-size: 13px;
	font-weight: 700;
}
body.page-template-page-organizations .access-mapcorp__park {
	fill: #edf1ef;
	stroke: none;
}
body.page-template-page-organizations .access-mapcorp__park-label {
	fill: #82918a;
	font-size: 15px;
	font-weight: 650;
	text-anchor: middle;
}

/* Main building is just a normal destination box, not a giant badge */
body.page-template-page-organizations .access-mapcorp__main rect {
	fill: #fff;
	stroke: #273746;
	stroke-width: 2;
}
body.page-template-page-organizations .access-mapcorp__main text {
	fill: #172838;
	font-size: 14px;
	font-weight: 750;
	text-anchor: middle;
}
body.page-template-page-organizations .access-mapcorp__main .access-mapcorp__small {
	fill: #66747e;
	font-size: 9.5px;
	font-weight: 650;
}

/* ANNEX10 is intentionally a tiny square, nearby */
body.page-template-page-organizations .access-mapcorp__annex rect {
	fill: #687784;
}
body.page-template-page-organizations .access-mapcorp__annex text {
	fill: #4c5b66;
	font-size: 12px;
	font-weight: 750;
	text-anchor: start;
}
body.page-template-page-organizations .access-mapcorp__annex .access-mapcorp__small {
	fill: #82909a;
	font-size: 9.5px;
	font-weight: 650;
}
body.page-template-page-organizations .access-mapcorp__walk {
	fill: none;
	stroke: #8d979e;
	stroke-width: 1.5;
	stroke-dasharray: 3 3;
}
body.page-template-page-organizations .access-mapcorp__walk-label {
	fill: #7c868e;
	font-size: 9px;
	font-weight: 650;
	text-anchor: middle;
}

/* Stations */
body.page-template-page-organizations .access-mapcorp__station rect {
	fill: #fff;
	stroke: #aeb7bd;
	stroke-width: 1.1;
}
body.page-template-page-organizations .access-mapcorp__station text {
	fill: #243746;
	font-size: 15px;
	font-weight: 750;
	text-anchor: middle;
}
body.page-template-page-organizations .access-mapcorp__station .access-mapcorp__small {
	fill: #6e7c86;
	font-size: 9.5px;
	font-weight: 650;
}
body.page-template-page-organizations .access-mapcorp__guide {
	fill: none;
	stroke: #9ca6ad;
	stroke-width: 2;
	stroke-dasharray: 4 6;
	opacity: .8;
}
body.page-template-page-organizations .access-mapcorp__north path {
	fill: #384954;
}
body.page-template-page-organizations .access-mapcorp__north line {
	stroke: #384954;
	stroke-width: 1.4;
}
body.page-template-page-organizations .access-mapcorp__north text {
	fill: #384954;
	font-size: 11px;
	font-weight: 800;
	text-anchor: middle;
}
body.page-template-page-organizations .access-schematic__legend--corporate {
	gap: 14px 22px;
}
body.page-template-page-organizations .access-mapcorp__legend-main,
body.page-template-page-organizations .access-mapcorp__legend-annex {
	display: inline-block;
	width: 10px;
	height: 10px;
}
body.page-template-page-organizations .access-mapcorp__legend-main {
	background: #fff;
	border: 1.5px solid #273746;
}
body.page-template-page-organizations .access-mapcorp__legend-annex {
	background: #687784;
}

/* Retire the older giant-circle and colored-route visual language */
body.page-template-page-organizations .access-schematic__route,
body.page-template-page-organizations .access-schematic__riz,
body.page-template-page-organizations .access-schematic__annex,
body.page-template-page-organizations .access-schematic__station,
body.page-template-page-organizations .access-schematic__water,
body.page-template-page-organizations .access-schematic__landmark,
body.page-template-page-organizations .access-schematic__north {
	display: none;
}

@media (max-width: 760px) {
	body.page-template-page-organizations .access-visit-destination--compact p {
		display: block;
	}
	body.page-template-page-organizations .access-visit-destination--compact strong {
		display: block;
		margin: 2px 0;
	}
	body.page-template-page-organizations .access-schematic__svg--corporate {
		min-width: 760px;
	}
}


/* =========================================================
   Access real-geography schematic — v0.5.41
   Real arterial roads + JR rail corridor
   ========================================================= */

body.page-template-page-organizations .access-schematic__canvas--real {
	overflow: hidden;
	background: #f7f7f5;
	border: 1px solid rgba(11,26,47,.10);
	border-radius: 0;
}
body.page-template-page-organizations .access-schematic__svg--real {
	display: block;
	width: 100%;
	height: auto;
	background: #f8f8f6;
}
body.page-template-page-organizations .access-realmap__base {
	fill: #f8f8f6;
}
body.page-template-page-organizations .access-realmap__blocks rect {
	fill: #f0f0ed;
	stroke: #e5e5e1;
	stroke-width: 1;
}

/* Road hierarchy */
body.page-template-page-organizations .access-realmap__road {
	fill: none;
	stroke-linecap: round;
	stroke: #d0d2d3;
}
body.page-template-page-organizations .access-realmap__road--major {
	stroke-width: 28;
}
body.page-template-page-organizations .access-realmap__road--medium {
	stroke-width: 20;
}
body.page-template-page-organizations .access-realmap__street {
	fill: none;
	stroke: #dedfdf;
	stroke-width: 9;
	stroke-linecap: round;
}
body.page-template-page-organizations .access-realmap__road-name {
	fill: #78828a;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .08em;
}
body.page-template-page-organizations .access-realmap__road-name--vertical {
	writing-mode: vertical-rl;
	text-orientation: upright;
	letter-spacing: .1em;
}

/* South context */
body.page-template-page-organizations .access-realmap__water {
	fill: #dcebf2;
}
body.page-template-page-organizations .access-realmap__water-label {
	fill: #758d99;
	font-size: 14px;
	font-weight: 700;
}
body.page-template-page-organizations .access-realmap__expressway {
	fill: none;
	stroke: #9ca3a7;
	stroke-width: 8;
	stroke-linecap: round;
}
body.page-template-page-organizations .access-realmap__expressway-label {
	fill: #747b80;
	font-size: 10px;
	font-weight: 700;
	letter-spacing: .06em;
}

/* JR corridor */
body.page-template-page-organizations .access-realmap__rail line {
	stroke: #6f777c;
	stroke-width: 2;
}
body.page-template-page-organizations .access-realmap__rail-label {
	fill: #70787d;
	font-size: 10px;
	font-weight: 700;
	letter-spacing: .04em;
}

/* Destination + nearby RiZ location */
body.page-template-page-organizations .access-realmap__main rect {
	fill: #fff;
	stroke: #253746;
	stroke-width: 2;
}
body.page-template-page-organizations .access-realmap__main text {
	fill: #172a39;
	font-size: 13px;
	font-weight: 750;
	text-anchor: middle;
}
body.page-template-page-organizations .access-realmap__main .access-realmap__small {
	fill: #677681;
	font-size: 9.5px;
	font-weight: 650;
}
body.page-template-page-organizations .access-realmap__annex rect {
	fill: #697983;
}
body.page-template-page-organizations .access-realmap__annex text {
	fill: #485965;
	font-size: 11px;
	font-weight: 750;
}
body.page-template-page-organizations .access-realmap__annex .access-realmap__small {
	fill: #7c8b95;
	font-size: 9px;
	font-weight: 650;
}
body.page-template-page-organizations .access-realmap__walk {
	fill: none;
	stroke: #808b92;
	stroke-width: 1.5;
	stroke-dasharray: 3 3;
}
body.page-template-page-organizations .access-realmap__walk-label {
	fill: #727e86;
	font-size: 8.5px;
	font-weight: 700;
	text-anchor: middle;
}

/* Landmarks */
body.page-template-page-organizations .access-realmap__landmarks text {
	fill: #98a0a5;
	font-size: 9.5px;
	font-weight: 650;
}

/* Stations */
body.page-template-page-organizations .access-realmap__station circle {
	fill: #283d4d;
	stroke: #fff;
	stroke-width: 2;
}
body.page-template-page-organizations .access-realmap__station rect {
	fill: rgba(255,255,255,.96);
	stroke: #aeb6bb;
	stroke-width: 1;
}
body.page-template-page-organizations .access-realmap__station text {
	fill: #213541;
	font-size: 13px;
	font-weight: 750;
	text-anchor: middle;
}
body.page-template-page-organizations .access-realmap__station .access-realmap__small {
	fill: #70808a;
	font-size: 8.8px;
	font-weight: 650;
}
body.page-template-page-organizations .access-realmap__guide {
	fill: none;
	stroke: #929da4;
	stroke-width: 1.8;
	stroke-dasharray: 4 6;
	opacity: .8;
}

/* North */
body.page-template-page-organizations .access-realmap__north path {
	fill: #344651;
}
body.page-template-page-organizations .access-realmap__north line {
	stroke: #344651;
	stroke-width: 1.5;
}
body.page-template-page-organizations .access-realmap__north text {
	fill: #344651;
	font-size: 11px;
	font-weight: 800;
	text-anchor: middle;
}

/* Legend */
body.page-template-page-organizations .access-schematic__legend--real {
	gap: 13px 20px;
}
body.page-template-page-organizations .access-realmap__legend-main,
body.page-template-page-organizations .access-realmap__legend-annex,
body.page-template-page-organizations .access-realmap__legend-rail {
	display: inline-block;
	width: 10px;
	height: 10px;
}
body.page-template-page-organizations .access-realmap__legend-main {
	background: #fff;
	border: 1.5px solid #253746;
}
body.page-template-page-organizations .access-realmap__legend-annex {
	background: #697983;
}
body.page-template-page-organizations .access-realmap__legend-rail {
	position: relative;
	width: 18px;
	height: 8px;
	border-top: 2px solid #6f777c;
	border-bottom: 2px solid #6f777c;
}

/* Disable prior schematic visual systems */
body.page-template-page-organizations .access-schematic__canvas--corporate,
body.page-template-page-organizations .access-mapcorp__road,
body.page-template-page-organizations .access-mapcorp__station,
body.page-template-page-organizations .access-mapcorp__main,
body.page-template-page-organizations .access-mapcorp__annex {
	display: none;
}

@media (max-width: 760px) {
	body.page-template-page-organizations .access-schematic__canvas--real {
		overflow-x: auto;
	}
	body.page-template-page-organizations .access-schematic__svg--real {
		min-width: 900px;
	}
}


/* =========================================================
   Access verified schematic — v0.5.42
   Geometry based on official Chiyoda Platform Square access map
   ========================================================= */

body.page-template-page-organizations .access-schematic__canvas--verified {
	overflow: hidden;
	background: #f7f7f5;
	border: 1px solid rgba(11,26,47,.10);
	border-radius: 0;
}
body.page-template-page-organizations .access-schematic__svg--verified {
	display: block;
	width: 100%;
	height: auto;
	background: #f8f8f6;
}
body.page-template-page-organizations .access-vmap__land { fill: #f8f8f6; }
body.page-template-page-organizations .access-vmap__blocks rect {
	fill: #efefec;
	stroke: #e3e3df;
	stroke-width: 1;
}

/* roads */
body.page-template-page-organizations .access-vmap__road {
	fill: none;
	stroke-linecap: round;
}
body.page-template-page-organizations .access-vmap__road--arterial {
	stroke: #c7cbcd;
	stroke-width: 28;
}
body.page-template-page-organizations .access-vmap__road--street {
	stroke: #d3d6d7;
	stroke-width: 17;
}
body.page-template-page-organizations .access-vmap__road--local {
	stroke: #dedfdf;
	stroke-width: 9;
}
body.page-template-page-organizations .access-vmap__road-name {
	fill: #717c84;
	font-size: 12px;
	font-weight: 750;
	letter-spacing: .08em;
}
body.page-template-page-organizations .access-vmap__road-name--vertical {
	writing-mode: vertical-rl;
	text-orientation: upright;
}
body.page-template-page-organizations .access-vmap__minor-name {
	fill: #869098;
	font-size: 10px;
	font-weight: 650;
}

/* water + expressway */
body.page-template-page-organizations .access-vmap__water { fill: #dbeaf1; }
body.page-template-page-organizations .access-vmap__water-label {
	fill: #718a97;
	font-size: 14px;
	font-weight: 700;
}
body.page-template-page-organizations .access-vmap__expressway {
	fill: none;
	stroke: #999fa3;
	stroke-width: 8;
	stroke-linecap: round;
}
body.page-template-page-organizations .access-vmap__expressway-label {
	fill: #747b7f;
	font-size: 9.5px;
	font-weight: 700;
}

/* JR rail */
body.page-template-page-organizations .access-vmap__rail line {
	stroke: #697278;
	stroke-width: 2;
}
body.page-template-page-organizations .access-vmap__rail-label {
	fill: #687177;
	font-size: 9.5px;
	font-weight: 700;
}

/* landmarks */
body.page-template-page-organizations .access-vmap__landmarks text {
	fill: #979fa4;
	font-size: 9px;
	font-weight: 650;
}

/* destination */
body.page-template-page-organizations .access-vmap__main rect {
	fill: #fff;
	stroke: #263847;
	stroke-width: 2;
}
body.page-template-page-organizations .access-vmap__main text {
	fill: #172a39;
	font-size: 13px;
	font-weight: 750;
	text-anchor: middle;
}
body.page-template-page-organizations .access-vmap__small {
	fill: #71808a;
	font-size: 9px;
	font-weight: 650;
}
body.page-template-page-organizations .access-vmap__main .access-vmap__small {
	text-anchor: middle;
}

/* ANNEX10: intentionally tiny and adjacent */
body.page-template-page-organizations .access-vmap__annex rect { fill: #697984; }
body.page-template-page-organizations .access-vmap__annex text {
	fill: #4d5d68;
	font-size: 10.5px;
	font-weight: 750;
}
body.page-template-page-organizations .access-vmap__annex .access-vmap__small {
	font-size: 8.5px;
}
body.page-template-page-organizations .access-vmap__walk {
	fill: none;
	stroke: #818c93;
	stroke-width: 1.4;
	stroke-dasharray: 3 3;
}
body.page-template-page-organizations .access-vmap__walk-label {
	fill: #747f86;
	font-size: 8.5px;
	font-weight: 700;
	text-anchor: middle;
}

/* stations */
body.page-template-page-organizations .access-vmap__station circle {
	fill: #263a49;
	stroke: #fff;
	stroke-width: 2;
}
body.page-template-page-organizations .access-vmap__station rect {
	fill: rgba(255,255,255,.97);
	stroke: #aeb6bb;
	stroke-width: 1;
}
body.page-template-page-organizations .access-vmap__station text {
	fill: #213541;
	font-size: 13px;
	font-weight: 750;
	text-anchor: middle;
}
body.page-template-page-organizations .access-vmap__station .access-vmap__small {
	fill: #70808a;
	font-size: 8.7px;
	font-weight: 650;
}

/* route guides */
body.page-template-page-organizations .access-vmap__guide {
	fill: none;
	stroke: #909ba2;
	stroke-width: 1.7;
	stroke-dasharray: 4 6;
	opacity: .78;
}

/* north */
body.page-template-page-organizations .access-vmap__north path { fill: #344651; }
body.page-template-page-organizations .access-vmap__north line {
	stroke: #344651;
	stroke-width: 1.5;
}
body.page-template-page-organizations .access-vmap__north text {
	fill: #344651;
	font-size: 10px;
	font-weight: 800;
	text-anchor: middle;
}

/* legend */
body.page-template-page-organizations .access-schematic__legend--verified {
	gap: 13px 20px;
}
body.page-template-page-organizations .access-vmap__legend-main,
body.page-template-page-organizations .access-vmap__legend-annex,
body.page-template-page-organizations .access-vmap__legend-rail {
	display: inline-block;
	width: 10px;
	height: 10px;
}
body.page-template-page-organizations .access-vmap__legend-main {
	background: #fff;
	border: 1.5px solid #263847;
}
body.page-template-page-organizations .access-vmap__legend-annex {
	background: #697984;
}
body.page-template-page-organizations .access-vmap__legend-rail {
	width: 18px;
	height: 8px;
	border-top: 2px solid #697278;
	border-bottom: 2px solid #697278;
}

/* retire v0.5.41 map layer */
body.page-template-page-organizations .access-schematic__canvas--real,
body.page-template-page-organizations .access-realmap__road,
body.page-template-page-organizations .access-realmap__station,
body.page-template-page-organizations .access-realmap__main,
body.page-template-page-organizations .access-realmap__annex,
body.page-template-page-organizations .access-realmap__rail {
	display: none;
}

@media (max-width: 760px) {
	body.page-template-page-organizations .access-schematic__canvas--verified {
		overflow-x: auto;
	}
	body.page-template-page-organizations .access-schematic__svg--verified {
		min-width: 900px;
	}
}


/* =========================================================
   Access simplification — remove schematic and align 3 cards horizontally — v0.5.43
   ========================================================= */
body.page-template-page-organizations .access-transport-notes {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 18px;
	margin-top: 26px;
}
body.page-template-page-organizations .access-transport-card {
	grid-template-columns: 46px minmax(0,1fr);
	align-items: start;
	min-height: 0;
	padding: 22px 22px 20px;
}
body.page-template-page-organizations .access-transport-card h3 {
	font-size: 20px;
	line-height: 1.45;
}
body.page-template-page-organizations .access-transport-card p:not(.access-compact__eyebrow) {
	font-size: 12px;
}
body.page-template-page-organizations .access-jpo-route span,
body.page-template-page-organizations .access-jpo-route b {
	font-size: 10.5px;
}
@media (max-width: 1180px) {
	body.page-template-page-organizations .access-transport-notes {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
	body.page-template-page-organizations .access-transport-card--taxi {
		grid-column: 1 / -1;
	}
}
@media (max-width: 760px) {
	body.page-template-page-organizations .access-transport-notes {
		grid-template-columns: 1fr;
	}
	body.page-template-page-organizations .access-transport-card--taxi {
		grid-column: auto;
	}
}


/* =========================================================
   Final navigation / members message / mobile polish — v0.5.45
   Scope: targeted fixes only
   ========================================================= */

.site-nav .menu-home a {
	font-weight: 750;
}

/* Keep the mobile menu fully scrollable even when items increase */
@media (max-width: 1020px) {
	.site-nav {
		max-height: calc(100svh - 74px);
		overflow-y: auto;
		-webkit-overflow-scrolling: touch;
	}
	body.admin-bar .site-nav {
		max-height: calc(100svh - 120px);
	}
}

/* Signature message blocks on the members page */
body.page-template-page-members .member-detail__message {
	margin-top: 26px;
	padding: 24px 24px 20px;
	background: #f7f9fb;
	border: 1px solid rgba(43,108,174,.14);
	border-radius: 3px;
}
body.page-template-page-members .member-detail__message--orange {
	background: #fffaf7;
	border-color: rgba(218,106,48,.18);
}
body.page-template-page-members .member-detail__message > p {
	margin: 0;
	color: var(--riz-ink);
	font-size: 15px;
	line-height: 2;
}
body.page-template-page-members .member-detail__message-signoff {
	display: flex;
	align-items: flex-end;
	justify-content: flex-end;
	gap: 18px;
	margin-top: 18px;
}
body.page-template-page-members .member-detail__message-signoff p {
	margin: 0;
	color: var(--riz-ink-soft);
	font-size: 11px;
	line-height: 1.75;
	text-align: right;
}
body.page-template-page-members .member-detail__message-signoff img {
	width: 150px;
	max-width: 38%;
	mix-blend-mode: multiply;
}

/* General line-break cleanup without redesigning content */
.lower-hero h1,
.contact-hero h1,
.section-heading h2,
.editorial-split h2,
.contact-guide h2,
.member-detail__heading h2,
.member-detail__statement,
.members-perspective__head h2,
.lower-cta h2,
.concern-cta h2,
.organization-card__head h3,
.access-card h3,
.access-card__title,
.training-guide__head h2,
.process-compact__head h2 {
	text-wrap: balance;
	line-break: strict;
}

body.page-template-page-members .member-detail__role,
body.page-template-page-members .member-detail__profile p,
body.page-template-page-members .member-detail__timeline li,
body.page-template-page-members .member-detail__work-grid strong {
	text-wrap: pretty;
}

@media (max-width: 760px) {
	.lower-hero h1,
	.contact-hero h1,
	.section-heading h2,
	.editorial-split h2,
	.contact-guide h2,
	.lower-cta h2 {
		font-size: clamp(34px, 8.8vw, 44px);
		line-height: 1.3;
	}
	body.page-template-page-members .member-detail__heading h2 {
		font-size: clamp(40px, 10vw, 48px);
	}
	body.page-template-page-members .member-detail__statement {
		font-size: clamp(23px, 6.6vw, 28px);
		line-height: 1.55;
	}
	body.page-template-page-members .member-detail__message {
		padding: 20px 18px 18px;
	}
	body.page-template-page-members .member-detail__message-signoff {
		flex-direction: column;
		align-items: flex-end;
		gap: 10px;
	}
	body.page-template-page-members .member-detail__message-signoff img {
		width: 136px;
		max-width: 72%;
	}
}

@media (max-width: 420px) {
	.lower-hero h1,
	.contact-hero h1,
	.section-heading h2,
	.editorial-split h2,
	.contact-guide h2,
	.lower-cta h2 {
		font-size: clamp(31px, 8.4vw, 38px);
	}
	body.page-template-page-members .member-detail__role {
		font-size: 12px;
		line-height: 1.75;
	}
	body.page-template-page-members .member-detail__profile h3 {
		font-size: 20px;
	}
	body.page-template-page-members .member-detail__profile p,
	body.page-template-page-members .member-detail__timeline li {
		font-size: 14px;
		line-height: 1.9;
	}
}


/* =========================================================
   Services intro heading line-break fix — v0.5.47
   Scope: this heading only
   ========================================================= */
.concern-page .concern-intro__title > span {
	display: block;
	white-space: nowrap;
}
@media (max-width: 760px) {
	.concern-page .concern-intro__title > span {
		white-space: normal;
	}
}


/* =========================================================
   Services business-lifecycle entry map — v0.5.48
   Purpose: business situations above, detailed IP themes below
   ========================================================= */

body.page-template-page-services .service-audience--lifecycle {
	padding: clamp(78px, 7.5vw, 112px) 0;
	background:
		radial-gradient(circle at 10% 10%, rgba(43,108,174,.07), transparent 28%),
		radial-gradient(circle at 90% 15%, rgba(218,106,48,.07), transparent 26%),
		#f6f4ef;
}
body.page-template-page-services .service-audience__head--lifecycle {
	display: grid;
	grid-template-columns: minmax(0,.95fr) minmax(420px,1.05fr);
	gap: clamp(38px,6vw,82px);
	align-items: end;
}
body.page-template-page-services .service-audience__head--lifecycle h2 {
	margin: 0;
	font-family: var(--riz-serif);
	font-size: clamp(38px,4.2vw,60px);
	font-weight: 450;
	line-height: 1.35;
	letter-spacing: -.035em;
	text-wrap: balance;
}
body.page-template-page-services .service-audience__head--lifecycle > p {
	margin: 0 0 6px;
	color: var(--riz-ink-soft);
	font-size: 15px;
	line-height: 1.9;
}

body.page-template-page-services .service-lifecycle {
	margin-top: 46px;
	padding: 28px 28px 24px;
	background: rgba(255,255,255,.94);
	border: 1px solid rgba(11,26,47,.09);
	box-shadow: 0 24px 58px rgba(11,26,47,.06);
}
body.page-template-page-services .service-lifecycle__chart {
	position: relative;
	height: 160px;
	padding: 0 8px;
	overflow: hidden;
}
body.page-template-page-services .service-lifecycle__axis {
	position: absolute;
	inset: 7px 30px auto;
	display: grid;
	grid-template-columns: repeat(4,1fr);
	color: rgba(11,26,47,.43);
	font-size: 8px;
	font-weight: 800;
	letter-spacing: .12em;
	text-transform: uppercase;
}
body.page-template-page-services .service-lifecycle__axis span:nth-child(2),
body.page-template-page-services .service-lifecycle__axis span:nth-child(3) { text-align: center; }
body.page-template-page-services .service-lifecycle__axis span:last-child { text-align: right; }
body.page-template-page-services .service-lifecycle__chart svg {
	position: absolute;
	inset: 16px 10px 0;
	width: calc(100% - 20px);
	height: 145px;
	overflow: visible;
}
body.page-template-page-services .service-lifecycle__baseline {
	fill: none;
	stroke: rgba(11,26,47,.12);
	stroke-width: 1;
}
body.page-template-page-services .service-lifecycle__curve {
	fill: none;
	stroke: url(#rizLifecycleGradient);
	stroke-width: 5;
	stroke-linecap: round;
}
body.page-template-page-services .service-lifecycle__renew {
	fill: none;
	stroke: #da6a30;
	stroke-width: 4;
	stroke-linecap: round;
	stroke-dasharray: 7 8;
}
body.page-template-page-services .service-lifecycle__point circle {
	fill: #fff;
	stroke: #2b6cae;
	stroke-width: 4;
}
body.page-template-page-services .service-lifecycle__point--2 circle { stroke: #278486; }
body.page-template-page-services .service-lifecycle__point--3 circle { stroke: #578c72; }
body.page-template-page-services .service-lifecycle__point--4 circle { stroke: #846c99; }
body.page-template-page-services .service-lifecycle__point--5 circle { stroke: #da6a30; }
body.page-template-page-services .service-lifecycle__point text {
	fill: rgba(11,26,47,.42);
	font-size: 12px;
	font-weight: 800;
	text-anchor: middle;
}

body.page-template-page-services .service-lifecycle__stages {
	display: grid;
	grid-template-columns: repeat(5,minmax(0,1fr));
	gap: 10px;
	margin-top: 3px;
}
body.page-template-page-services .service-lifecycle__stage {
	position: relative;
	min-height: 210px;
	padding: 18px 16px 17px;
	overflow: hidden;
	border: 1px solid rgba(11,26,47,.07);
	border-radius: 8px;
	background: #f7fafe;
}
body.page-template-page-services .service-lifecycle__stage::after {
	content: "";
	position: absolute;
	right: -38px;
	bottom: -43px;
	width: 105px;
	height: 105px;
	border-radius: 50%;
	background: rgba(255,255,255,.34);
}
body.page-template-page-services .service-lifecycle__stage--01 { background: linear-gradient(155deg,#eaf3fc,#d9e9f7); }
body.page-template-page-services .service-lifecycle__stage--02 { background: linear-gradient(155deg,#e7f5f3,#d7ebe8); }
body.page-template-page-services .service-lifecycle__stage--03 { background: linear-gradient(155deg,#edf5e9,#ddebd7); }
body.page-template-page-services .service-lifecycle__stage--04 { background: linear-gradient(155deg,#f0ecf5,#e1d9eb); }
body.page-template-page-services .service-lifecycle__stage--05 { background: linear-gradient(155deg,#fbede4,#f4dccd); }
body.page-template-page-services .service-lifecycle__stage-top {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 14px;
}
body.page-template-page-services .service-lifecycle__stage-top > span {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 29px;
	height: 29px;
	border-radius: 50%;
	color: #fff;
	background: #2b6cae;
	font-size: 9px;
	font-weight: 800;
}
body.page-template-page-services .service-lifecycle__stage--02 .service-lifecycle__stage-top > span { background:#278486; }
body.page-template-page-services .service-lifecycle__stage--03 .service-lifecycle__stage-top > span { background:#578c72; }
body.page-template-page-services .service-lifecycle__stage--04 .service-lifecycle__stage-top > span { background:#846c99; }
body.page-template-page-services .service-lifecycle__stage--05 .service-lifecycle__stage-top > span { background:#c65c29; }
body.page-template-page-services .service-lifecycle__stage-top .riz-icon {
	width: 24px;
	height: 24px;
	color: rgba(11,26,47,.58);
}
body.page-template-page-services .service-lifecycle__stage small {
	display: block;
	min-height: 20px;
	color: rgba(11,26,47,.45);
	font-size: 7px;
	font-weight: 800;
	letter-spacing: .12em;
}
body.page-template-page-services .service-lifecycle__stage h3 {
	margin: 4px 0 13px;
	font-family: var(--riz-serif);
	font-size: clamp(20px,1.65vw,25px);
	font-weight: 550;
	line-height: 1.35;
}
body.page-template-page-services .service-lifecycle__stage ul {
	position: relative;
	z-index: 1;
	display: grid;
	gap: 7px;
	margin: 0;
	padding: 0;
	list-style: none;
}
body.page-template-page-services .service-lifecycle__stage li {
	position: relative;
	padding-left: 13px;
	color: rgba(11,26,47,.73);
	font-size: 11px;
	font-weight: 650;
	line-height: 1.55;
}
body.page-template-page-services .service-lifecycle__stage li::before {
	content: "";
	position: absolute;
	left: 0;
	top: .68em;
	width: 5px;
	height: 5px;
	border-radius: 50%;
	background: currentColor;
	opacity: .48;
}

body.page-template-page-services .service-lifecycle__triggers {
	display: grid;
	grid-template-columns: minmax(270px,.8fr) minmax(0,1.8fr);
	gap: 22px;
	align-items: center;
	margin-top: 12px;
	padding: 15px 18px;
	color: #fff;
	border-radius: 7px;
	background: linear-gradient(110deg,#102c4a,#1d4a72 64%,#744329 140%);
}
body.page-template-page-services .service-lifecycle__triggers-head {
	display: flex;
	align-items: center;
	gap: 12px;
}
body.page-template-page-services .service-lifecycle__triggers-head > span {
	display: grid;
	place-items: center;
	width: 42px;
	height: 42px;
	flex: 0 0 42px;
	border: 1px solid rgba(255,255,255,.24);
	border-radius: 50%;
}
body.page-template-page-services .service-lifecycle__triggers-head .riz-icon { width:20px; height:20px; }
body.page-template-page-services .service-lifecycle__triggers-head small {
	display: block;
	color: rgba(255,255,255,.56);
	font-size: 7px;
	font-weight: 800;
	letter-spacing: .16em;
}
body.page-template-page-services .service-lifecycle__triggers-head strong {
	display: block;
	margin-top: 3px;
	font-family: var(--riz-serif);
	font-size: 14px;
	font-weight: 550;
	line-height: 1.5;
}
body.page-template-page-services .service-lifecycle__triggers ul {
	display: grid;
	grid-template-columns: repeat(3,minmax(0,1fr));
	gap: 7px;
	margin: 0;
	padding: 0;
	list-style: none;
}
body.page-template-page-services .service-lifecycle__triggers li {
	display: flex;
	align-items: center;
	gap: 8px;
	min-height: 40px;
	padding: 8px 10px;
	border: 1px solid rgba(255,255,255,.14);
	background: rgba(255,255,255,.06);
	font-size: 10.5px;
	font-weight: 650;
	line-height: 1.4;
}
body.page-template-page-services .service-lifecycle__triggers li span {
	color: #f3a47e;
	font-size: 8px;
	font-weight: 800;
}

/* The next section is the detailed professional-topic layer, not another list of situations. */
body.page-template-page-services .service-topic-map__head > p {
	max-width: 650px;
}

@media (max-width: 1100px) {
	body.page-template-page-services .service-lifecycle__chart { height: 140px; }
	body.page-template-page-services .service-lifecycle__stages { grid-template-columns: repeat(3,minmax(0,1fr)); }
	body.page-template-page-services .service-lifecycle__stage--04,
	body.page-template-page-services .service-lifecycle__stage--05 { min-height: 190px; }
	body.page-template-page-services .service-lifecycle__triggers { grid-template-columns: 1fr; }
}

@media (max-width: 760px) {
	body.page-template-page-services .service-audience--lifecycle { padding: 66px 0; }
	body.page-template-page-services .service-audience__head--lifecycle {
		grid-template-columns: 1fr;
		gap: 22px;
	}
	body.page-template-page-services .service-audience__head--lifecycle h2 {
		font-size: clamp(34px,9.5vw,43px);
	}
	body.page-template-page-services .service-audience__head--lifecycle > p { font-size:14px; }
	body.page-template-page-services .service-lifecycle {
		margin-inline: -8px;
		padding: 20px 14px 17px;
	}
	body.page-template-page-services .service-lifecycle__chart { display:none; }
	body.page-template-page-services .service-lifecycle__stages {
		display: flex;
		gap: 11px;
		overflow-x: auto;
		scroll-snap-type: x mandatory;
		padding: 2px 2px 11px;
		overscroll-behavior-inline: contain;
		-webkit-overflow-scrolling: touch;
	}
	body.page-template-page-services .service-lifecycle__stage,
	body.page-template-page-services .service-lifecycle__stage--04,
	body.page-template-page-services .service-lifecycle__stage--05 {
		flex: 0 0 min(78vw,310px);
		min-height: 205px;
		scroll-snap-align: start;
	}
	body.page-template-page-services .service-lifecycle__stage h3 { font-size:24px; }
	body.page-template-page-services .service-lifecycle__stage li { font-size:12px; }
	body.page-template-page-services .service-lifecycle__triggers { padding:15px; gap:13px; }
	body.page-template-page-services .service-lifecycle__triggers ul {
		grid-template-columns: 1fr;
	}
	body.page-template-page-services .service-lifecycle__triggers li { font-size:11.5px; }
}


/* Desktop density refinement for the lifecycle overview — v0.5.48 */
@media (min-width: 1101px) {
	body.page-template-page-services .service-audience--lifecycle {
		padding: 58px 0 64px;
	}
	body.page-template-page-services .service-audience__head--lifecycle h2 {
		font-size: clamp(36px,3.5vw,52px);
	}
	body.page-template-page-services .service-audience__head--lifecycle > p {
		font-size: 14px;
		line-height: 1.8;
	}
	body.page-template-page-services .service-lifecycle {
		margin-top: 30px;
		padding: 18px 20px 16px;
	}
	body.page-template-page-services .service-lifecycle__chart {
		height: 112px;
	}
	body.page-template-page-services .service-lifecycle__chart svg {
		inset: 10px 10px 0;
		height: 104px;
	}
	body.page-template-page-services .service-lifecycle__axis {
		top: 2px;
	}
	body.page-template-page-services .service-lifecycle__stage {
		min-height: 168px;
		padding: 13px 14px 13px;
	}
	body.page-template-page-services .service-lifecycle__stage-top {
		margin-bottom: 9px;
	}
	body.page-template-page-services .service-lifecycle__stage-top > span {
		width: 25px;
		height: 25px;
	}
	body.page-template-page-services .service-lifecycle__stage-top .riz-icon {
		width: 21px;
		height: 21px;
	}
	body.page-template-page-services .service-lifecycle__stage small {
		min-height: 16px;
		font-size: 6.5px;
	}
	body.page-template-page-services .service-lifecycle__stage h3 {
		margin: 2px 0 8px;
		font-size: clamp(18px,1.45vw,22px);
	}
	body.page-template-page-services .service-lifecycle__stage ul {
		gap: 5px;
	}
	body.page-template-page-services .service-lifecycle__stage li {
		font-size: 10px;
		line-height: 1.45;
	}
	body.page-template-page-services .service-lifecycle__triggers {
		margin-top: 9px;
		padding: 11px 14px;
	}
	body.page-template-page-services .service-lifecycle__triggers-head > span {
		width: 36px;
		height: 36px;
		flex-basis: 36px;
	}
	body.page-template-page-services .service-lifecycle__triggers-head strong {
		font-size: 13px;
	}
	body.page-template-page-services .service-lifecycle__triggers li {
		min-height: 34px;
		padding: 6px 8px;
		font-size: 9.8px;
	}
}

@media (min-width: 761px) and (max-width: 980px) {
	body.page-template-page-services .service-audience__head--lifecycle {
		grid-template-columns: 1fr;
		gap: 24px;
	}
}


/* =========================================================
   Members long-form messages — v0.5.49
   Full editorial messages are separated from profile facts.
   ========================================================= */
body.page-template-page-members .members-messages {
	padding: clamp(88px, 9vw, 132px) 0;
	background: #f5f3ef;
	border-top: 1px solid rgba(11,26,47,.08);
	border-bottom: 1px solid rgba(11,26,47,.08);
}
body.page-template-page-members .members-messages__head {
	display: grid;
	grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr);
	column-gap: clamp(48px, 7vw, 110px);
	align-items: end;
	margin-bottom: clamp(46px, 6vw, 82px);
}
body.page-template-page-members .members-messages__head .section-kicker {
	grid-column: 1 / -1;
	margin-bottom: 18px;
}
body.page-template-page-members .members-messages__head h2 {
	margin: 0;
	font-family: var(--riz-serif);
	font-size: clamp(40px, 4.6vw, 72px);
	font-weight: 500;
	line-height: 1.28;
	letter-spacing: -.035em;
	color: var(--riz-ink);
}
body.page-template-page-members .members-messages__head > p:last-child {
	max-width: 42em;
	margin: 0 0 7px;
	font-size: 15px;
	line-height: 2;
	color: var(--riz-ink-soft);
}
body.page-template-page-members .member-long-message {
	display: grid;
	grid-template-columns: minmax(270px, .72fr) minmax(0, 1.45fr);
	gap: clamp(46px, 6vw, 92px);
	padding: clamp(52px, 6vw, 82px);
	background: #fff;
	border: 1px solid rgba(11,26,47,.09);
	box-shadow: 0 18px 54px rgba(11,26,47,.055);
}
body.page-template-page-members .member-long-message + .member-long-message {
	margin-top: 34px;
}
body.page-template-page-members .member-long-message--blue {
	border-top: 4px solid #2b6cae;
}
body.page-template-page-members .member-long-message--orange {
	border-top: 4px solid var(--riz-orange);
}
body.page-template-page-members .member-long-message__side {
	display: flex;
	flex-direction: column;
	min-width: 0;
}
body.page-template-page-members .member-long-message__side h3 {
	margin: 12px 0 20px;
	font-family: var(--riz-serif);
	font-size: clamp(34px, 3.1vw, 52px);
	font-weight: 500;
	line-height: 1.34;
	letter-spacing: -.035em;
	color: var(--riz-ink);
}
body.page-template-page-members .member-long-message__lead {
	margin: 0;
	font-size: 14px;
	line-height: 1.95;
	color: var(--riz-ink-soft);
}
body.page-template-page-members .member-long-message__body {
	max-width: 760px;
}
body.page-template-page-members .member-long-message__body p {
	margin: 0;
	font-size: 15px;
	line-height: 1.84;
	letter-spacing: .015em;
	color: #23384a;
	text-wrap: pretty;
}
body.page-template-page-members .member-long-message__body p + p {
	margin-top: 14px;
}
body.page-template-page-members .member-long-message__question,
body.page-template-page-members .member-long-message__emphasis {
	font-family: var(--riz-serif);
	font-size: clamp(20px, 1.7vw, 26px) !important;
	line-height: 1.56 !important;
	color: var(--riz-ink) !important;
}
body.page-template-page-members .member-long-message--blue .member-long-message__question,
body.page-template-page-members .member-long-message--blue .member-long-message__emphasis {
	border-left: 3px solid rgba(43,108,174,.72);
	padding-left: 22px;
}
body.page-template-page-members .member-long-message--orange .member-long-message__emphasis {
	border-left: 3px solid rgba(218,106,48,.75);
	padding-left: 22px;
}
body.page-template-page-members .member-long-message__closing {
	margin-top: 22px !important;
	padding-top: 18px;
	border-top: 1px solid rgba(11,26,47,.12);
	font-family: var(--riz-serif);
	font-size: clamp(20px, 1.65vw, 25px) !important;
	line-height: 1.62 !important;
	color: var(--riz-ink) !important;
}
body.page-template-page-members .member-long-message__signoff {
	margin-top: auto;
	padding-top: 42px;
}
body.page-template-page-members .member-long-message__signoff p {
	margin: 0 0 12px;
	font-size: 11px;
	line-height: 1.75;
	color: var(--riz-ink-soft);
}
body.page-template-page-members .member-long-message__signoff strong {
	font-size: 12px;
	font-weight: 700;
	color: var(--riz-ink);
}
body.page-template-page-members .member-long-message__signoff img {
	display: block;
	width: 178px;
	max-width: 78%;
	height: auto;
	object-fit: contain;
	mix-blend-mode: multiply;
}

@media (max-width: 980px) {
	body.page-template-page-members .members-messages__head {
		grid-template-columns: 1fr;
		gap: 22px;
	}
	body.page-template-page-members .member-long-message {
		grid-template-columns: 1fr;
		gap: 34px;
		padding: clamp(38px, 6vw, 58px);
	}
	body.page-template-page-members .member-long-message__signoff {
		margin-top: 0;
		padding-top: 24px;
	}
}
@media (max-width: 600px) {
	body.page-template-page-members .members-messages {
		padding: 66px 0;
	}
	body.page-template-page-members .members-messages__head {
		margin-bottom: 36px;
	}
	body.page-template-page-members .members-messages__head h2 {
		font-size: clamp(34px, 10vw, 44px);
	}
	body.page-template-page-members .members-messages__head > p:last-child {
		font-size: 14px;
		line-height: 1.9;
	}
	body.page-template-page-members .member-long-message {
		gap: 28px;
		padding: 30px 22px 34px;
		box-shadow: none;
	}
	body.page-template-page-members .member-long-message + .member-long-message {
		margin-top: 22px;
	}
	body.page-template-page-members .member-long-message__side h3 {
		font-size: clamp(31px, 9vw, 40px);
	}
	body.page-template-page-members .member-long-message__lead {
		font-size: 13px;
	}
	body.page-template-page-members .member-long-message__body p {
		font-size: 14px;
		line-height: 1.95;
	}
	body.page-template-page-members .member-long-message__body p + p {
		margin-top: 18px;
	}
	body.page-template-page-members .member-long-message__question,
	body.page-template-page-members .member-long-message__emphasis,
	body.page-template-page-members .member-long-message__closing {
		font-size: 20px !important;
	}
	body.page-template-page-members .member-long-message__signoff img {
		width: 148px;
	}
}


/* =========================================================
   Japanese mobile visual audit — v0.5.50
   Mobile-only typography / wrapping / density corrections.
   Desktop layout and copy are intentionally untouched.
   ========================================================= */
@media (max-width: 760px) {
	/* TOP: opening statement — avoid 1–2 character orphan lines */
	.opening-statement {
		min-height: auto;
		padding: 76px 0 82px;
	}
	.opening-statement h2 {
		font-size: clamp(29px, 8.2vw, 34px);
		line-height: 1.58;
		letter-spacing: -.025em;
		text-wrap: balance;
	}
	.opening-statement p:last-child {
		margin-top: 34px;
		font-size: 15px;
		line-height: 1.95;
	}

	/* TOP: situation cards — preserve phrases rather than leaving a final kana/punctuation */
	.need-card {
		min-height: 270px;
		padding: 28px 24px;
	}
	.need-card--wide,
	.need-card--photo {
		min-height: 410px;
	}
	.need-card h3,
	.need-card:not(.need-card--wide):not(.need-card--photo) h3 {
		margin-top: 58px;
		font-size: clamp(22px, 6.2vw, 24px);
		line-height: 1.62;
		letter-spacing: -.02em;
		text-wrap: pretty;
		line-break: strict;
	}
	.need-card > p {
		font-size: 12.5px;
		line-height: 1.8;
	}
	.need-card__arrow {
		right: 24px;
		top: 24px;
	}

	/* TOP: strategy section — reduce oversized headline and excess lower whitespace */
	.resource-strategy {
		padding: 82px 0 70px;
	}
	.resource-strategy__closing {
		margin-top: 44px;
		font-size: clamp(21px, 6.1vw, 24px);
		line-height: 1.72;
		text-align: left;
		text-wrap: pretty;
	}
	.riz-cycle-v3 {
		margin-top: 48px !important;
	}

	/* TOP: members gateway — keep headline compact enough to read as a thought */
	.members-section {
		padding: 78px 0 88px;
	}
	.members-section h2 {
		font-size: clamp(27px, 7.5vw, 32px);
		line-height: 1.58;
		letter-spacing: -.025em;
		text-wrap: balance;
	}
	.members-section__head > p:last-child {
		margin-top: 25px;
		font-size: 14px;
		line-height: 1.9;
	}

	/* TOP: other long editorial statements using the same desktop-first scale */
	.story-chapter h2 {
		font-size: clamp(30px, 8.3vw, 35px);
		line-height: 1.55;
	}
	.action-story h2,
	.gratitude-statement h2,
	.final-cta h2 {
		font-size: clamp(33px, 9vw, 39px);
		line-height: 1.45;
	}
	.needs-section h2 {
		font-size: clamp(31px, 8.6vw, 36px);
		line-height: 1.5;
	}

	/* PROCESS: deliberate two-line quick start; body copy reads better left aligned */
	body.page-template-page-process .process-quickstart {
		padding: 64px 0 68px;
	}
	body.page-template-page-process .process-quickstart__head h2 {
		font-size: clamp(29px, 8.1vw, 32px);
		line-height: 1.52;
		letter-spacing: -.025em;
	}
	body.page-template-page-process .process-quickstart__head h2 span {
		white-space: nowrap;
	}
	body.page-template-page-process .process-quickstart__head > p:last-child {
		margin-top: 25px;
		font-size: 14.5px;
		line-height: 1.9;
		text-align: left;
		text-wrap: pretty;
	}
	body.page-template-page-process .process-quickstart__items {
		margin-top: 36px;
	}
	body.page-template-page-process .process-visual-flow__head h2 {
		font-size: clamp(26px, 7vw, 27px);
		line-height: 1.55;
		letter-spacing: -.02em;
	}
	body.page-template-page-process .process-visual-flow__head h2 span {
		white-space: nowrap;
	}
	body.page-template-page-process .process-visual-flow__head > p {
		font-size: 14.5px;
		line-height: 1.85;
	}
	body.page-template-page-process .process-simple-cta h2 {
		font-size: clamp(30px, 8.2vw, 34px);
		line-height: 1.5;
	}

	/* SERVICES: lifecycle entry + detailed topic headings */
	body.page-template-page-services .service-audience__head--lifecycle h2 {
		font-size: clamp(30px, 8.4vw, 35px);
		line-height: 1.48;
		letter-spacing: -.025em;
	}
	body.page-template-page-services .service-topic-map__head h2,
	body.page-template-page-services .service-practice__head h2,
	body.page-template-page-services .concern-catalog__head h2 {
		font-size: clamp(29px, 8.1vw, 34px);
		line-height: 1.48;
		text-wrap: balance;
	}
	body.page-template-page-services .service-practice__head h2 > span {
		white-space: normal;
	}

	/* MEMBERS long-form area and profile statements */
	body.page-template-page-members .members-messages__head h2 {
		font-size: clamp(30px, 8.4vw, 36px);
		line-height: 1.45;
	}
	body.page-template-page-members .member-detail__statement > span {
		white-space: normal;
	}
}

@media (max-width: 420px) {
	/* Narrow iPhones: tighten only the few phrases that still risk orphan characters */
	.opening-statement h2 { font-size: clamp(28px, 7.9vw, 32px); }
	.need-card h3,
	.need-card:not(.need-card--wide):not(.need-card--photo) h3 { font-size: 22px; }
	.members-section h2 { font-size: clamp(26px, 7.2vw, 30px); }
	body.page-template-page-process .process-quickstart__head h2 { font-size: 28px; }
	body.page-template-page-process .process-visual-flow__head h2 { font-size: 25.5px; }
}


/* =========================================================
   Services lifecycle editorial scroll — v0.5.51
   Sticky visual on desktop, narrative situations on the right.
   ========================================================= */
body.page-template-page-services .service-audience--lifecycle {
	padding: clamp(82px,8vw,126px) 0;
	background:
		radial-gradient(circle at 12% 8%, rgba(43,108,174,.08), transparent 27%),
		radial-gradient(circle at 92% 13%, rgba(218,106,48,.07), transparent 24%),
		#f5f3ee;
}
body.page-template-page-services .service-audience__head--lifecycle {
	display:grid;
	grid-template-columns:minmax(0,.92fr) minmax(420px,1.08fr);
	gap:clamp(48px,7vw,100px);
	align-items:end;
}
body.page-template-page-services .service-audience__head--lifecycle h2 {
	margin:0;
	font-family:var(--riz-serif);
	font-size:clamp(40px,4.25vw,62px);
	font-weight:450;
	line-height:1.34;
	letter-spacing:-.04em;
}
body.page-template-page-services .service-audience__head--lifecycle > p {
	margin:0 0 6px;
	color:var(--riz-ink-soft);
	font-size:15px;
	line-height:1.95;
}
body.page-template-page-services .service-lifecycle-scroll {
	display:grid;
	grid-template-columns:minmax(400px,.9fr) minmax(0,1.1fr);
	gap:clamp(50px,6vw,92px);
	margin-top:clamp(54px,6vw,82px);
	align-items:start;
}
body.page-template-page-services .service-lifecycle-visual {
	min-width:0;
}
body.page-template-page-services .service-lifecycle-visual__sticky {
	position:sticky;
	top:118px;
	min-height:620px;
	padding:30px 30px 26px;
	background:linear-gradient(155deg,#071b31,#0d355a 70%,#113f69);
	border:1px solid rgba(255,255,255,.08);
	box-shadow:0 30px 70px rgba(11,26,47,.16);
	overflow:hidden;
}
body.page-template-page-services .service-lifecycle-visual__sticky::before {
	content:"";
	position:absolute;
	width:340px;
	height:340px;
	right:-170px;
	top:-160px;
	border:1px solid rgba(255,255,255,.07);
	border-radius:50%;
	box-shadow:0 0 0 52px rgba(255,255,255,.025),0 0 0 104px rgba(255,255,255,.016);
}
body.page-template-page-services .service-lifecycle-visual__head {
	position:relative;
	z-index:2;
	display:flex;
	justify-content:space-between;
	align-items:flex-start;
	gap:24px;
}
body.page-template-page-services .service-lifecycle-visual__head > p {
	margin:4px 0 0;
	color:rgba(255,255,255,.46);
	font-size:9px;
	font-weight:800;
	letter-spacing:.19em;
}
body.page-template-page-services .service-lifecycle-visual__readout {
	display:flex;
	align-items:center;
	gap:14px;
	min-width:220px;
	padding:12px 14px;
	border:1px solid rgba(255,255,255,.13);
	background:rgba(255,255,255,.055);
	backdrop-filter:blur(8px);
}
body.page-template-page-services .service-lifecycle-visual__readout > span {
	display:grid;
	place-items:center;
	width:42px;
	height:42px;
	flex:0 0 42px;
	color:#fff;
	border-radius:50%;
	background:#2b6cae;
	font-size:10px;
	font-weight:850;
	transition:background .35s ease;
}
body.page-template-page-services .service-lifecycle-visual__readout small {
	display:block;
	color:rgba(255,255,255,.46);
	font-size:7px;
	font-weight:800;
	letter-spacing:.13em;
}
body.page-template-page-services .service-lifecycle-visual__readout strong {
	display:block;
	margin-top:3px;
	color:#fff;
	font-family:var(--riz-serif);
	font-size:20px;
	font-weight:550;
}
body.page-template-page-services .service-lifecycle-visual__chart {
	position:relative;
	z-index:1;
	margin-top:24px;
}
body.page-template-page-services .service-lifecycle-visual__chart svg {
	display:block;
	width:100%;
	height:auto;
}
body.page-template-page-services .service-lifecycle-visual__grid path {
	fill:none;
	stroke:rgba(255,255,255,.055);
	stroke-width:1;
}
body.page-template-page-services .service-lifecycle-visual__area {
	fill:url(#rizLifecycleAreaV2);
}
body.page-template-page-services .service-lifecycle-visual__curve {
	fill:none;
	stroke:url(#rizLifecycleLineV2);
	stroke-width:5;
	stroke-linecap:round;
}
body.page-template-page-services .service-lifecycle-visual__renew {
	fill:none;
	stroke:#da6a30;
	stroke-width:4;
	stroke-linecap:round;
	stroke-dasharray:8 9;
}
body.page-template-page-services .service-lifecycle-visual__point circle:not(.service-lifecycle-visual__halo) {
	fill:#0a2b4b;
	stroke:rgba(255,255,255,.56);
	stroke-width:3;
	transition:fill .35s ease,stroke .35s ease,transform .35s ease;
	transform-box:fill-box;
	transform-origin:center;
}
body.page-template-page-services .service-lifecycle-visual__halo {
	fill:transparent;
	stroke:transparent;
	stroke-width:2;
	transition:fill .35s ease,stroke .35s ease;
}
body.page-template-page-services .service-lifecycle-visual__point.is-active .service-lifecycle-visual__halo {
	fill:rgba(255,255,255,.10);
	stroke:rgba(255,255,255,.18);
	filter:url(#rizLifecycleGlowV2);
}
body.page-template-page-services .service-lifecycle-visual__point.is-active circle:not(.service-lifecycle-visual__halo) {
	fill:#fff;
	stroke:#fff;
	transform:scale(1.18);
}
body.page-template-page-services .service-lifecycle-visual__scale {
	display:grid;
	grid-template-columns:repeat(4,1fr);
	gap:8px;
	margin-top:-12px;
	color:rgba(255,255,255,.42);
	font-size:8px;
	font-weight:750;
	letter-spacing:.08em;
}
body.page-template-page-services .service-lifecycle-visual__scale span:nth-child(2),
body.page-template-page-services .service-lifecycle-visual__scale span:nth-child(3){text-align:center}
body.page-template-page-services .service-lifecycle-visual__scale span:last-child{text-align:right}
body.page-template-page-services .service-lifecycle-visual__any {
	display:flex;
	align-items:center;
	gap:13px;
	margin-top:24px;
	padding-top:20px;
	border-top:1px solid rgba(255,255,255,.12);
}
body.page-template-page-services .service-lifecycle-visual__any > span {
	display:grid;
	place-items:center;
	width:42px;
	height:42px;
	flex:0 0 42px;
	color:#f1a076;
	border:1px solid rgba(241,160,118,.35);
	border-radius:50%;
}
body.page-template-page-services .service-lifecycle-visual__any .riz-icon{width:20px;height:20px}
body.page-template-page-services .service-lifecycle-visual__any small {
	display:block;
	color:#f1a076;
	font-size:7px;
	font-weight:850;
	letter-spacing:.16em;
}
body.page-template-page-services .service-lifecycle-visual__any strong {
	display:block;
	margin-top:4px;
	color:rgba(255,255,255,.76);
	font-size:11px;
	font-weight:650;
	line-height:1.55;
}

body.page-template-page-services .service-lifecycle-scenes {
	display:grid;
	gap:22px;
}
body.page-template-page-services .service-lifecycle-scene {
	position:relative;
	min-height:310px;
	padding:32px 32px 30px;
	background:#fff;
	border:1px solid rgba(11,26,47,.09);
	box-shadow:0 18px 44px rgba(11,26,47,.045);
	overflow:hidden;
	opacity:.70;
	transform:translateY(8px) scale(.985);
	transition:opacity .4s ease,transform .4s ease,box-shadow .4s ease,border-color .4s ease;
}
body.page-template-page-services .service-lifecycle-scene::after {
	content:"";
	position:absolute;
	right:-75px;
	top:-78px;
	width:190px;
	height:190px;
	border-radius:50%;
	background:var(--scene-wash,rgba(43,108,174,.06));
	box-shadow:0 0 0 34px rgba(255,255,255,.58);
}
body.page-template-page-services .service-lifecycle-scene.is-active {
	opacity:1;
	transform:none;
	border-color:var(--scene-accent,#2b6cae);
	box-shadow:0 28px 62px rgba(11,26,47,.09);
}
body.page-template-page-services .service-lifecycle-scene--01{--scene-accent:#2b6cae;--scene-wash:rgba(43,108,174,.09)}
body.page-template-page-services .service-lifecycle-scene--02{--scene-accent:#2b918d;--scene-wash:rgba(43,145,141,.09)}
body.page-template-page-services .service-lifecycle-scene--03{--scene-accent:#668f6d;--scene-wash:rgba(102,143,109,.09)}
body.page-template-page-services .service-lifecycle-scene--04{--scene-accent:#846c99;--scene-wash:rgba(132,108,153,.09)}
body.page-template-page-services .service-lifecycle-scene--05{--scene-accent:#c95d2b;--scene-wash:rgba(201,93,43,.09)}
body.page-template-page-services .service-lifecycle-scene--any{--scene-accent:#b94f2f;--scene-wash:rgba(185,79,47,.10);background:linear-gradient(145deg,#fff,#fbf4f0)}
body.page-template-page-services .service-lifecycle-scene header {
	position:relative;
	z-index:2;
	display:grid;
	grid-template-columns:46px 52px minmax(0,1fr);
	gap:14px;
	align-items:center;
}
body.page-template-page-services .service-lifecycle-scene__number {
	display:grid;
	place-items:center;
	width:42px;
	height:42px;
	border-radius:50%;
	color:#fff;
	background:var(--scene-accent,#2b6cae);
	font-size:9px;
	font-weight:850;
}
body.page-template-page-services .service-lifecycle-scene__icon {
	display:grid;
	place-items:center;
	width:50px;
	height:50px;
	color:var(--scene-accent,#2b6cae);
	border:1px solid color-mix(in srgb,var(--scene-accent,#2b6cae) 28%,transparent);
	border-radius:50%;
	background:color-mix(in srgb,var(--scene-accent,#2b6cae) 7%,#fff);
}
body.page-template-page-services .service-lifecycle-scene__icon .riz-icon{width:23px;height:23px}
body.page-template-page-services .service-lifecycle-scene header small {
	display:block;
	color:rgba(11,26,47,.42);
	font-size:7px;
	font-weight:850;
	letter-spacing:.15em;
}
body.page-template-page-services .service-lifecycle-scene h3 {
	margin:4px 0 0;
	font-family:var(--riz-serif);
	font-size:clamp(27px,2.35vw,36px);
	font-weight:550;
	line-height:1.35;
}
body.page-template-page-services .service-lifecycle-scene__lead {
	position:relative;
	z-index:2;
	margin:27px 0 20px;
	color:var(--riz-ink);
	font-family:var(--riz-serif);
	font-size:19px;
	font-weight:500;
	line-height:1.75;
}
body.page-template-page-services .service-lifecycle-scene ul {
	position:relative;
	z-index:2;
	display:grid;
	grid-template-columns:repeat(2,minmax(0,1fr));
	gap:9px 24px;
	margin:0;
	padding:0;
	list-style:none;
}
body.page-template-page-services .service-lifecycle-scene li {
	position:relative;
	padding:10px 0 10px 18px;
	border-top:1px solid rgba(11,26,47,.07);
	color:var(--riz-ink-soft);
	font-size:13px;
	font-weight:650;
	line-height:1.65;
}
body.page-template-page-services .service-lifecycle-scene li::before {
	content:"";
	position:absolute;
	left:1px;
	top:1.45em;
	width:6px;
	height:6px;
	border-radius:50%;
	background:var(--scene-accent,#2b6cae);
}

/* Readout color follows the active business stage. */
body.page-template-page-services [data-lifecycle][data-active-stage="2"] .service-lifecycle-visual__readout > span{background:#2b918d}
body.page-template-page-services [data-lifecycle][data-active-stage="3"] .service-lifecycle-visual__readout > span{background:#668f6d}
body.page-template-page-services [data-lifecycle][data-active-stage="4"] .service-lifecycle-visual__readout > span{background:#846c99}
body.page-template-page-services [data-lifecycle][data-active-stage="5"] .service-lifecycle-visual__readout > span{background:#c95d2b}

/* Suppress obsolete v0.5.48 chart/card layout if cached markup is mixed. */
body.page-template-page-services .service-lifecycle:not(.service-lifecycle-scroll),
body.page-template-page-services .service-lifecycle__stages,
body.page-template-page-services .service-lifecycle__triggers { display:none; }

@media (max-width:1100px) {
	body.page-template-page-services .service-lifecycle-scroll {grid-template-columns:minmax(330px,.82fr) minmax(0,1.18fr);gap:38px}
	body.page-template-page-services .service-lifecycle-visual__sticky{top:100px;min-height:560px;padding:24px}
	body.page-template-page-services .service-lifecycle-scene{padding:27px 25px;min-height:300px}
	body.page-template-page-services .service-lifecycle-scene ul{grid-template-columns:1fr}
}
@media (max-width:820px) {
	body.page-template-page-services .service-audience__head--lifecycle{grid-template-columns:1fr;gap:22px}
	body.page-template-page-services .service-lifecycle-scroll{grid-template-columns:1fr;gap:24px;margin-top:38px}
	body.page-template-page-services .service-lifecycle-visual__sticky{position:relative;top:auto;min-height:0;padding:22px 20px 19px}
	body.page-template-page-services .service-lifecycle-visual__head{display:block}
	body.page-template-page-services .service-lifecycle-visual__head > p{margin-bottom:14px}
	body.page-template-page-services .service-lifecycle-visual__readout{width:100%;min-width:0}
	body.page-template-page-services .service-lifecycle-visual__chart{max-width:520px;margin:12px auto 0}
	body.page-template-page-services .service-lifecycle-visual__chart svg{max-height:330px}
	body.page-template-page-services .service-lifecycle-visual__any{margin-top:12px;padding-top:14px}
	body.page-template-page-services .service-lifecycle-scenes{gap:14px}
	body.page-template-page-services .service-lifecycle-scene{min-height:0;padding:23px 20px;opacity:1;transform:none}
	body.page-template-page-services .service-lifecycle-scene header{grid-template-columns:38px 44px minmax(0,1fr);gap:10px}
	body.page-template-page-services .service-lifecycle-scene__number{width:36px;height:36px}
	body.page-template-page-services .service-lifecycle-scene__icon{width:42px;height:42px}
	body.page-template-page-services .service-lifecycle-scene h3{font-size:26px}
	body.page-template-page-services .service-lifecycle-scene__lead{margin:20px 0 14px;font-size:17px}
	body.page-template-page-services .service-lifecycle-scene ul{grid-template-columns:1fr;gap:3px}
	body.page-template-page-services .service-lifecycle-scene li{padding:8px 0 8px 16px;font-size:12.5px}
}
@media (max-width:480px) {
	body.page-template-page-services .service-audience--lifecycle{padding:58px 0 64px}
	body.page-template-page-services .service-audience__head--lifecycle h2{font-size:clamp(32px,8.8vw,39px);line-height:1.42}
	body.page-template-page-services .service-audience__head--lifecycle > p{font-size:13.5px;line-height:1.85}
	body.page-template-page-services .service-lifecycle-scroll{margin-inline:-2px}
	body.page-template-page-services .service-lifecycle-visual__sticky{padding:19px 16px 17px}
	body.page-template-page-services .service-lifecycle-visual__chart svg{max-height:285px}
	body.page-template-page-services .service-lifecycle-visual__scale{font-size:7px}
	body.page-template-page-services .service-lifecycle-scene{padding:20px 16px}
	body.page-template-page-services .service-lifecycle-scene header{grid-template-columns:34px 40px minmax(0,1fr)}
	body.page-template-page-services .service-lifecycle-scene__number{width:32px;height:32px}
	body.page-template-page-services .service-lifecycle-scene__icon{width:38px;height:38px}
	body.page-template-page-services .service-lifecycle-scene h3{font-size:23px}
	body.page-template-page-services .service-lifecycle-scene__lead{font-size:16px;line-height:1.65}
}


/* =========================================================
   Members message editorial chapters — v0.5.52
   Distinct chapter titles, intentional transition, sticky reading rail.
   ========================================================= */
body.page-template-page-members .members-messages--editorial {
	padding: 0;
	background: #f6f4ef;
	border-top: 0;
	border-bottom: 1px solid rgba(11,26,47,.08);
}
body.page-template-page-members .members-messages__prologue {
	position: relative;
	overflow: hidden;
	padding: clamp(58px,5.5vw,82px) 0;
	color: #fff;
	background:
		radial-gradient(circle at 88% 22%, rgba(255,255,255,.08), transparent 18%),
		linear-gradient(118deg,#07172a 0%,#0d355d 66%,#69402d 145%);
}
body.page-template-page-members .members-messages__prologue::before {
	content:"";
	position:absolute;
	left:0;
	bottom:0;
	width:0;
	height:4px;
	background:linear-gradient(90deg,#2b6cae 0 50%,var(--riz-orange) 50% 100%);
	transition:width 1.05s var(--riz-ease) .15s;
}
body.page-template-page-members .members-messages__prologue.is-visible::before { width:100%; }
body.page-template-page-members .members-messages__prologue-inner {
	display:grid;
	grid-template-columns:minmax(180px,.48fr) minmax(420px,.95fr) minmax(320px,.72fr);
	gap:clamp(36px,5vw,76px);
	align-items:end;
}
body.page-template-page-members .members-messages__prologue .section-kicker { margin:0 0 12px; }
body.page-template-page-members .members-messages__prologue-en {
	margin:0;
	color:rgba(255,255,255,.54);
	font-size:9px;
	font-weight:800;
	letter-spacing:.19em;
}
body.page-template-page-members .members-messages__prologue h2 {
	margin:0;
	font-family:var(--riz-serif);
	font-size:clamp(42px,4.6vw,68px);
	font-weight:500;
	line-height:1.3;
	letter-spacing:-.035em;
	text-wrap:balance;
}
body.page-template-page-members .members-messages__prologue-inner > p:last-child {
	margin:0 0 5px;
	color:rgba(255,255,255,.7);
	font-size:14px;
	line-height:1.78;
}
body.page-template-page-members .members-messages__chapters { padding:0; }
body.page-template-page-members .members-messages--editorial .member-long-message {
	position:relative;
	display:grid;
	grid-template-columns:minmax(330px,.72fr) minmax(0,1.28fr);
	gap:clamp(42px,5vw,76px);
	padding:clamp(58px,6vw,84px) max(0px, calc((100vw - min(1320px, 92vw))/2));
	background:transparent;
	border:0;
	box-shadow:none;
}
body.page-template-page-members .members-messages--editorial .member-long-message + .member-long-message {
	margin-top:0;
	border-top:1px solid rgba(11,26,47,.1);
}
body.page-template-page-members .members-messages--editorial .member-long-message::before {
	content:"";
	position:absolute;
	left:0;
	top:clamp(58px,6vw,84px);
	width:4px;
	height:92px;
	transform:scaleY(0);
	transform-origin:top;
	transition:transform .75s var(--riz-ease) .18s;
}
body.page-template-page-members .members-messages--editorial .member-long-message.is-visible::before { transform:scaleY(1); }
body.page-template-page-members .members-messages--editorial .member-long-message--blue::before { background:#2b6cae; }
body.page-template-page-members .members-messages--editorial .member-long-message--orange::before { background:var(--riz-orange); }
body.page-template-page-members .members-messages--editorial .member-long-message--blue {
	background:linear-gradient(90deg,rgba(43,108,174,.035),transparent 36%);
}
body.page-template-page-members .members-messages--editorial .member-long-message--orange {
	background:linear-gradient(90deg,rgba(218,106,48,.04),transparent 36%);
}
body.page-template-page-members .members-messages--editorial .member-long-message__side {
	position:sticky;
	top:172px;
	align-self:start;
	padding-left:28px;
}
body.page-template-page-members .member-long-message__index {
	margin-bottom:18px;
	font-family:var(--riz-serif);
	font-size:clamp(46px,4vw,68px);
	line-height:1;
	font-weight:500;
	color:rgba(11,26,47,.14);
}
body.page-template-page-members .members-messages--editorial .member-long-message__side h3 {
	margin:10px 0 16px;
	max-width:9.5em;
	font-size:clamp(34px,3.25vw,50px);
	line-height:1.28;
	text-wrap:balance;
	word-break:normal;
	overflow-wrap:normal;
}
body.page-template-page-members .members-messages--editorial .member-long-message__lead {
	max-width:28em;
	font-size:13px;
	line-height:1.72;
}
body.page-template-page-members .members-messages--editorial .member-long-message__body {
	max-width:780px;
	padding-top:2px;
}
body.page-template-page-members .members-messages--editorial .member-long-message__body > p:first-child::first-letter {
	font-family:var(--riz-serif);
	font-size:2.3em;
	line-height:.85;
	float:left;
	margin:.13em .08em 0 0;
	color:var(--riz-ink);
}
body.page-template-page-members .members-messages--editorial .member-long-message__signoff {
	display:block;
	margin-top:26px;
	padding-top:18px;
	border-top:1px solid rgba(11,26,47,.1);
}
body.page-template-page-members .members-messages--editorial .member-long-message__signoff-inner {
	display:flex;
	flex-direction:column;
	align-items:flex-end;
	width:max-content;
	max-width:100%;
	margin-left:auto;
	text-align:right;
}
body.page-template-page-members .members-messages--editorial .member-long-message__signoff p {
	margin:0;
	text-align:right;
	width:max-content;
	max-width:100%;
	line-height:1.6;
}
body.page-template-page-members .members-messages--editorial .member-long-message__signoff img {
	display:block;
	height:auto;
	margin:8px 0 0 auto;
}
body.page-template-page-members .members-messages--editorial .member-long-message--blue .member-long-message__signoff img,
body.page-template-page-en-members .members-messages--editorial .member-long-message--blue .member-long-message__signoff img,
body.page-template-page-zh-cn-members .members-messages--editorial .member-long-message--blue .member-long-message__signoff img {
	width:280px;
	max-width:56%;
}
body.page-template-page-members .members-messages--editorial .member-long-message--orange .member-long-message__signoff img,
body.page-template-page-en-members .members-messages--editorial .member-long-message--orange .member-long-message__signoff img,
body.page-template-page-zh-cn-members .members-messages--editorial .member-long-message--orange .member-long-message__signoff img {
	width:280px;
	max-width:56%;
}
@media (max-width:980px) {
	body.page-template-page-members .members-messages__prologue-inner {
		grid-template-columns:1fr;
		gap:18px;
	}
	body.page-template-page-members .members-messages__prologue-inner > p:last-child { max-width:44em; }
	body.page-template-page-members .members-messages--editorial .member-long-message {
		grid-template-columns:1fr;
		gap:28px;
		padding:56px 6vw;
	}
	body.page-template-page-members .members-messages--editorial .member-long-message__side {
		position:static;
		padding-left:22px;
	}
	body.page-template-page-members .members-messages--editorial .member-long-message::before { top:56px; }
	body.page-template-page-members .members-messages--editorial .member-long-message__side h3 { max-width:15em; }
}
@media (max-width:600px) {
	body.page-template-page-members .members-messages__prologue { padding:58px 0 62px; }
	body.page-template-page-members .members-messages__prologue h2 {
		font-size:clamp(31px,8.4vw,36px);
		line-height:1.45;
	}
	body.page-template-page-members .members-messages__prologue-inner > p:last-child {
		font-size:13.5px;
		line-height:1.9;
	}
	body.page-template-page-members .members-messages--editorial .member-long-message {
		gap:24px;
		padding:48px 22px 50px;
	}
	body.page-template-page-members .members-messages--editorial .member-long-message::before {
		top:48px;
		height:64px;
		width:3px;
	}
	body.page-template-page-members .members-messages--editorial .member-long-message__side {
		padding-left:18px;
	}
	body.page-template-page-members .member-long-message__index {
		margin-bottom:12px;
		font-size:42px;
	}
	body.page-template-page-members .members-messages--editorial .member-long-message__side h3 {
		max-width:none;
		font-size:clamp(29px,8vw,34px);
		line-height:1.48;
		letter-spacing:-.025em;
	}
	body.page-template-page-members .members-messages--editorial .member-long-message__lead {
		font-size:13px;
	}
	body.page-template-page-members .members-messages--editorial .member-long-message__signoff {
		margin-top:22px;
		padding-top:16px;
	}
	body.page-template-page-members .members-messages--editorial .member-long-message--blue .member-long-message__signoff img,
	body.page-template-page-en-members .members-messages--editorial .member-long-message--blue .member-long-message__signoff img,
	body.page-template-page-zh-cn-members .members-messages--editorial .member-long-message--blue .member-long-message__signoff img {
		width:220px;
		max-width:72%;
	}
	body.page-template-page-members .members-messages--editorial .member-long-message--orange .member-long-message__signoff img,
	body.page-template-page-en-members .members-messages--editorial .member-long-message--orange .member-long-message__signoff img,
	body.page-template-page-zh-cn-members .members-messages--editorial .member-long-message--orange .member-long-message__signoff img {
		width:220px;
		max-width:72%;
	}
}


/* =========================================================
   Services lifecycle — approved illustration + reliable guided scroll — v0.5.53
   Scope: Japanese services page only
   ========================================================= */
body.page-template-page-services .service-lifecycle-scroll--image{display:grid;grid-template-columns:minmax(460px,1.02fr) minmax(460px,.98fr);gap:clamp(36px,4vw,72px);align-items:start;margin-top:clamp(48px,6vw,76px)}
body.page-template-page-services .service-lifecycle-visual--image{position:relative;min-width:0;align-self:stretch}
body.page-template-page-services .service-lifecycle-visual__sticky--image{position:sticky;top:150px;min-height:0;padding:0;color:inherit;background:transparent;box-shadow:none;overflow:visible}
body.page-template-page-services .service-lifecycle-visual__sticky--image::before{display:none}
body.page-template-page-services .service-lifecycle-figure{position:relative;background:#fff;border:1px solid rgba(11,26,47,.08);box-shadow:0 24px 62px rgba(11,26,47,.08);overflow:hidden}
body.page-template-page-services .service-lifecycle-figure img{display:block;width:100%;height:auto}
body.page-template-page-services .service-lifecycle-figure__focus{position:absolute;inset:0;pointer-events:none}
body.page-template-page-services .service-lifecycle-figure__marker{position:absolute;width:8.2%;aspect-ratio:1;border:2px solid rgba(255,255,255,.95);border-radius:50%;opacity:0;transform:translate(-50%,-50%) scale(.68);transition:opacity .32s ease,transform .38s cubic-bezier(.2,.8,.2,1),box-shadow .38s ease}
body.page-template-page-services .service-lifecycle-figure__marker::after{content:"";position:absolute;inset:-11px;border:2px solid currentColor;border-radius:50%;opacity:.38}
body.page-template-page-services .service-lifecycle-figure__marker.is-active{opacity:1;transform:translate(-50%,-50%) scale(1);box-shadow:0 0 0 10px color-mix(in srgb,currentColor 14%,transparent),0 0 34px color-mix(in srgb,currentColor 42%,transparent);animation:rizLifecyclePulse 1.8s ease-in-out infinite}
@keyframes rizLifecyclePulse{0%,100%{filter:brightness(1)}50%{filter:brightness(1.12)}}
body.page-template-page-services .service-lifecycle-figure__marker--01{left:11.7%;top:61.8%;color:#2b6cae}
body.page-template-page-services .service-lifecycle-figure__marker--02{left:31.2%;top:51.8%;color:#18a5ad}
body.page-template-page-services .service-lifecycle-figure__marker--03{left:50%;top:36.6%;color:#579849}
body.page-template-page-services .service-lifecycle-figure__marker--04{left:69.3%;top:42.1%;color:#8851b8}
body.page-template-page-services .service-lifecycle-figure__marker--05{left:87.4%;top:41.2%;color:#e66b20}
body.page-template-page-services .service-lifecycle-visual__hint{display:flex;align-items:center;gap:8px;margin:12px 2px 0;color:rgba(11,26,47,.52);font-size:10.5px;font-weight:650;letter-spacing:.02em}
body.page-template-page-services .service-lifecycle-visual__hint span{color:var(--riz-orange);font-size:15px}
body.page-template-page-services .service-lifecycle-scenes--guided{display:grid;gap:0;position:relative}
body.page-template-page-services .service-lifecycle-scenes--guided::before{content:"";position:absolute;left:25px;top:9vh;bottom:13vh;width:1px;background:linear-gradient(to bottom,rgba(43,108,174,.32),rgba(43,145,141,.28),rgba(102,143,109,.28),rgba(132,108,153,.28),rgba(201,93,43,.32))}
body.page-template-page-services .service-lifecycle-scenes--guided .service-lifecycle-scene{position:relative;display:flex;align-items:center;justify-content:center;min-height:72vh;margin:0 0 2vh 58px;padding:0;border:0;background:transparent;box-shadow:none;overflow:visible;opacity:.45;transform:translateY(18px) scale(.982);transition:opacity .42s ease,transform .46s cubic-bezier(.2,.8,.2,1)}
body.page-template-page-services .service-lifecycle-scenes--guided .service-lifecycle-scene::after{display:none}
body.page-template-page-services .service-lifecycle-scenes--guided .service-lifecycle-scene::before{content:attr(data-index);position:absolute;left:-85px;top:50%;display:grid;place-items:center;width:52px;height:52px;border-radius:50%;color:#fff;background:var(--scene-accent);border:5px solid #f8f7f3;box-shadow:0 5px 16px color-mix(in srgb,var(--scene-accent) 30%,transparent);font-size:12px;font-weight:850;transform:translateY(-50%) scale(.84);transition:transform .42s ease,box-shadow .42s ease;z-index:3}
body.page-template-page-services .service-lifecycle-scenes--guided .service-lifecycle-scene.is-active{opacity:1;transform:none;border:0;box-shadow:none}
body.page-template-page-services .service-lifecycle-scenes--guided .service-lifecycle-scene.is-active::before{transform:translateY(-50%) scale(1);box-shadow:0 0 0 9px color-mix(in srgb,var(--scene-accent) 10%,transparent),0 8px 24px color-mix(in srgb,var(--scene-accent) 34%,transparent)}
body.page-template-page-services .service-lifecycle-scenes--guided .service-lifecycle-scene.is-past{opacity:.62}
body.page-template-page-services .service-lifecycle-scene__panel{position:relative;width:100%;padding:clamp(30px,3vw,42px);border:1px solid rgba(11,26,47,.08);border-left:5px solid var(--scene-accent);border-radius:4px;background:#fff;box-shadow:0 18px 44px rgba(11,26,47,.045);overflow:hidden;transition:box-shadow .42s ease,transform .42s ease}
body.page-template-page-services .service-lifecycle-scene__panel::after{content:"";position:absolute;right:-70px;top:-74px;width:180px;height:180px;border-radius:50%;background:var(--scene-wash,rgba(43,108,174,.06));pointer-events:none}
body.page-template-page-services .service-lifecycle-scene.is-active .service-lifecycle-scene__panel{box-shadow:0 30px 72px rgba(11,26,47,.11);transform:translateX(4px)}
body.page-template-page-services .service-lifecycle-scenes--guided .service-lifecycle-scene header{grid-template-columns:64px minmax(0,1fr);gap:18px}
body.page-template-page-services .service-lifecycle-scenes--guided .service-lifecycle-scene__number{display:none}
body.page-template-page-services .service-lifecycle-scenes--guided .service-lifecycle-scene__icon{width:62px;height:62px}
body.page-template-page-services .service-lifecycle-scenes--guided .service-lifecycle-scene__icon .riz-icon{width:30px;height:30px}
body.page-template-page-services .service-lifecycle-scenes--guided .service-lifecycle-scene h3{font-size:clamp(30px,2.55vw,42px)}
body.page-template-page-services .service-lifecycle-scenes--guided .service-lifecycle-scene__lead{margin:28px 0 20px;font-size:clamp(18px,1.45vw,22px)}
body.page-template-page-services .service-lifecycle-scenes--guided .service-lifecycle-scene ul{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 28px}
body.page-template-page-services .service-lifecycle-scenes--guided .service-lifecycle-scene li{font-size:13px}
body.page-template-page-services .service-lifecycle-any-detail{display:grid;grid-template-columns:58px minmax(0,1fr);gap:18px;margin:7vh 0 0 58px;padding:28px 30px;border:1px solid rgba(218,106,48,.22);border-radius:4px;background:linear-gradient(135deg,#fffaf6,#fff)}
body.page-template-page-services .service-lifecycle-any-detail__icon{display:grid;place-items:center;width:56px;height:56px;color:#ca651f;border:1px solid rgba(202,101,31,.28);border-radius:50%}
body.page-template-page-services .service-lifecycle-any-detail__icon .riz-icon{width:27px;height:27px}
body.page-template-page-services .service-lifecycle-any-detail small{color:#ca651f;font-size:8px;font-weight:850;letter-spacing:.18em}
body.page-template-page-services .service-lifecycle-any-detail h3{margin:5px 0 8px;font-family:var(--riz-serif);font-size:23px;font-weight:550}
body.page-template-page-services .service-lifecycle-any-detail p{margin:0;color:var(--riz-ink-soft);font-size:13px;line-height:1.8}
@media(max-width:1100px){body.page-template-page-services .service-lifecycle-scroll--image{grid-template-columns:minmax(390px,.95fr) minmax(420px,1.05fr);gap:34px}body.page-template-page-services .service-lifecycle-visual__sticky--image{top:120px}body.page-template-page-services .service-lifecycle-scenes--guided .service-lifecycle-scene{min-height:65vh;margin-left:52px}body.page-template-page-services .service-lifecycle-scenes--guided::before{left:22px}body.page-template-page-services .service-lifecycle-scenes--guided .service-lifecycle-scene::before{left:-78px;width:48px;height:48px}body.page-template-page-services .service-lifecycle-scenes--guided .service-lifecycle-scene ul{grid-template-columns:1fr}body.page-template-page-services .service-lifecycle-any-detail{margin-left:52px}}
@media(max-width:820px){body.page-template-page-services .service-lifecycle-scroll--image{grid-template-columns:1fr;gap:26px}body.page-template-page-services .service-lifecycle-visual__sticky--image{position:relative;top:auto}body.page-template-page-services .service-lifecycle-visual__hint{display:none}body.page-template-page-services .service-lifecycle-scenes--guided{gap:14px}body.page-template-page-services .service-lifecycle-scenes--guided::before{display:none}body.page-template-page-services .service-lifecycle-scenes--guided .service-lifecycle-scene{min-height:0;margin:0;padding:0;opacity:1;transform:none}body.page-template-page-services .service-lifecycle-scenes--guided .service-lifecycle-scene::before{display:none}body.page-template-page-services .service-lifecycle-scene__panel{padding:24px 20px;transform:none!important}body.page-template-page-services .service-lifecycle-scenes--guided .service-lifecycle-scene header{grid-template-columns:50px minmax(0,1fr);gap:13px}body.page-template-page-services .service-lifecycle-scenes--guided .service-lifecycle-scene__icon{width:48px;height:48px}body.page-template-page-services .service-lifecycle-scenes--guided .service-lifecycle-scene__icon .riz-icon{width:24px;height:24px}body.page-template-page-services .service-lifecycle-scenes--guided .service-lifecycle-scene h3{font-size:26px}body.page-template-page-services .service-lifecycle-scenes--guided .service-lifecycle-scene__lead{margin:20px 0 14px;font-size:17px}body.page-template-page-services .service-lifecycle-scenes--guided .service-lifecycle-scene ul{grid-template-columns:1fr}body.page-template-page-services .service-lifecycle-any-detail{margin:2px 0 0;padding:22px 20px}}
@media(max-width:480px){body.page-template-page-services .service-lifecycle-scroll--image{margin-top:34px}body.page-template-page-services .service-lifecycle-figure{margin-inline:-2px}body.page-template-page-services .service-lifecycle-scene__panel{padding:21px 16px}body.page-template-page-services .service-lifecycle-scenes--guided .service-lifecycle-scene h3{font-size:23px}body.page-template-page-services .service-lifecycle-scenes--guided .service-lifecycle-scene__lead{font-size:16px;line-height:1.65}body.page-template-page-services .service-lifecycle-any-detail{grid-template-columns:44px minmax(0,1fr);gap:13px;padding:19px 16px}body.page-template-page-services .service-lifecycle-any-detail__icon{width:42px;height:42px}}


/* =========================================================
   About / Communication story — v0.5.55
   Scope: RiZについて only
   ========================================================= */
body.page-template-page-about .about-communication {
  position: relative;
  padding: clamp(100px, 11vw, 150px) 0 clamp(110px, 12vw, 165px);
  overflow: clip;
  color: var(--riz-ink);
  background:
    radial-gradient(circle at 8% 14%, rgba(67,139,191,.12), transparent 21%),
    radial-gradient(circle at 91% 22%, rgba(233,150,101,.13), transparent 22%),
    radial-gradient(circle at 12% 78%, rgba(95,178,160,.10), transparent 19%),
    #f7f2e8;
}
body.page-template-page-about .about-communication__head {
  width: min(780px, 100%);
  margin: 0 auto clamp(70px, 8vw, 100px);
  text-align: center;
}
body.page-template-page-about .about-communication__head h2 {
  margin: 0;
  font-family: var(--riz-serif);
  font-size: clamp(46px, 5.3vw, 72px);
  font-weight: 450;
  line-height: 1.28;
  letter-spacing: -.04em;
  text-wrap: balance;
}
body.page-template-page-about .about-communication__head > p:last-child {
  max-width: 720px;
  margin: 30px auto 0;
  color: var(--riz-ink-soft);
  font-size: 15px;
  line-height: 2;
}
body.page-template-page-about .about-communication__flow {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 230px minmax(0, 1fr);
  min-height: 1520px;
}
body.page-template-page-about .about-communication__center {
  grid-column: 2;
  grid-row: 1;
  align-self: stretch;
  position: relative;
  z-index: 3;
}
body.page-template-page-about .about-communication__center-orbit {
  position: sticky;
  top: calc(50vh - 115px);
  display: grid;
  place-items: center;
  align-content: center;
  width: 230px;
  height: 230px;
  margin-inline: auto;
  padding: 28px;
  color: #fff;
  border-radius: 50%;
  background:
    radial-gradient(circle at 34% 25%, rgba(255,255,255,.16), transparent 27%),
    linear-gradient(145deg, #123c69 0%, #244f7d 64%, #b9683c 145%);
  box-shadow: 0 26px 70px rgba(18,48,76,.22), 0 0 0 15px rgba(255,255,255,.62);
  text-align: center;
}
body.page-template-page-about .about-communication__center-orbit::before,
body.page-template-page-about .about-communication__center-orbit::after {
  content: "";
  position: absolute;
  border-radius: 50%;
  border: 1px solid rgba(34,79,125,.22);
}
body.page-template-page-about .about-communication__center-orbit::before { inset: -28px; }
body.page-template-page-about .about-communication__center-orbit::after { inset: -52px; opacity: .48; }
body.page-template-page-about .about-communication__pulse {
  position: absolute;
  inset: -14px;
  border: 2px solid rgba(218,106,48,.36);
  border-radius: 50%;
  opacity: .38;
  animation: rizCommunicationPulse 3.2s ease-in-out infinite;
}
@keyframes rizCommunicationPulse {
  0%, 100% { transform: scale(.96); opacity: .22; }
  50% { transform: scale(1.05); opacity: .56; }
}
body.page-template-page-about .about-communication__center-orbit > p {
  margin: 0 0 12px;
  font-family: var(--riz-serif);
  font-size: 24px;
  font-weight: 700;
}
body.page-template-page-about .about-communication__center-orbit > strong {
  font-family: var(--riz-serif);
  font-size: 18px;
  font-weight: 550;
  line-height: 1.65;
}
body.page-template-page-about .about-communication__center-orbit > small {
  margin-top: 14px;
  color: rgba(255,255,255,.58);
  font-size: 8px;
  font-weight: 800;
  letter-spacing: .16em;
  text-transform: uppercase;
}
body.page-template-page-about .about-communication__pairs {
  grid-column: 1 / -1;
  grid-row: 1;
  position: relative;
  z-index: 2;
  display: grid;
  gap: 72px;
  padding: 50px 0 80px;
}
body.page-template-page-about .about-communication__pair {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 230px minmax(0, 1fr);
  align-items: center;
  min-height: 220px;
  opacity: .42;
  transition: opacity .5s ease;
}
body.page-template-page-about .about-communication__pair.is-active { opacity: 1; }
body.page-template-page-about .about-communication__bubble {
  position: relative;
  min-height: 150px;
  padding: 26px 28px;
  border: 1px solid rgba(11,26,47,.08);
  border-radius: 26px;
  box-shadow: 0 18px 48px rgba(24,46,70,.09);
  transition: opacity .55s ease, transform .7s var(--riz-ease), box-shadow .55s ease;
}
body.page-template-page-about .about-communication__bubble--customer {
  grid-column: 1;
  margin-right: 34px;
  color: #173a57;
  background: linear-gradient(145deg, #cfeaf7, #e9f5f9 80%);
  transform: translate3d(-42px, 22px, 0) scale(.97);
}
body.page-template-page-about .about-communication__bubble--riz {
  grid-column: 3;
  margin-left: 34px;
  color: #5a3626;
  background: linear-gradient(145deg, #f6d7c1, #fbe9dc 80%);
  transform: translate3d(42px, 22px, 0) scale(.97);
}
body.page-template-page-about .about-communication__pair:nth-child(2) .about-communication__bubble--customer { background: linear-gradient(145deg, #d8efe7, #edf7f3); }
body.page-template-page-about .about-communication__pair:nth-child(2) .about-communication__bubble--riz { background: linear-gradient(145deg, #f5e2a8, #fbf1cf); }
body.page-template-page-about .about-communication__pair:nth-child(3) .about-communication__bubble--customer { background: linear-gradient(145deg, #e2ddf6, #f1eefb); }
body.page-template-page-about .about-communication__pair:nth-child(3) .about-communication__bubble--riz { background: linear-gradient(145deg, #d7e7f8, #edf4fb); }
body.page-template-page-about .about-communication__pair:nth-child(4) .about-communication__bubble--customer { background: linear-gradient(145deg, #f4dccf, #faeee7); }
body.page-template-page-about .about-communication__pair:nth-child(4) .about-communication__bubble--riz { background: linear-gradient(145deg, #d7ece8, #eef7f5); }
body.page-template-page-about .about-communication__pair:nth-child(5) .about-communication__bubble--customer { background: linear-gradient(145deg, #d9e8f7, #eef5fb); }
body.page-template-page-about .about-communication__pair:nth-child(5) .about-communication__bubble--riz { background: linear-gradient(145deg, #f0decf, #faf0e8); }
body.page-template-page-about .about-communication__pair.is-active .about-communication__bubble {
  transform: none;
  box-shadow: 0 26px 64px rgba(24,46,70,.15);
}
body.page-template-page-about .about-communication__label {
  display: block;
  margin-bottom: 14px;
  font-size: 8px;
  font-weight: 850;
  letter-spacing: .18em;
  opacity: .56;
}
body.page-template-page-about .about-communication__bubble p {
  margin: 0;
  font-family: var(--riz-serif);
  font-size: clamp(18px, 1.7vw, 23px);
  font-weight: 500;
  line-height: 1.75;
  text-wrap: pretty;
}
body.page-template-page-about .about-communication__connector {
  grid-column: 2;
  position: relative;
  display: block;
  width: 100%;
  height: 1px;
}
body.page-template-page-about .about-communication__connector::before,
body.page-template-page-about .about-communication__connector::after {
  content: "";
  position: absolute;
  top: 0;
  width: 50%;
  height: 1px;
  background: linear-gradient(90deg, rgba(43,108,174,.12), rgba(43,108,174,.72));
  transform: scaleX(0);
  transition: transform .65s .12s var(--riz-ease);
}
body.page-template-page-about .about-communication__connector::before { right: 50%; transform-origin: right; }
body.page-template-page-about .about-communication__connector::after {
  left: 50%;
  background: linear-gradient(90deg, rgba(218,106,48,.72), rgba(218,106,48,.12));
  transform-origin: left;
}
body.page-template-page-about .about-communication__pair.is-active .about-communication__connector::before,
body.page-template-page-about .about-communication__pair.is-active .about-communication__connector::after { transform: scaleX(1); }
body.page-template-page-about .about-communication__closing {
  width: min(850px, 100%);
  margin: 72px auto 0;
  padding-top: 46px;
  border-top: 1px solid rgba(11,26,47,.12);
  text-align: center;
}
body.page-template-page-about .about-communication__closing p {
  margin: 0;
  color: var(--riz-ink-soft);
  font-size: 16px;
  line-height: 1.9;
}
body.page-template-page-about .about-communication__closing strong {
  display: block;
  margin-top: 12px;
  font-family: var(--riz-serif);
  font-size: clamp(30px, 3.5vw, 46px);
  font-weight: 550;
  line-height: 1.45;
  color: var(--riz-ink);
}

@media (max-width: 980px) {
  body.page-template-page-about .about-communication__flow { grid-template-columns: 1fr 190px 1fr; }
  body.page-template-page-about .about-communication__center-orbit { width: 190px; height: 190px; top: calc(50vh - 95px); }
  body.page-template-page-about .about-communication__pair { grid-template-columns: 1fr 190px 1fr; }
  body.page-template-page-about .about-communication__bubble { padding: 22px 20px; }
  body.page-template-page-about .about-communication__bubble--customer { margin-right: 20px; }
  body.page-template-page-about .about-communication__bubble--riz { margin-left: 20px; }
}

@media (max-width: 760px) {
  body.page-template-page-about .about-communication {
    padding: 78px 0 86px;
    overflow: hidden;
  }
  body.page-template-page-about .about-communication__head {
    margin-bottom: 48px;
    text-align: left;
  }
  body.page-template-page-about .about-communication__head h2 {
    font-size: clamp(38px, 10vw, 48px);
  }
  body.page-template-page-about .about-communication__head > p:last-child {
    margin-top: 22px;
    font-size: 14px;
    line-height: 1.9;
  }
  body.page-template-page-about .about-communication__flow {
    display: block;
    min-height: 0;
  }
  body.page-template-page-about .about-communication__center {
    position: relative;
    margin-bottom: 52px;
  }
  body.page-template-page-about .about-communication__center-orbit {
    position: relative;
    top: auto;
    width: 180px;
    height: 180px;
  }
  body.page-template-page-about .about-communication__center-orbit > p { font-size: 22px; }
  body.page-template-page-about .about-communication__center-orbit > strong { font-size: 16px; }
  body.page-template-page-about .about-communication__pairs {
    display: grid;
    gap: 30px;
    padding: 0;
  }
  body.page-template-page-about .about-communication__pair,
  body.page-template-page-about .about-communication__pair.is-active {
    display: grid;
    grid-template-columns: 1fr;
    gap: 12px;
    min-height: 0;
    opacity: 1;
  }
  body.page-template-page-about .about-communication__bubble--customer,
  body.page-template-page-about .about-communication__bubble--riz,
  body.page-template-page-about .about-communication__pair.is-active .about-communication__bubble {
    grid-column: 1;
    min-height: 0;
    margin: 0;
    padding: 20px 18px;
    transform: none;
  }
  body.page-template-page-about .about-communication__bubble--customer { border-radius: 22px 22px 22px 7px; }
  body.page-template-page-about .about-communication__bubble--riz { border-radius: 22px 22px 7px 22px; }
  body.page-template-page-about .about-communication__connector {
    grid-column: 1;
    width: 1px;
    height: 24px;
    margin-inline: auto;
    background: linear-gradient(var(--riz-blue), var(--riz-orange));
  }
  body.page-template-page-about .about-communication__connector::before,
  body.page-template-page-about .about-communication__connector::after { display: none; }
  body.page-template-page-about .about-communication__bubble p {
    font-size: 18px;
    line-height: 1.75;
  }
  body.page-template-page-about .about-communication__closing {
    margin-top: 54px;
    padding-top: 34px;
    text-align: left;
  }
  body.page-template-page-about .about-communication__closing strong {
    font-size: clamp(29px, 8vw, 38px);
    text-wrap: balance;
  }
}

@media (prefers-reduced-motion: reduce) {
  body.page-template-page-about .about-communication__pulse { animation: none; }
  body.page-template-page-about .about-communication__bubble,
  body.page-template-page-about .about-communication__connector::before,
  body.page-template-page-about .about-communication__connector::after { transition: none; }
}

/* --------------------------------------------------------------------------
   v0.5.56 — About / visual two-organization cards + message gateways
   -------------------------------------------------------------------------- */
body.page-template-page-about .about-definition--visual {
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(circle at 50% 54%, rgba(43,108,174,.10), transparent 27%),
    var(--riz-ink);
}
body.page-template-page-about .about-definition__organizations--visual {
  grid-template-columns: minmax(0,1fr) 180px minmax(0,1fr);
  gap: 18px;
  border: 0;
  align-items: stretch;
}
body.page-template-page-about .about-definition__organizations--visual .about-definition__card {
  display: flex;
  flex-direction: column;
  min-width: 0;
  min-height: 630px;
  padding: clamp(34px, 3.5vw, 48px) clamp(26px, 3.2vw, 44px) 24px;
  color: var(--riz-ink);
  border: 1px solid rgba(255,255,255,.20);
  border-radius: 16px;
  background: linear-gradient(150deg, #fff 0%, #fbfcfe 66%, #f3f7fb 100%);
  box-shadow: 0 26px 70px rgba(0,0,0,.18);
  overflow: hidden;
  transition: transform .45s var(--riz-ease), box-shadow .45s var(--riz-ease);
}
body.page-template-page-about .about-definition__organizations--visual .about-definition__card:hover {
  transform: translateY(-5px);
  box-shadow: 0 34px 82px rgba(0,0,0,.24);
}
body.page-template-page-about .about-definition__organizations--visual .about-definition__card--office {
  box-shadow: inset 0 5px 0 var(--riz-blue), 0 26px 70px rgba(0,0,0,.18);
}
body.page-template-page-about .about-definition__organizations--visual .about-definition__card--company {
  box-shadow: inset 0 5px 0 var(--riz-orange), 0 26px 70px rgba(0,0,0,.18);
}
body.page-template-page-about .about-definition__card-copy .section-kicker {
  margin-bottom: 0;
}
body.page-template-page-about .about-definition__card--office .about-definition__card-copy .section-kicker { color: var(--riz-blue-deep); }
body.page-template-page-about .about-definition__card--company .about-definition__card-copy .section-kicker { color: var(--riz-orange-deep); }
body.page-template-page-about .about-definition__organizations--visual .about-definition__card h3 {
  margin: 18px 0 18px;
  color: var(--riz-ink);
  font-size: clamp(27px, 2.6vw, 38px);
  line-height: 1.42;
}
body.page-template-page-about .about-definition__card-copy > p:last-child {
  max-width: 620px;
  margin: 0;
  color: var(--riz-ink-soft);
  font-size: 14px;
  line-height: 1.9;
}
body.page-template-page-about .about-definition__visual-flow {
  position: relative;
  display: grid;
  grid-template-columns: 1fr 18px 1fr 18px 1fr;
  gap: 5px;
  align-items: start;
  margin: 42px 0 36px;
  padding: 0 2px;
}
body.page-template-page-about .about-definition__visual-flow--company {
  grid-template-columns: 1fr 12px 1fr 12px 1fr 12px 1fr;
}
body.page-template-page-about .about-definition__visual-step {
  position: relative;
  display: grid;
  justify-items: center;
  gap: 10px;
  min-width: 0;
  text-align: center;
}
body.page-template-page-about .about-definition__icon {
  display: grid;
  place-items: center;
  width: clamp(54px, 5vw, 68px);
  height: clamp(54px, 5vw, 68px);
  border-radius: 50%;
  background: #eef5fd;
  color: var(--riz-blue-deep);
  border: 1px solid rgba(43,108,174,.17);
  box-shadow: 0 10px 24px rgba(28,76,126,.08);
}
body.page-template-page-about .about-definition__card--company .about-definition__icon {
  color: var(--riz-orange-deep);
  background: #fff3eb;
  border-color: rgba(218,106,48,.18);
  box-shadow: 0 10px 24px rgba(218,106,48,.08);
}
body.page-template-page-about .about-definition__icon .riz-icon {
  width: 29px;
  height: 29px;
}
body.page-template-page-about .about-definition__visual-step strong {
  color: var(--riz-ink);
  font-size: 11px;
  line-height: 1.55;
  font-weight: 750;
  text-wrap: balance;
}
body.page-template-page-about .about-definition__flow-arrow {
  align-self: center;
  margin-top: 20px;
  color: rgba(10,35,63,.54);
  font-size: 24px;
  line-height: 1;
}
body.page-template-page-about .about-definition__message-link {
  position: relative;
  display: flex;
  align-items: center;
  min-height: 158px;
  margin-top: auto;
  padding: 22px 135px 22px 24px;
  color: var(--riz-ink);
  border: 1px solid rgba(43,108,174,.45);
  border-radius: 12px;
  background: linear-gradient(110deg, rgba(237,246,255,.96), rgba(255,255,255,.94));
  overflow: hidden;
  text-decoration: none;
  isolation: isolate;
  transition: transform .35s var(--riz-ease), border-color .35s var(--riz-ease), box-shadow .35s var(--riz-ease);
}
body.page-template-page-about .about-definition__message-link--company {
  border-color: rgba(218,106,48,.48);
  background: linear-gradient(110deg, rgba(255,246,239,.98), rgba(255,255,255,.94));
}
body.page-template-page-about .about-definition__message-link::before {
  position: absolute;
  inset: 0;
  z-index: -1;
  content: "";
  background: linear-gradient(100deg, rgba(43,108,174,.09), transparent 52%);
  opacity: 0;
  transition: opacity .35s ease;
}
body.page-template-page-about .about-definition__message-link--company::before {
  background: linear-gradient(100deg, rgba(218,106,48,.10), transparent 52%);
}
body.page-template-page-about .about-definition__message-link:hover,
body.page-template-page-about .about-definition__message-link:focus-visible {
  transform: translateY(-3px);
  border-color: var(--riz-blue);
  box-shadow: 0 16px 28px rgba(10,35,63,.12);
}
body.page-template-page-about .about-definition__message-link--company:hover,
body.page-template-page-about .about-definition__message-link--company:focus-visible { border-color: var(--riz-orange); }
body.page-template-page-about .about-definition__message-link:hover::before,
body.page-template-page-about .about-definition__message-link:focus-visible::before { opacity: 1; }
body.page-template-page-about .about-definition__message-copy {
  display: grid;
  grid-template-columns: 44px minmax(0,1fr);
  gap: 14px;
  align-items: start;
  min-width: 0;
}
body.page-template-page-about .about-definition__message-icon {
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  color: #fff;
  border-radius: 50%;
  background: var(--riz-blue-deep);
}
body.page-template-page-about .about-definition__message-link--company .about-definition__message-icon { background: var(--riz-orange-deep); }
body.page-template-page-about .about-definition__message-icon .riz-icon { width: 21px; height: 21px; }
body.page-template-page-about .about-definition__message-copy small {
  display: block;
  margin-bottom: 2px;
  color: var(--riz-blue-deep);
  font-size: 9px;
  font-weight: 850;
  letter-spacing: .16em;
}
body.page-template-page-about .about-definition__message-link--company .about-definition__message-copy small { color: var(--riz-orange-deep); }
body.page-template-page-about .about-definition__message-copy strong {
  display: block;
  font-family: var(--riz-serif);
  font-size: clamp(17px, 1.7vw, 22px);
  line-height: 1.5;
}
body.page-template-page-about .about-definition__message-copy p {
  max-width: 300px;
  margin: 7px 0 0;
  color: var(--riz-ink-soft);
  font-size: 11px;
  line-height: 1.65;
}
body.page-template-page-about .about-definition__message-arrow {
  position: absolute;
  right: 112px;
  top: 50%;
  z-index: 2;
  color: var(--riz-blue-deep);
  font-size: 26px;
  transform: translateY(-50%);
  transition: transform .35s var(--riz-ease);
}
body.page-template-page-about .about-definition__message-link--company .about-definition__message-arrow { color: var(--riz-orange-deep); }
body.page-template-page-about .about-definition__message-link:hover .about-definition__message-arrow,
body.page-template-page-about .about-definition__message-link:focus-visible .about-definition__message-arrow { transform: translate(7px,-50%); }
body.page-template-page-about .about-definition__message-photo {
  position: absolute;
  right: 8px;
  bottom: 0;
  z-index: 1;
  width: 104px;
  height: 146px;
  object-fit: cover;
  object-position: center 14%;
  filter: saturate(.86) contrast(1.02);
  -webkit-mask-image: linear-gradient(to top, #000 82%, rgba(0,0,0,.96));
  mask-image: linear-gradient(to top, #000 82%, rgba(0,0,0,.96));
  transition: transform .45s var(--riz-ease), filter .45s ease;
}
body.page-template-page-about .about-definition__message-link--company .about-definition__message-photo { object-position: center 10%; }
body.page-template-page-about .about-definition__message-link:hover .about-definition__message-photo,
body.page-template-page-about .about-definition__message-link:focus-visible .about-definition__message-photo {
  transform: scale(1.035);
  filter: saturate(1) contrast(1.02);
}
body.page-template-page-about .about-definition__bridge--visual {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 22px;
  min-width: 0;
  padding: 36px 10px;
  border: 0;
  background: transparent;
}
body.page-template-page-about .about-definition__bridge--visual span {
  color: #f2a27a;
  font-size: 11px;
  line-height: 1.85;
}
body.page-template-page-about .about-definition__bridge--visual p {
  margin: 0;
  color: rgba(255,255,255,.70);
  font-family: var(--riz-serif);
  font-size: 13px;
  line-height: 1.9;
}
body.page-template-page-about .about-definition__bridge-line {
  position: relative;
  width: 74%;
  height: 1px;
  background: rgba(255,255,255,.18);
}
body.page-template-page-about .about-definition__bridge-line::before,
body.page-template-page-about .about-definition__bridge-line::after {
  position: absolute;
  top: 50%;
  width: 6px;
  height: 6px;
  content: "";
  border-radius: 50%;
  transform: translateY(-50%);
}
body.page-template-page-about .about-definition__bridge-line--blue { align-self: flex-start; background: linear-gradient(90deg, var(--riz-blue), rgba(255,255,255,.12)); }
body.page-template-page-about .about-definition__bridge-line--blue::before { left: 0; background: var(--riz-blue); }
body.page-template-page-about .about-definition__bridge-line--blue::after { right: 0; background: rgba(255,255,255,.30); }
body.page-template-page-about .about-definition__bridge-line--orange { align-self: flex-end; background: linear-gradient(90deg, rgba(255,255,255,.12), var(--riz-orange)); }
body.page-template-page-about .about-definition__bridge-line--orange::before { left: 0; background: rgba(255,255,255,.30); }
body.page-template-page-about .about-definition__bridge-line--orange::after { right: 0; background: var(--riz-orange); }
body.page-template-page-about .about-definition__note--visual {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 16px;
  max-width: 1160px;
  margin: 34px auto 0;
  padding: 20px 28px;
  border-radius: 999px;
  background: rgba(255,255,255,.035);
  text-align: center;
  line-height: 1.8;
}
body.page-template-page-about .about-definition__note-icon {
  flex: 0 0 auto;
  display: grid;
  place-items: center;
  width: 38px;
  height: 38px;
  color: #fff;
  border-radius: 50%;
  background: rgba(255,255,255,.08);
}
body.page-template-page-about .about-definition__note-icon .riz-icon { width: 19px; height: 19px; }
body.page-template-page-about .about-definition__card.reveal .about-definition__visual-step,
body.page-template-page-about .about-definition__card.reveal .about-definition__message-link {
  opacity: 0;
  transform: translateY(14px);
  transition: opacity .55s ease, transform .65s var(--riz-ease);
}
body.page-template-page-about .about-definition__card.reveal.is-visible .about-definition__visual-step,
body.page-template-page-about .about-definition__card.reveal.is-visible .about-definition__message-link {
  opacity: 1;
  transform: none;
}
body.page-template-page-about .about-definition__card.reveal.is-visible .about-definition__visual-step:nth-of-type(1) { transition-delay: .08s; }
body.page-template-page-about .about-definition__card.reveal.is-visible .about-definition__visual-step:nth-of-type(2) { transition-delay: .15s; }
body.page-template-page-about .about-definition__card.reveal.is-visible .about-definition__visual-step:nth-of-type(3) { transition-delay: .22s; }
body.page-template-page-about .about-definition__card.reveal.is-visible .about-definition__visual-step:nth-of-type(4) { transition-delay: .29s; }
body.page-template-page-about .about-definition__card.reveal.is-visible .about-definition__message-link { transition-delay: .34s; }
#inoue-message-title,
#sugai-message-title { scroll-margin-top: 150px; }

@media (max-width: 1180px) {
  body.page-template-page-about .about-definition__organizations--visual { grid-template-columns: minmax(0,1fr) 125px minmax(0,1fr); gap: 12px; }
  body.page-template-page-about .about-definition__organizations--visual .about-definition__card { padding-inline: 26px; }
  body.page-template-page-about .about-definition__visual-flow { margin-top: 34px; }
  body.page-template-page-about .about-definition__visual-flow--company { grid-template-columns: repeat(4,1fr); gap: 8px; }
  body.page-template-page-about .about-definition__visual-flow--company .about-definition__flow-arrow { display: none; }
  body.page-template-page-about .about-definition__message-link { padding-right: 118px; }
  body.page-template-page-about .about-definition__message-arrow { right: 96px; }
  body.page-template-page-about .about-definition__message-photo { width: 92px; }
}

@media (max-width: 900px) {
  body.page-template-page-about .about-definition__organizations--visual {
    grid-template-columns: 1fr;
    gap: 24px;
  }
  body.page-template-page-about .about-definition__organizations--visual .about-definition__card { min-height: 0; }
  body.page-template-page-about .about-definition__bridge--visual {
    min-height: 120px;
    flex-direction: row;
    align-items: center;
    gap: 20px;
    padding: 12px 28px;
    border-block: 1px solid rgba(255,255,255,.14);
  }
  body.page-template-page-about .about-definition__bridge--visual p { display: none; }
  body.page-template-page-about .about-definition__bridge-line { width: min(120px, 24vw); }
  body.page-template-page-about .about-definition__message-link { margin-top: 8px; }
}

@media (max-width: 620px) {
  body.page-template-page-about .about-definition__organizations--visual { margin-top: 46px; }
  body.page-template-page-about .about-definition__organizations--visual .about-definition__card {
    padding: 30px 20px 18px;
    border-radius: 12px;
  }
  body.page-template-page-about .about-definition__organizations--visual .about-definition__card h3 {
    font-size: clamp(27px, 8.2vw, 34px);
    line-height: 1.45;
  }
  body.page-template-page-about .about-definition__visual-flow,
  body.page-template-page-about .about-definition__visual-flow--company {
    grid-template-columns: repeat(3,1fr);
    gap: 8px;
    margin: 32px 0 28px;
  }
  body.page-template-page-about .about-definition__visual-flow--company { grid-template-columns: repeat(2,1fr); row-gap: 20px; }
  body.page-template-page-about .about-definition__flow-arrow { display: none; }
  body.page-template-page-about .about-definition__icon { width: 58px; height: 58px; }
  body.page-template-page-about .about-definition__visual-step strong { font-size: 11px; }
  body.page-template-page-about .about-definition__bridge--visual { min-height: 96px; padding-inline: 10px; }
  body.page-template-page-about .about-definition__bridge-line { width: 22vw; }
  body.page-template-page-about .about-definition__message-link {
    min-height: 152px;
    padding: 19px 104px 19px 17px;
  }
  body.page-template-page-about .about-definition__message-copy { grid-template-columns: 36px minmax(0,1fr); gap: 10px; }
  body.page-template-page-about .about-definition__message-icon { width: 36px; height: 36px; }
  body.page-template-page-about .about-definition__message-copy strong { font-size: 18px; }
  body.page-template-page-about .about-definition__message-copy p { font-size: 10.5px; line-height: 1.6; }
  body.page-template-page-about .about-definition__message-photo { right: 4px; width: 84px; height: 135px; }
  body.page-template-page-about .about-definition__message-arrow { right: 80px; font-size: 21px; }
  body.page-template-page-about .about-definition__note--visual {
    align-items: flex-start;
    border-radius: 18px;
    padding: 18px 18px;
    text-align: left;
  }
}

@media (prefers-reduced-motion: reduce) {
  body.page-template-page-about .about-definition__organizations--visual .about-definition__card,
  body.page-template-page-about .about-definition__message-link,
  body.page-template-page-about .about-definition__message-photo,
  body.page-template-page-about .about-definition__message-arrow,
  body.page-template-page-about .about-definition__visual-step { transition: none !important; }
}
body.page-template-page-about .about-definition__company-name,
body.page-template-page-about .about-definition__message-copy strong > span { display: block; }


/* =========================================================
   Global typography balance — v0.5.61
   Purpose: reduce oversized editorial headings, raise undersized support
   copy, and keep a consistent hierarchy across Japanese pages.
   ========================================================= */
:root {
  --riz-type-body-readable: 16px;
  --riz-type-support-readable: 14px;
}

/* Small recurring labels should remain subtle, but not microscopic. */
.section-kicker { font-size: 11px; }

@media (min-width: 761px) {
  /* TOP — editorial statements */
  .cinematic-hero__headline { font-size: clamp(54px, 5.7vw, 82px); line-height: 1.14; }
  .opening-statement h2 { font-size: clamp(38px, 4.2vw, 58px); line-height: 1.48; }
  .brand-promise h2 { font-size: clamp(46px, 5.5vw, 72px); line-height: 1.28; }
  .story-chapter h2 { font-size: clamp(38px, 3.8vw, 56px); line-height: 1.38; }
  .story-chapter > p:last-child { font-size: 17px; line-height: 2; }
  .one-value-scene h2 { font-size: clamp(46px, 5.6vw, 72px); line-height: 1.2; }
  .needs-section h2,
  .members-section h2 { font-size: clamp(38px, 4.1vw, 58px); line-height: 1.42; }
  .need-card h3 { font-size: clamp(28px, 3vw, 41px); line-height: 1.5; }
  .need-card:not(.need-card--wide):not(.need-card--photo) h3 { font-size: clamp(24px, 2.2vw, 31px); }
  .need-card > p { font-size: 14.5px; line-height: 1.85; opacity: .78; }
  .resource-strategy h2 { font-size: clamp(38px, 4vw, 56px); line-height: 1.45; }
  .resource-strategy__steps h3 { font-size: clamp(22px, 2vw, 28px); }
  .resource-strategy__closing { font-size: clamp(24px, 2.6vw, 36px); line-height: 1.75; }
  .action-story h2 { font-size: clamp(42px, 4.9vw, 66px); }
  .gratitude-statement h2,
  .final-cta h2 { font-size: clamp(44px, 5.2vw, 70px); line-height: 1.36; }

  /* Shared lower-page hierarchy */
  .lower-hero h1 { font-size: clamp(46px, 5vw, 72px); line-height: 1.3; letter-spacing: -.04em; }
  .lower-hero--organizations h1 { font-size: clamp(44px, 4.5vw, 66px); }
  .lower-hero__content > p:last-child { font-size: 17px; line-height: 1.95; }
  .section-heading h2,
  .editorial-split h2,
  .contact-guide h2,
  .lower-cta h2 { font-size: clamp(36px, 3.8vw, 54px); line-height: 1.42; }
  .section-heading > p:last-child,
  .editorial-copy p,
  .lower-cta p { font-size: 16px; line-height: 1.95; }

  /* ABOUT — readable visual cards and communication */
  body.page-template-page-about .about-origin-message__head h2,
  body.page-template-page-about .about-definition__intro h2 { font-size: clamp(38px, 4vw, 56px); line-height: 1.45; }
  body.page-template-page-about .about-origin-message__lead { font-size: clamp(18px, 1.7vw, 22px); }
  body.page-template-page-about .about-origin-message__body > p:not(.about-origin-message__statement):not(.about-origin-message__questions) { font-size: 16px; line-height: 2; }
  body.page-template-page-about .about-definition__intro > p:last-child { font-size: 17px; }
  body.page-template-page-about .about-definition__organizations--visual .about-definition__card h3 { font-size: clamp(27px, 2.35vw, 34px); }
  body.page-template-page-about .about-definition__card-copy > p:last-child { font-size: 15px; line-height: 1.9; }
  body.page-template-page-about .about-definition__visual-step strong { font-size: 13px; line-height: 1.5; }
  body.page-template-page-about .about-definition__message-copy small { font-size: 10px; }
  body.page-template-page-about .about-definition__message-copy strong { font-size: clamp(18px, 1.45vw, 21px); }
  body.page-template-page-about .about-definition__message-copy p { font-size: 13px; line-height: 1.7; }
  body.page-template-page-about .about-definition__bridge--visual span { font-size: 12px; }
  body.page-template-page-about .about-definition__bridge--visual p { font-size: 14px; }
  body.page-template-page-about .about-definition__note--visual { font-size: 14px; }
  body.page-template-page-about .about-communication__head h2 { font-size: clamp(40px, 4.2vw, 58px); line-height: 1.35; }
  body.page-template-page-about .about-communication__head > p:last-child { font-size: 16px; line-height: 1.95; }

  /* SERVICES */
  .concern-page .concern-page-hero h1 { font-size: clamp(46px, 4.7vw, 68px); line-height: 1.2; }
  .concern-page .concern-page-hero__lead { font-size: clamp(18px, 1.7vw, 23px); }
  .concern-page .concern-intro h2,
  .concern-page .service-audience__head h2,
  .concern-page .service-practice__head h2,
  .concern-page .concern-catalog__head h2,
  body.page-template-page-services .service-topic-map__head h2 { font-size: clamp(36px, 3.7vw, 54px); line-height: 1.36; }
  .concern-page .service-audience__head > p,
  .concern-page .service-practice__head > p,
  body.page-template-page-services .service-audience__head--lifecycle > p { font-size: 15.5px; line-height: 1.95; }
  .concern-page .service-audience__card h3 { font-size: clamp(24px, 2vw, 31px); }
  .concern-page .service-audience__card p { font-size: 14.5px; }
  body.page-template-page-services .service-lifecycle-scenes--guided .service-lifecycle-scene h3 { font-size: clamp(28px, 2.4vw, 38px); }
  body.page-template-page-services .service-lifecycle-scenes--guided .service-lifecycle-scene__lead { font-size: clamp(17px, 1.35vw, 21px); }

  /* PROCESS */
  body.page-template-page-process .process-quickstart__head h2,
  body.page-template-page-process .process-visual-flow__head h2 { font-size: clamp(36px, 3.7vw, 52px); line-height: 1.42; }
  body.page-template-page-process .process-quickstart__head > p:last-child,
  body.page-template-page-process .process-visual-flow__head > p { font-size: 16px; line-height: 1.9; }
  body.page-template-page-process .process-quickstart__item strong { font-size: clamp(20px, 1.6vw, 24px); }

  /* MEMBERS */
  body.page-template-page-members .member-detail__heading h2 { font-size: clamp(42px, 4.3vw, 58px); line-height: 1.22; }
  body.page-template-page-members .member-detail__role { font-size: 14px; }
  body.page-template-page-members .member-detail__statement { font-size: clamp(24px, 2.5vw, 32px); line-height: 1.65; }
  body.page-template-page-members .member-detail__profile p,
  body.page-template-page-members .member-detail__timeline li { font-size: 16px; line-height: 1.95; }
  body.page-template-page-members .members-messages__head h2 { font-size: clamp(36px, 3.8vw, 54px); }
  body.page-template-page-members .members-messages__head > p:last-child,
  body.page-template-page-members .member-long-message__body p { font-size: 16px; }
  body.page-template-page-members .member-long-message__lead { font-size: 15px; }
  body.page-template-page-members .member-long-message__signoff p { font-size: 12px; }
  body.page-template-page-members .member-long-message__signoff strong { font-size: 13px; }

  /* ORGANIZATIONS */
  body.page-template-page-organizations .organizations-hero h1 { font-size: clamp(44px, 4.5vw, 64px); line-height: 1.35; }
  body.page-template-page-organizations .org-compare__intro h2 { font-size: clamp(34px, 3.6vw, 50px); }
  body.page-template-page-organizations .org-compare-head h3,
  .organization-card__head h3 { font-size: clamp(25px, 2.15vw, 31px); }
  body.page-template-page-organizations .org-compare-head p,
  .organization-card__role { font-size: 15.5px; }
  .organization-data dt { font-size: 14px; }
  .organization-data dd { font-size: 16px; }

  /* CONTACT / PRIVACY / RECRUIT — keep the same ceiling as other lower pages */
  .contact-hero h1,
  .policy-hero h1,
  .recruit-contact h2,
  .recruit-belief__head h2 { font-size: clamp(44px, 4.8vw, 68px); line-height: 1.35; }
}

@media (max-width: 760px) {
  /* The mobile hierarchy should be compact, but body copy remains readable. */
  .section-kicker { font-size: 10.5px; }
  .lower-hero h1,
  .contact-hero h1,
  .section-heading h2,
  .editorial-split h2,
  .contact-guide h2,
  .lower-cta h2 { font-size: clamp(31px, 8.4vw, 38px); line-height: 1.38; }
  .lower-hero__content > p:last-child { font-size: 15px; line-height: 1.9; }
  .story-chapter h2 { font-size: clamp(30px, 8.2vw, 35px); }
  .story-chapter > p:last-child { font-size: 15px; line-height: 1.9; }
  .need-card > p { font-size: 13.5px; line-height: 1.8; }
  body.page-template-page-about .about-definition__card-copy > p:last-child { font-size: 14px; }
  body.page-template-page-about .about-definition__visual-step strong { font-size: 12px; }
  body.page-template-page-about .about-definition__message-copy p { font-size: 12px; }
  body.page-template-page-about .about-definition__note--visual { font-size: 13.5px; }
  body.page-template-page-members .member-detail__role { font-size: 13px; }
  body.page-template-page-members .member-detail__profile p,
  body.page-template-page-members .member-detail__timeline li,
  body.page-template-page-members .member-long-message__body p { font-size: 15px; }
}

/* v0.5.61 final ceiling pass — keep major display type strong without overpowering copy. */
@media (min-width: 761px) {
  .one-value-scene h2,
  .gratitude-statement h2,
  .final-cta h2 { font-size: clamp(44px, 4.8vw, 64px); }
  .lower-hero h1 { font-size: clamp(44px, 4.6vw, 64px); }
  body.page-template-page-about .lower-hero h1,
  body.page-template-page-process .lower-hero h1,
  body.page-template-page-members .lower-hero h1 { font-size: clamp(44px, 4.6vw, 64px); }
  body.page-template-page-services .concern-page-hero h1 { font-size: clamp(44px, 4.5vw, 64px); }
  body.page-template-page-services .service-audience__head--lifecycle h2 { font-size: clamp(34px, 3.5vw, 52px); line-height: 1.38; }
  body.page-template-page-services .concern-cta h2 { font-size: clamp(40px, 4.2vw, 60px); }
  body.page-template-page-members .members-detailed-intro h2,
  body.page-template-page-members .members-messages__prologue h2,
  body.page-template-page-members .members-perspective__head h2 { font-size: clamp(36px, 3.7vw, 54px); line-height: 1.4; }
  body.page-template-page-organizations .organizations-hero h1 { font-size: clamp(42px, 4.3vw, 62px); }
}

/* v0.5.61 readability pass for informative microcopy (not decorative labels). */
@media (min-width: 761px) {
  body.page-template-page-organizations .access-compact__eyebrow { font-size: 9.5px; }
  body.page-template-page-organizations .access-compact__info section > p:last-child,
  body.page-template-page-organizations .access-compact__actions p { font-size: 13px; line-height: 1.75; }
  body.page-template-page-organizations .access-routes--compact li { font-size: 13px; line-height: 1.65; }
  body.page-template-page-organizations .access-routes--compact strong { font-size: 13px; }
  body.page-template-page-organizations .access-transport-card p:not(.access-compact__eyebrow) { font-size: 13.5px; line-height: 1.75; }
  body.page-template-page-organizations .access-jpo-route span,
  body.page-template-page-organizations .access-jpo-route b { font-size: 11.5px; }
  body.page-template-page-about .about-communication__label { font-size: 9.5px; }
  body.page-template-page-about .about-communication__center-orbit > small { font-size: 9.5px; }
  body.page-template-page-services .service-lifecycle-scene small { font-size: 9px; }
  body.page-template-page-services .service-lifecycle-scene__number { font-size: 10px; }
}

/* v0.5.62 ABOUT story refinement — tighter rhythm, reliable sticky narrative, visual Rise motif. */
@media (min-width: 901px) {
  body.page-template-page-about .about-origin-message {
    padding: clamp(82px, 7.5vw, 116px) 0 clamp(92px, 8vw, 124px);
    overflow: visible;
  }
  body.page-template-page-about .about-origin-message__inner {
    grid-template-columns: minmax(285px, .72fr) minmax(0, 1.38fr);
    gap: clamp(56px, 6.2vw, 92px);
    align-items: stretch;
  }
  body.page-template-page-about .about-origin-message__sticky {
    position: relative;
    align-self: stretch;
    min-width: 0;
  }
  body.page-template-page-about .about-origin-message__head {
    position: sticky;
    top: 126px;
    padding-bottom: 28px;
  }
  body.page-template-page-about .about-origin-message__head h2 {
    font-size: clamp(40px, 3.75vw, 54px);
    line-height: 1.24;
    letter-spacing: -.025em;
  }
  body.page-template-page-about .about-origin-message__lead {
    max-width: 360px;
    margin-top: 22px;
    font-size: clamp(17px, 1.35vw, 20px);
    line-height: 1.72;
  }
  body.page-template-page-about .about-origin-message__body {
    max-width: 760px;
    padding-top: 4px;
  }
  body.page-template-page-about .about-origin-message__body > p:not(.about-origin-message__statement):not(.about-origin-message__questions) {
    margin-bottom: 20px;
    font-size: 16px;
    line-height: 1.78;
  }
  body.page-template-page-about .about-origin-message__body .about-origin-message__statement {
    margin: 34px 0;
    padding: 22px 0 22px 26px;
    font-size: clamp(25px, 2.35vw, 32px);
    line-height: 1.48;
  }
  body.page-template-page-about .about-origin-message__closing {
    max-width: 680px;
    margin-top: 24px;
    font-size: 17px;
    line-height: 1.76;
  }
}

body.page-template-page-about .about-rise {
  position: relative;
  display: grid;
  grid-template-columns: auto minmax(90px, 1fr) auto;
  align-items: center;
  gap: clamp(18px, 2.2vw, 30px);
  margin: clamp(34px, 4vw, 50px) 0 18px;
  padding: clamp(24px, 3vw, 34px) clamp(24px, 3.5vw, 40px);
  overflow: hidden;
  border: 1px solid rgba(43,108,174,.12);
  background:
    radial-gradient(circle at 88% 20%, rgba(218,106,48,.10), transparent 34%),
    linear-gradient(135deg, rgba(247,249,252,.96), rgba(255,250,246,.98));
}
body.page-template-page-about .about-rise::before {
  content: "";
  position: absolute;
  right: -46px;
  bottom: -62px;
  width: 180px;
  height: 180px;
  border: 1px solid rgba(218,106,48,.18);
  border-radius: 50%;
  box-shadow: 0 0 0 26px rgba(218,106,48,.035), 0 0 0 52px rgba(43,108,174,.025);
}
body.page-template-page-about .about-rise__brand,
body.page-template-page-about .about-rise__word {
  position: relative;
  z-index: 1;
  font-family: var(--riz-serif);
  line-height: 1;
  letter-spacing: -.045em;
}
body.page-template-page-about .about-rise__brand {
  color: var(--riz-blue-deep);
  font-size: clamp(31px, 3.4vw, 44px);
  font-weight: 600;
}
body.page-template-page-about .about-rise__brand::after {
  content: "";
  display: block;
  width: 22px;
  height: 2px;
  margin-top: 10px;
  background: var(--riz-orange);
}
body.page-template-page-about .about-rise__word {
  color: var(--riz-orange-deep);
  font-size: clamp(42px, 5vw, 66px);
  font-weight: 500;
  transform: translateY(7px);
  opacity: .35;
  transition: transform .9s var(--riz-ease), opacity .8s ease;
}
body.page-template-page-about .about-rise__path {
  position: relative;
  display: block;
  height: 2px;
  background: linear-gradient(90deg, rgba(43,108,174,.25), rgba(218,106,48,.88));
  transform-origin: left center;
}
body.page-template-page-about .about-rise__path::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  width: 100%;
  height: 34px;
  border-top: 1px dashed rgba(43,108,174,.18);
  transform: translateY(-17px) skewY(-5deg);
  transform-origin: left center;
}
body.page-template-page-about .about-rise__path::after {
  content: "";
  position: absolute;
  right: -1px;
  top: 50%;
  width: 9px;
  height: 9px;
  border-top: 2px solid var(--riz-orange);
  border-right: 2px solid var(--riz-orange);
  transform: translateY(-50%) rotate(45deg);
}
body.page-template-page-about .about-rise__path > span {
  position: absolute;
  top: 50%;
  left: 0;
  width: 11px;
  height: 11px;
  border: 2px solid #fff;
  border-radius: 50%;
  background: var(--riz-blue);
  box-shadow: 0 0 0 5px rgba(43,108,174,.12);
  transform: translate(-50%,-50%);
  animation: rizRiseTravel 3.4s ease-in-out infinite;
}
body.page-template-page-about .about-origin-message__beat.is-visible .about-rise__word {
  transform: translateY(0);
  opacity: 1;
}
@keyframes rizRiseTravel {
  0%, 12% { left: 0; background: var(--riz-blue); }
  74%, 100% { left: 100%; background: var(--riz-orange); }
}

@media (max-width: 900px) {
  body.page-template-page-about .about-origin-message {
    padding: 72px 0 82px;
  }
  body.page-template-page-about .about-origin-message__inner {
    gap: 34px;
  }
  body.page-template-page-about .about-origin-message__sticky {
    position: static;
  }
  body.page-template-page-about .about-origin-message__head {
    position: static;
  }
  body.page-template-page-about .about-origin-message__head h2 {
    font-size: clamp(36px, 8.5vw, 48px);
    line-height: 1.24;
  }
  body.page-template-page-about .about-origin-message__lead {
    margin-top: 20px;
    font-size: 17px;
    line-height: 1.7;
  }
  body.page-template-page-about .about-origin-message__body > p:not(.about-origin-message__statement):not(.about-origin-message__questions) {
    margin-bottom: 18px;
    font-size: 15px;
    line-height: 1.78;
  }
  body.page-template-page-about .about-origin-message__body .about-origin-message__statement {
    margin: 30px 0;
    padding: 20px 0 20px 20px;
    font-size: clamp(24px, 6.6vw, 30px);
    line-height: 1.5;
  }
  body.page-template-page-about .about-origin-message__closing {
    margin-top: 20px;
    font-size: 16px;
    line-height: 1.75;
  }
  body.page-template-page-about .about-rise {
    grid-template-columns: auto 1fr auto;
    gap: 14px;
    margin-top: 30px;
    padding: 24px 20px;
  }
  body.page-template-page-about .about-rise__brand { font-size: 29px; }
  body.page-template-page-about .about-rise__word { font-size: clamp(38px, 10vw, 48px); }
}

@media (prefers-reduced-motion: reduce) {
  body.page-template-page-about .about-rise__path > span { animation: none; left: 100%; }
  body.page-template-page-about .about-rise__word { transition: none; transform: none; opacity: 1; }
}

/* v0.5.62 ABOUT scroll-story refinement. */
@media (min-width: 901px) {
  body.page-template-page-about .about-origin-message__body {
    display: block;
    max-width: 760px;
    padding-top: 0;
  }
  body.page-template-page-about .about-origin-message__beat {
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-height: clamp(270px, 32vh, 340px);
    padding: 34px 0;
    border-bottom: 1px solid rgba(11,26,47,.075);
  }
  body.page-template-page-about .about-origin-message__beat:first-child { padding-top: 8px; }
  body.page-template-page-about .about-origin-message__beat:last-child { border-bottom: 0; padding-bottom: 8px; }
  body.page-template-page-about .about-origin-message__beat > p {
    margin: 0;
    color: var(--riz-ink-soft);
    font-size: 16px;
    line-height: 1.72;
  }
  body.page-template-page-about .about-origin-message__beat > p + p { margin-top: 18px; }
  body.page-template-page-about .about-origin-message__beat .about-origin-message__statement {
    margin: 28px 0 0;
    padding: 18px 0 18px 24px;
    color: var(--riz-ink);
    border-left: 3px solid var(--riz-orange);
    font-family: var(--riz-serif);
    font-size: clamp(25px, 2.3vw, 31px);
    font-weight: 500;
    line-height: 1.42;
  }
  body.page-template-page-about .about-origin-message__beat .about-origin-message__closing {
    margin: 22px 0 0;
    color: var(--riz-ink);
    font-family: var(--riz-serif);
    font-size: 17px;
    line-height: 1.7;
  }
  body.page-template-page-about .about-origin-message__scroll-cue {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-top: 34px;
    color: rgba(14,39,66,.42);
    font-size: 9px;
    font-weight: 800;
    letter-spacing: .18em;
  }
  body.page-template-page-about .about-origin-message__scroll-cue i {
    position: relative;
    display: block;
    width: 56px;
    height: 1px;
    overflow: hidden;
    background: rgba(14,39,66,.13);
  }
  body.page-template-page-about .about-origin-message__scroll-cue i::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, var(--riz-blue), var(--riz-orange));
    transform: translateX(-100%);
    animation: rizAboutScrollCue 2.4s ease-in-out infinite;
  }
}
@keyframes rizAboutScrollCue {
  0%,15% { transform: translateX(-100%); }
  70%,100% { transform: translateX(100%); }
}

@media (max-width: 900px) {
  body.page-template-page-about .about-origin-message__scroll-cue { display: none; }
  body.page-template-page-about .about-origin-message__beat {
    padding: 0 0 28px;
    margin-bottom: 28px;
    border-bottom: 1px solid rgba(11,26,47,.075);
  }
  body.page-template-page-about .about-origin-message__beat:last-child { margin-bottom: 0; border-bottom: 0; padding-bottom: 0; }
  body.page-template-page-about .about-origin-message__beat > p {
    margin: 0;
    color: var(--riz-ink-soft);
    font-size: 15px;
    line-height: 1.72;
  }
  body.page-template-page-about .about-origin-message__beat > p + p { margin-top: 16px; }
  body.page-template-page-about .about-origin-message__beat .about-origin-message__statement {
    margin: 24px 0 0;
    padding: 17px 0 17px 18px;
    color: var(--riz-ink);
    border-left: 3px solid var(--riz-orange);
    font-family: var(--riz-serif);
    font-size: clamp(23px, 6.4vw, 29px);
    line-height: 1.45;
  }
  body.page-template-page-about .about-origin-message__beat .about-origin-message__closing {
    margin-top: 18px;
    color: var(--riz-ink);
    font-family: var(--riz-serif);
    font-size: 16px;
    line-height: 1.7;
  }
}

/* =========================================================
   ABOUT 2026 — zero-base visual narrative v0.5.63
   Scope: Japanese /about/ only. New motion language unique to this page.
   ========================================================= */
body.page-template-page-about .about-page-v2 { overflow: clip; }

body.page-template-page-about .about-atglance {
  position: relative;
  min-height: min(760px, calc(100vh - 104px));
  color: #fff;
  background: #061426;
  isolation: isolate;
  overflow: hidden;
}
body.page-template-page-about .about-atglance__media,
body.page-template-page-about .about-atglance__shade { position: absolute; inset: 0; }
body.page-template-page-about .about-atglance__media img { width: 100%; height: 100%; object-fit: cover; object-position: center; opacity: .44; transform: scale(1.035); }
body.page-template-page-about .about-atglance__shade {
  background:
    linear-gradient(90deg, rgba(5,17,32,.96) 0%, rgba(5,17,32,.84) 44%, rgba(5,17,32,.62) 70%, rgba(5,17,32,.78) 100%),
    radial-gradient(circle at 50% 48%, rgba(255,255,255,.08), transparent 34%);
}
body.page-template-page-about .about-atglance__inner {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: minmax(390px,.86fr) minmax(560px,1.14fr);
  gap: clamp(46px,6vw,92px);
  align-items: center;
  min-height: inherit;
  padding-block: clamp(72px,8vw,110px);
}
body.page-template-page-about .about-atglance__copy { max-width: 610px; }
body.page-template-page-about .about-atglance__copy h1 {
  margin: 22px 0 24px;
  font-family: var(--riz-serif);
  font-size: clamp(46px,5vw,70px);
  font-weight: 480;
  line-height: 1.28;
  letter-spacing: -.035em;
}
body.page-template-page-about .about-atglance__copy h1 span { color: #fff; }
body.page-template-page-about .about-atglance__lead {
  margin: 0;
  max-width: 560px;
  color: rgba(255,255,255,.78);
  font-size: clamp(16px,1.35vw,19px);
  line-height: 1.9;
}
body.page-template-page-about .about-atglance__visual {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0,1fr) 190px minmax(0,1fr);
  align-items: center;
  min-height: 430px;
  border: 1px solid rgba(255,255,255,.16);
  background: linear-gradient(135deg,rgba(255,255,255,.06),rgba(255,255,255,.025));
  box-shadow: 0 30px 80px rgba(0,0,0,.22);
  backdrop-filter: blur(10px);
}
body.page-template-page-about .about-atglance__visual::before,
body.page-template-page-about .about-atglance__visual::after {
  content: "";
  position: absolute;
  top: 50%;
  width: calc(50% - 95px);
  height: 1px;
  opacity: .9;
  transform: scaleX(0);
  animation: aboutLensDraw 1s .35s cubic-bezier(.16,1,.3,1) forwards;
}
body.page-template-page-about .about-atglance__visual::before { left: 0; transform-origin: right; background: linear-gradient(90deg,transparent,#4d9ce8); }
body.page-template-page-about .about-atglance__visual::after { right: 0; transform-origin: left; background: linear-gradient(90deg,#f07832,transparent); }
@keyframes aboutLensDraw { to { transform: scaleX(1); } }
body.page-template-page-about .about-atglance__side {
  position: relative;
  z-index: 2;
  padding: 36px 30px;
  opacity: 0;
  transform: translateY(18px);
  animation: aboutLensSide .75s .72s cubic-bezier(.16,1,.3,1) forwards;
}
body.page-template-page-about .about-atglance__side--law { text-align: right; }
body.page-template-page-about .about-atglance__side--business { text-align: left; animation-delay: .84s; }
@keyframes aboutLensSide { to { opacity: 1; transform: none; } }
body.page-template-page-about .about-atglance__eyebrow {
  display: block;
  margin-bottom: 12px;
  color: rgba(255,255,255,.54);
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .18em;
}
body.page-template-page-about .about-atglance__side > strong {
  display: block;
  font-family: var(--riz-serif);
  font-size: clamp(24px,2vw,31px);
  font-weight: 550;
  line-height: 1.45;
}
body.page-template-page-about .about-atglance__chips { display: flex; gap: 9px; flex-wrap: wrap; margin-top: 26px; }
body.page-template-page-about .about-atglance__side--law .about-atglance__chips { justify-content: flex-end; }
body.page-template-page-about .about-atglance__chips span {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-height: 34px;
  padding: 7px 11px;
  border: 1px solid rgba(255,255,255,.15);
  border-radius: 999px;
  color: rgba(255,255,255,.83);
  background: rgba(255,255,255,.055);
  font-size: 11px;
  white-space: nowrap;
}
body.page-template-page-about .about-atglance__side--law .about-atglance__chips span { border-color: rgba(79,157,232,.3); }
body.page-template-page-about .about-atglance__side--business .about-atglance__chips span { border-color: rgba(240,120,50,.3); }
body.page-template-page-about .about-atglance__chips .riz-icon { width: 16px; height: 16px; }
body.page-template-page-about .about-atglance__core {
  position: relative;
  z-index: 4;
  display: grid;
  place-items: center;
  width: 164px;
  aspect-ratio: 1;
  margin: auto;
  border-radius: 50%;
  background: #fff;
  color: var(--riz-ink);
  box-shadow: 0 0 0 9px rgba(255,255,255,.08), 0 18px 44px rgba(0,0,0,.25);
  opacity: 0;
  transform: scale(.78);
  animation: aboutLensCore .9s .12s cubic-bezier(.16,1,.3,1) forwards;
}
@keyframes aboutLensCore { to { opacity: 1; transform: scale(1); } }
body.page-template-page-about .about-atglance__core-ring {
  position: absolute;
  inset: -10px;
  border: 2px solid transparent;
  border-top-color: #4d9ce8;
  border-right-color: #f07832;
  border-radius: 50%;
  animation: aboutLensSpin 9s linear infinite;
}
@keyframes aboutLensSpin { to { transform: rotate(360deg); } }
body.page-template-page-about .about-atglance__core > strong {
  align-self: end;
  margin-bottom: 4px;
  font-family: var(--riz-serif);
  font-size: 48px;
  font-weight: 600;
  letter-spacing: -.04em;
}
body.page-template-page-about .about-atglance__core > small {
  align-self: start;
  color: var(--riz-ink-soft);
  font-size: 9px;
  font-weight: 800;
  line-height: 1.55;
  letter-spacing: .16em;
  text-align: center;
}

body.page-template-page-about .about-shift { padding: clamp(92px,9vw,132px) 0; background: #f6f4ef; }
body.page-template-page-about .about-shift__head { display: grid; grid-template-columns: .8fr 1.2fr; gap: clamp(34px,6vw,88px); align-items: end; }
body.page-template-page-about .about-shift__head .section-kicker { grid-column: 1 / -1; margin-bottom: -8px; }
body.page-template-page-about .about-shift__head h2 {
  margin: 0;
  font-family: var(--riz-serif);
  font-size: clamp(38px,4vw,56px);
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: -.025em;
}
body.page-template-page-about .about-shift__head > p:last-child {
  margin: 0 0 6px;
  color: var(--riz-ink-soft);
  font-size: 16px;
  line-height: 1.95;
}
body.page-template-page-about .about-shift__board { display: grid; gap: 14px; margin-top: 58px; }
body.page-template-page-about .about-shift__row {
  display: grid;
  grid-template-columns: minmax(220px,.82fr) 120px minmax(330px,1.18fr);
  align-items: stretch;
  min-height: 132px;
  border: 1px solid rgba(11,26,47,.08);
  background: #fff;
  box-shadow: 0 12px 34px rgba(11,26,47,.035);
  overflow: hidden;
}
body.page-template-page-about .about-shift__from,
body.page-template-page-about .about-shift__to { display: flex; flex-direction: column; justify-content: center; padding: 28px clamp(26px,3vw,44px); }
body.page-template-page-about .about-shift__from { color: rgba(11,26,47,.58); background: linear-gradient(90deg,#f1f3f5,#fafafa); }
body.page-template-page-about .about-shift__to { position: relative; color: var(--riz-ink); background: linear-gradient(90deg,#fff,#fff9f4); }
body.page-template-page-about .about-shift__to::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg,rgba(230,107,32,.1),rgba(43,108,174,.025));
  transform: translateX(-101%);
  transition: transform .85s cubic-bezier(.16,1,.3,1);
}
body.page-template-page-about .about-shift__row.is-seen .about-shift__to::after { transform: translateX(0); }
body.page-template-page-about .about-shift__from span,
body.page-template-page-about .about-shift__to span { position: relative; z-index: 1; margin-bottom: 8px; font-size: 9px; font-weight: 850; letter-spacing: .17em; }
body.page-template-page-about .about-shift__to span { color: var(--riz-orange-deep); }
body.page-template-page-about .about-shift__from strong,
body.page-template-page-about .about-shift__to strong { position: relative; z-index: 1; font-family: var(--riz-serif); font-size: clamp(23px,2.2vw,31px); font-weight: 520; line-height: 1.45; }
body.page-template-page-about .about-shift__pivot { position: relative; display: grid; place-items: center; color: var(--riz-orange-deep); background: #fff; }
body.page-template-page-about .about-shift__pivot i { position: absolute; width: 0; height: 2px; background: linear-gradient(90deg,var(--riz-blue),var(--riz-orange)); transition: width .8s .08s cubic-bezier(.16,1,.3,1); }
body.page-template-page-about .about-shift__row.is-seen .about-shift__pivot i { width: 74px; }
body.page-template-page-about .about-shift__pivot b { position: relative; display: grid; place-items: center; width: 42px; height: 42px; border-radius: 50%; background: #fff; border: 1px solid rgba(230,107,32,.25); font-size: 20px; font-weight: 500; transform: rotate(-90deg) scale(.65); opacity: .3; transition: transform .65s .22s cubic-bezier(.16,1,.3,1),opacity .4s .22s ease; }
body.page-template-page-about .about-shift__row.is-seen .about-shift__pivot b { transform: none; opacity: 1; }

body.page-template-page-about .about-structure { padding: clamp(96px,10vw,144px) 0; background: #07182d; color: #fff; }
body.page-template-page-about .about-structure__head { max-width: 880px; margin-inline: auto; text-align: center; }
body.page-template-page-about .about-structure__head h2 { margin: 18px 0 22px; font-family: var(--riz-serif); font-size: clamp(40px,4.2vw,58px); font-weight: 500; line-height: 1.4; letter-spacing: -.025em; }
body.page-template-page-about .about-structure__head h2 span { color: #f2a170; }
body.page-template-page-about .about-structure__head > p:last-child { margin: 0; color: rgba(255,255,255,.68); font-size: 16px; line-height: 1.9; }
body.page-template-page-about .about-structure__grid { display: grid; grid-template-columns: minmax(0,1fr) 128px minmax(0,1fr); gap: 16px; align-items: stretch; margin-top: 62px; }
body.page-template-page-about .about-structure__card { position: relative; display: flex; flex-direction: column; min-width: 0; padding: clamp(30px,3.2vw,44px); background: #fff; color: var(--riz-ink); overflow: hidden; box-shadow: 0 24px 66px rgba(0,0,0,.16); }
body.page-template-page-about .about-structure__card::before { content: ""; position: absolute; top: 0; left: 0; right: 0; height: 5px; transform-origin: left; transform: scaleX(0); transition: transform .8s cubic-bezier(.16,1,.3,1); }
body.page-template-page-about .about-structure__card--office::before { background: var(--riz-blue); }
body.page-template-page-about .about-structure__card--company::before { background: var(--riz-orange); }
body.page-template-page-about .about-structure__card.is-open::before { transform: scaleX(1); }
body.page-template-page-about .about-structure__card-top h3 { margin: 16px 0 15px; font-family: var(--riz-serif); font-size: clamp(27px,2.35vw,35px); font-weight: 530; line-height: 1.45; letter-spacing: -.02em; }
body.page-template-page-about .about-structure__card-top > p:last-child { margin: 0; color: var(--riz-ink-soft); font-size: 15px; line-height: 1.85; }
body.page-template-page-about .about-structure__route { display: grid; grid-template-columns: 1fr 34px 1fr 34px 1fr; align-items: center; gap: 5px; margin: 34px 0 30px; }
body.page-template-page-about .about-structure__route > div { display: grid; justify-items: center; gap: 9px; text-align: center; }
body.page-template-page-about .about-structure__route > div > span { display: grid; place-items: center; width: 56px; height: 56px; border-radius: 50%; color: var(--riz-blue); background: #edf5fd; border: 1px solid rgba(43,108,174,.2); }
body.page-template-page-about .about-structure__card--company .about-structure__route > div > span { color: var(--riz-orange-deep); background: #fff1e8; border-color: rgba(218,106,48,.23); }
body.page-template-page-about .about-structure__route .riz-icon { width: 25px; height: 25px; }
body.page-template-page-about .about-structure__route strong { font-size: 12.5px; line-height: 1.45; }
body.page-template-page-about .about-structure__route > i { display: block; height: 1px; background: rgba(11,26,47,.14); transform: scaleX(0); transition: transform .55s .18s ease; }
body.page-template-page-about .about-structure__card.is-open .about-structure__route > i { transform: scaleX(1); }
body.page-template-page-about .about-structure__message { position: relative; display: grid; grid-template-columns: minmax(0,1fr) 126px; min-height: 176px; margin-top: auto; border: 1px solid rgba(11,26,47,.1); color: inherit; background: #f7f9fb; text-decoration: none; overflow: hidden; }
body.page-template-page-about .about-structure__card--company .about-structure__message { background: #fff8f3; }
body.page-template-page-about .about-structure__message-copy { position: relative; z-index: 2; padding: 24px 20px 22px 24px; }
body.page-template-page-about .about-structure__message-copy small { display: block; margin-bottom: 5px; color: var(--riz-blue); font-size: 9px; font-weight: 850; letter-spacing: .18em; }
body.page-template-page-about .about-structure__card--company .about-structure__message-copy small { color: var(--riz-orange-deep); }
body.page-template-page-about .about-structure__message-copy strong { display: block; font-family: var(--riz-serif); font-size: clamp(19px,1.55vw,23px); font-weight: 620; }
body.page-template-page-about .about-structure__message-copy p { margin: 8px 0 12px; color: var(--riz-ink-soft); font-size: 12.5px; line-height: 1.65; }
body.page-template-page-about .about-structure__message-copy span { color: var(--riz-ink); font-size: 12px; font-weight: 750; }
body.page-template-page-about .about-structure__message img { width: 126px; height: 100%; object-fit: cover; object-position: center 13%; filter: saturate(.9); transform: scale(1.04); transition: transform .45s cubic-bezier(.16,1,.3,1),filter .45s ease; }
body.page-template-page-about .about-structure__card--company .about-structure__message img { object-position: center 15%; }
body.page-template-page-about .about-structure__message:hover img,
body.page-template-page-about .about-structure__message:focus-visible img { transform: scale(1); filter: saturate(1); }
body.page-template-page-about .about-structure__brand { display: grid; grid-template-rows: 1fr auto auto 1fr; place-items: center; gap: 18px; min-width: 0; padding: 20px 8px; color: rgba(255,255,255,.78); text-align: center; }
body.page-template-page-about .about-structure__brand > span { width: 1px; height: 100%; min-height: 70px; background: linear-gradient(transparent,rgba(255,255,255,.32),transparent); }
body.page-template-page-about .about-structure__brand strong { color: #f2a170; font-size: 11px; font-weight: 850; line-height: 1.75; letter-spacing: .16em; }
body.page-template-page-about .about-structure__brand p { margin: 0; font-family: var(--riz-serif); font-size: 14px; line-height: 1.7; }
body.page-template-page-about .about-structure__note { display: flex; align-items: center; justify-content: center; gap: 10px; margin: 30px 0 0; padding: 18px 22px; color: rgba(255,255,255,.72); border: 1px solid rgba(255,255,255,.12); font-size: 13px; line-height: 1.7; text-align: center; }
body.page-template-page-about .about-structure__note > span { display: grid; place-items: center; width: 34px; height: 34px; flex: 0 0 auto; border-radius: 50%; color: #f2a170; background: rgba(255,255,255,.05); }
body.page-template-page-about .about-structure__note .riz-icon { width: 18px; height: 18px; }

body.page-template-page-about .about-communication--v2 { padding-top: clamp(94px,9vw,132px); }
body.page-template-page-about .about-communication__head--v2 { max-width: 920px; }
body.page-template-page-about .about-communication__head--v2 h2 { margin-bottom: 16px; }
body.page-template-page-about .about-communication__head--v2 > strong { display: block; margin: 0 0 16px; color: var(--riz-orange-deep); font-family: var(--riz-serif); font-size: clamp(24px,2.5vw,34px); font-weight: 600; }
body.page-template-page-about .about-communication__head--v2 > p:last-child { max-width: 790px; }
body.page-template-page-about .about-communication--v2 .about-communication__pair { min-height: 46vh; }
body.page-template-page-about .about-communication--v2 .about-communication__closing { margin-top: 20px; }

body.page-template-page-about .about-rise-finale { position: relative; padding: clamp(98px,10vw,145px) 0; background: #f8f6f1; overflow: hidden; }
body.page-template-page-about .about-rise-finale::before { content: ""; position: absolute; right: -180px; top: -180px; width: 520px; height: 520px; border-radius: 50%; background: radial-gradient(circle,rgba(230,107,32,.12),transparent 66%); }
body.page-template-page-about .about-rise-finale__inner { position: relative; z-index: 2; display: grid; grid-template-columns: .8fr 1.2fr; gap: clamp(46px,7vw,100px); align-items: center; }
body.page-template-page-about .about-rise-finale__copy h2 { margin: 18px 0 20px; font-family: var(--riz-serif); font-size: clamp(42px,4.3vw,60px); font-weight: 520; letter-spacing: -.03em; }
body.page-template-page-about .about-rise-finale__copy > p:last-child { margin: 0; color: var(--riz-ink-soft); font-size: 16px; line-height: 1.95; }
body.page-template-page-about .about-rise-finale__visual { position: relative; min-height: 300px; border: 1px solid rgba(11,26,47,.08); background: linear-gradient(125deg,#fff,#fffaf6); box-shadow: 0 22px 58px rgba(11,26,47,.055); overflow: hidden; }
body.page-template-page-about .about-rise-finale__word { position: absolute; z-index: 3; font-family: var(--riz-serif); line-height: 1; }
body.page-template-page-about .about-rise-finale__word--riz { left: 7%; bottom: 24%; color: var(--riz-blue-deep); font-size: clamp(56px,6vw,90px); }
body.page-template-page-about .about-rise-finale__word--rise { right: 6%; top: 17%; color: var(--riz-orange-deep); font-size: clamp(70px,8vw,116px); opacity: .08; transform: translateY(18px) scale(.92); transition: opacity .85s .45s ease,transform .85s .45s cubic-bezier(.16,1,.3,1); }
body.page-template-page-about .about-rise-finale.is-active .about-rise-finale__word--rise { opacity: 1; transform: none; }
body.page-template-page-about .about-rise-finale__line { position: absolute; left: 16%; top: 23%; width: 68%; height: 52%; overflow: visible; }
body.page-template-page-about .about-rise-finale__line path { fill: none; stroke: url(#none); stroke: #e46d27; stroke-width: 3; stroke-linecap: round; stroke-dasharray: 560; stroke-dashoffset: 560; transition: stroke-dashoffset 1.2s cubic-bezier(.16,1,.3,1); }
body.page-template-page-about .about-rise-finale.is-active .about-rise-finale__line path { stroke-dashoffset: 0; }
body.page-template-page-about .about-rise-finale__sun { position: absolute; right: 8%; top: 10%; width: 170px; height: 170px; border-radius: 50%; border: 1px solid rgba(230,107,32,.2); box-shadow: 0 0 0 30px rgba(230,107,32,.03),0 0 0 60px rgba(230,107,32,.018); opacity: 0; transform: scale(.65); transition: opacity .7s .65s ease,transform .9s .65s cubic-bezier(.16,1,.3,1); }
body.page-template-page-about .about-rise-finale.is-active .about-rise-finale__sun { opacity: 1; transform: scale(1); }

body.page-template-page-about .about-gateway--v2 { padding-top: clamp(92px,9vw,132px); }

@media (max-width: 1100px) {
  body.page-template-page-about .about-atglance__inner { grid-template-columns: 1fr; gap: 42px; }
  body.page-template-page-about .about-atglance__copy { max-width: 760px; }
  body.page-template-page-about .about-atglance__visual { max-width: 900px; width: 100%; min-height: 360px; }
  body.page-template-page-about .about-structure__grid { grid-template-columns: 1fr; gap: 18px; }
  body.page-template-page-about .about-structure__brand { grid-template-columns: 1fr auto auto 1fr; grid-template-rows: auto; min-height: 92px; }
  body.page-template-page-about .about-structure__brand > span { width: 100%; height: 1px; min-height: 0; }
  body.page-template-page-about .about-structure__brand p { display: none; }
}

@media (max-width: 820px) {
  body.page-template-page-about .about-atglance { min-height: auto; }
  body.page-template-page-about .about-atglance__inner { padding-block: 70px 60px; }
  body.page-template-page-about .about-atglance__copy h1 { font-size: clamp(40px,10vw,52px); }
  body.page-template-page-about .about-atglance__lead { font-size: 15px; line-height: 1.85; }
  body.page-template-page-about .about-atglance__visual { grid-template-columns: 1fr; gap: 0; min-height: 0; padding: 26px 20px; }
  body.page-template-page-about .about-atglance__visual::before,
  body.page-template-page-about .about-atglance__visual::after { display: none; }
  body.page-template-page-about .about-atglance__core { grid-row: 1; width: 142px; margin-bottom: 24px; }
  body.page-template-page-about .about-atglance__core > strong { font-size: 40px; }
  body.page-template-page-about .about-atglance__side { padding: 22px 10px; text-align: left; border-top: 1px solid rgba(255,255,255,.1); }
  body.page-template-page-about .about-atglance__side--law .about-atglance__chips { justify-content: flex-start; }
  body.page-template-page-about .about-atglance__side > strong { font-size: 25px; }

  body.page-template-page-about .about-shift { padding: 76px 0; }
  body.page-template-page-about .about-shift__head { grid-template-columns: 1fr; gap: 18px; }
  body.page-template-page-about .about-shift__head .section-kicker { margin-bottom: 0; }
  body.page-template-page-about .about-shift__head h2 { font-size: clamp(34px,9vw,44px); }
  body.page-template-page-about .about-shift__head > p:last-child { font-size: 15px; }
  body.page-template-page-about .about-shift__board { margin-top: 38px; gap: 12px; }
  body.page-template-page-about .about-shift__row { grid-template-columns: 1fr 56px 1fr; min-height: 126px; }
  body.page-template-page-about .about-shift__from,
  body.page-template-page-about .about-shift__to { padding: 20px 16px; }
  body.page-template-page-about .about-shift__from strong,
  body.page-template-page-about .about-shift__to strong { font-size: clamp(18px,4.8vw,23px); }
  body.page-template-page-about .about-shift__pivot i { display: none; }
  body.page-template-page-about .about-shift__pivot b { width: 34px; height: 34px; font-size: 17px; }

  body.page-template-page-about .about-structure { padding: 78px 0; }
  body.page-template-page-about .about-structure__head { text-align: left; }
  body.page-template-page-about .about-structure__head h2 { font-size: clamp(34px,8.8vw,44px); }
  body.page-template-page-about .about-structure__head > p:last-child { font-size: 15px; }
  body.page-template-page-about .about-structure__grid { margin-top: 38px; }
  body.page-template-page-about .about-structure__card { padding: 26px 20px; }
  body.page-template-page-about .about-structure__card-top h3 { font-size: clamp(27px,7.6vw,33px); }
  body.page-template-page-about .about-structure__card-top > p:last-child { font-size: 14.5px; }
  body.page-template-page-about .about-structure__route { grid-template-columns: repeat(3,1fr); gap: 8px; margin: 28px 0 24px; }
  body.page-template-page-about .about-structure__route > i { display: none; }
  body.page-template-page-about .about-structure__route > div > span { width: 50px; height: 50px; }
  body.page-template-page-about .about-structure__route strong { font-size: 11.5px; }
  body.page-template-page-about .about-structure__message { grid-template-columns: 1fr 104px; min-height: 158px; }
  body.page-template-page-about .about-structure__message-copy { padding: 20px 14px 18px 18px; }
  body.page-template-page-about .about-structure__message-copy strong { font-size: 19px; }
  body.page-template-page-about .about-structure__message-copy p { font-size: 11.5px; }
  body.page-template-page-about .about-structure__message img { width: 104px; }
  body.page-template-page-about .about-structure__brand { grid-template-columns: 1fr auto 1fr; gap: 12px; }
  body.page-template-page-about .about-structure__brand p { display: none; }
  body.page-template-page-about .about-structure__brand strong { font-size: 10px; }
  body.page-template-page-about .about-structure__note { align-items: flex-start; justify-content: flex-start; padding: 16px; font-size: 12.5px; text-align: left; }

  body.page-template-page-about .about-communication--v2 { padding-top: 78px; }
  body.page-template-page-about .about-communication__head--v2 h2 { font-size: clamp(34px,8.8vw,44px); }
  body.page-template-page-about .about-communication__head--v2 > strong { font-size: 24px; }
  body.page-template-page-about .about-communication--v2 .about-communication__pair { min-height: 0; }

  body.page-template-page-about .about-rise-finale { padding: 78px 0; }
  body.page-template-page-about .about-rise-finale__inner { grid-template-columns: 1fr; gap: 34px; }
  body.page-template-page-about .about-rise-finale__copy h2 { font-size: clamp(38px,9vw,48px); }
  body.page-template-page-about .about-rise-finale__copy > p:last-child { font-size: 15px; }
  body.page-template-page-about .about-rise-finale__visual { min-height: 240px; }
  body.page-template-page-about .about-rise-finale__word--riz { font-size: 52px; }
  body.page-template-page-about .about-rise-finale__word--rise { font-size: 72px; }
}

@media (max-width: 520px) {
  body.page-template-page-about .about-atglance__copy h1 { font-size: 39px; line-height: 1.34; }
  body.page-template-page-about .about-atglance__lead br { display: none; }
  body.page-template-page-about .about-atglance__chips { gap: 7px; }
  body.page-template-page-about .about-atglance__chips span { font-size: 10px; padding: 6px 9px; }
  body.page-template-page-about .about-shift__row { grid-template-columns: 1fr; }
  body.page-template-page-about .about-shift__pivot { height: 42px; }
  body.page-template-page-about .about-shift__pivot b { transform: rotate(90deg) scale(.65); }
  body.page-template-page-about .about-shift__row.is-seen .about-shift__pivot b { transform: rotate(90deg); }
  body.page-template-page-about .about-shift__from,
  body.page-template-page-about .about-shift__to { min-height: 104px; }
  body.page-template-page-about .about-structure__route { grid-template-columns: repeat(3,minmax(0,1fr)); }
  body.page-template-page-about .about-structure__message { grid-template-columns: minmax(0,1fr) 92px; }
  body.page-template-page-about .about-structure__message img { width: 92px; }
  body.page-template-page-about .about-structure__message-copy p { display: none; }
  body.page-template-page-about .about-rise-finale__visual { min-height: 210px; }
  body.page-template-page-about .about-rise-finale__word--riz { left: 6%; bottom: 22%; font-size: 44px; }
  body.page-template-page-about .about-rise-finale__word--rise { right: 5%; top: 16%; font-size: 62px; }
}

@media (prefers-reduced-motion: reduce) {
  body.page-template-page-about .about-atglance__visual::before,
  body.page-template-page-about .about-atglance__visual::after,
  body.page-template-page-about .about-atglance__side,
  body.page-template-page-about .about-atglance__core,
  body.page-template-page-about .about-atglance__core-ring { animation: none !important; opacity: 1 !important; transform: none !important; }
  body.page-template-page-about .about-shift__to::after,
  body.page-template-page-about .about-shift__pivot i,
  body.page-template-page-about .about-shift__pivot b,
  body.page-template-page-about .about-structure__card::before,
  body.page-template-page-about .about-structure__route > i,
  body.page-template-page-about .about-rise-finale__word--rise,
  body.page-template-page-about .about-rise-finale__line path,
  body.page-template-page-about .about-rise-finale__sun { transition: none !important; }
}

/* v0.5.63 final balance refinements */
body.page-template-page-about .about-mobile-break { display: none; }
body.page-template-page-about .about-structure__company-name { display: block; }
body.page-template-page-about .about-communication--v2 .about-communication__flow { min-height: 1320px; }
body.page-template-page-about .about-communication--v2 .about-communication__pairs { gap: 38px; padding: 34px 0 52px; }
body.page-template-page-about .about-communication--v2 .about-communication__pair { min-height: 235px; }
@media (min-width: 821px) {
  body.page-template-page-about .about-shift__head { grid-template-columns: 1fr 1fr; }
  body.page-template-page-about .about-shift__head h2 { font-size: clamp(36px,3.6vw,52px); }
}
@media (max-width: 820px) {
  body.page-template-page-about .about-atglance__copy h1 { font-size: 36px; line-height: 1.3; }
  body.page-template-page-about .about-atglance__copy h1 span { display: block; font-size: clamp(27px,8vw,31px); white-space: nowrap; }
  body.page-template-page-about .about-mobile-break { display: inline; }
  body.page-template-page-about .about-structure__head h2 { font-size: 32px; line-height: 1.45; }
  body.page-template-page-about .about-structure__head h2 span { display: block; font-size: clamp(26px,7vw,28px); white-space: nowrap; }
  body.page-template-page-about .about-communication--v2 .about-communication__flow { min-height: 0; }
  body.page-template-page-about .about-communication--v2 .about-communication__pairs { gap: 18px; padding: 20px 0 34px; }
}

/* =========================================================
   Recruit page — 2026 visual refresh
   Scope: Japanese recruitment page only. Copy is unchanged.
   ========================================================= */
.recruit-page {
  --recruit-navy: #07182c;
  --recruit-navy-2: #0b2c4c;
  --recruit-blue: #2b6cae;
  --recruit-sky: #9ed5f5;
  --recruit-orange: #da6a30;
  --recruit-paper: #f4f1eb;
  --recruit-line: rgba(14, 43, 72, .14);
  background: #fff;
}

.recruit-page .lower-hero--recruit {
  min-height: min(78svh, 760px);
  display: flex;
  align-items: flex-end;
  isolation: isolate;
  overflow: hidden;
}
.recruit-page .lower-hero--recruit::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background:
    linear-gradient(90deg, rgba(4,15,31,.92) 0%, rgba(4,15,31,.72) 42%, rgba(4,15,31,.24) 78%, rgba(4,15,31,.08) 100%),
    radial-gradient(circle at 22% 72%, rgba(43,108,174,.28), transparent 31%);
  pointer-events: none;
}
.recruit-page .lower-hero--recruit::after {
  content: "";
  position: absolute;
  z-index: 2;
  left: clamp(28px, 6vw, 92px);
  right: clamp(28px, 6vw, 92px);
  bottom: 34px;
  height: 1px;
  background: linear-gradient(90deg, var(--recruit-orange) 0 10%, rgba(255,255,255,.42) 10% 62%, transparent 100%);
  transform-origin: left;
  animation: recruit-line-in 1.15s cubic-bezier(.22,1,.36,1) .2s both;
}
.recruit-page .lower-hero--recruit .lower-hero__media img {
  transform: scale(1.045);
  filter: saturate(.86) contrast(1.03) brightness(.8);
  animation: recruit-hero-drift 13s ease-in-out infinite alternate;
}
.recruit-page .lower-hero--recruit .lower-hero__veil { display: none; }
.recruit-page .lower-hero--recruit .lower-hero__content {
  position: relative;
  z-index: 3;
  width: 100%;
  padding-bottom: clamp(82px, 8vw, 120px);
}
.recruit-page .lower-hero--recruit .section-kicker {
  display: inline-flex;
  align-items: center;
  gap: 13px;
  margin-bottom: 22px;
  font-size: 12px;
  letter-spacing: .22em;
}
.recruit-page .lower-hero--recruit .section-kicker::before {
  width: 38px;
  height: 1px;
  content: "";
  background: var(--recruit-orange);
}
.recruit-page .lower-hero--recruit h1 {
  max-width: 920px;
  font-size: clamp(54px, 7vw, 96px);
  line-height: 1.24;
  letter-spacing: -.05em;
  text-wrap: balance;
}
.recruit-page .lower-hero--recruit h1::after {
  content: "CAREERS / RiZ";
  display: block;
  margin-top: 26px;
  color: rgba(255,255,255,.42);
  font-family: var(--riz-body);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .22em;
}
.recruit-page .lower-hero--recruit .lower-hero__content > p:last-child {
  max-width: 760px;
  margin-top: 30px;
  color: rgba(255,255,255,.78);
  font-size: clamp(16px, 1.3vw, 19px);
  line-height: 2;
}

.recruit-page .recruit-intro {
  position: relative;
  padding: clamp(100px, 10vw, 155px) 0;
  overflow: hidden;
  background: var(--recruit-paper);
}
.recruit-page .recruit-intro::before {
  content: "01";
  position: absolute;
  right: 2vw;
  top: -5vw;
  color: rgba(7,24,44,.035);
  font-family: var(--riz-serif);
  font-size: clamp(260px, 31vw, 500px);
  line-height: 1;
  pointer-events: none;
}
.recruit-page .recruit-intro__grid {
  position: relative;
  z-index: 1;
  grid-template-columns: minmax(0,.92fr) minmax(0,1.08fr);
  gap: clamp(60px, 9vw, 135px);
  align-items: start;
}
.recruit-page .recruit-intro .section-kicker { font-size: 11px; }
.recruit-page .recruit-intro h2 {
  position: relative;
  font-size: clamp(46px, 5.2vw, 72px);
  line-height: 1.4;
}
.recruit-page .recruit-intro h2::after {
  content: "";
  display: block;
  width: 88px;
  height: 2px;
  margin-top: 34px;
  background: linear-gradient(90deg, var(--recruit-orange), transparent);
}
.recruit-page .recruit-intro__copy {
  position: relative;
  padding: clamp(34px, 4vw, 54px) clamp(30px, 4.2vw, 62px);
  border: 1px solid rgba(14,43,72,.12);
  background: rgba(255,255,255,.68);
  backdrop-filter: blur(8px);
  box-shadow: 0 24px 70px rgba(16,43,69,.07);
}
.recruit-page .recruit-intro__copy::before {
  content: "";
  position: absolute;
  left: -1px;
  top: 28px;
  bottom: 28px;
  width: 3px;
  background: linear-gradient(var(--recruit-blue), var(--recruit-orange));
}
.recruit-page .recruit-intro__copy p {
  font-size: 16px;
  line-height: 2.05;
}
.recruit-page .recruit-intro__copy p:last-child {
  font-size: clamp(22px, 2vw, 29px);
  line-height: 1.75;
}

.recruit-page .recruit-ai-future {
  position: relative;
  padding: clamp(110px, 11vw, 170px) 0;
  background:
    linear-gradient(180deg,#fff 0%,#f7f9fb 100%);
}
.recruit-page .recruit-ai-future::before {
  content: "AI";
  top: -7vw;
  right: -1vw;
  color: rgba(8,35,61,.026);
  font-size: clamp(300px, 39vw, 610px);
}
.recruit-page .recruit-ai-future::after {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 34%;
  height: 1px;
  background: linear-gradient(90deg, var(--recruit-blue), transparent);
}
.recruit-page .recruit-ai-future__grid {
  align-items: start;
  grid-template-columns: minmax(0,.82fr) minmax(0,1.18fr);
  gap: clamp(64px, 9vw, 130px);
}
.recruit-page .recruit-ai-future h2 {
  font-size: clamp(50px, 5.5vw, 76px);
  line-height: 1.35;
}
.recruit-page .recruit-ai-future__copy {
  padding-top: 10px;
}
.recruit-page .recruit-ai-future__copy p {
  font-size: 16px;
  line-height: 2.02;
}
.recruit-page .recruit-ai-future__copy .recruit-ai-future__lead {
  padding-left: 24px;
  border-left: 2px solid var(--recruit-orange);
  font-size: clamp(24px, 2.45vw, 34px);
  line-height: 1.7;
}
.recruit-page .recruit-ai-principles {
  gap: 18px;
  margin-top: clamp(72px, 8vw, 112px);
  border: 0;
  background: transparent;
}
.recruit-page .recruit-ai-principle {
  position: relative;
  min-height: 365px;
  padding: clamp(32px, 3.5vw, 48px);
  overflow: hidden;
  border: 1px solid rgba(11,45,76,.12);
  background: rgba(255,255,255,.86);
  box-shadow: 0 18px 48px rgba(7,31,55,.07);
  transition: transform .45s var(--riz-ease), box-shadow .45s ease, border-color .45s ease;
}
.recruit-page .recruit-ai-principle::before {
  content: attr(data-step);
  position: absolute;
  right: 20px;
  top: 10px;
  color: rgba(8,35,61,.04);
  font-family: var(--riz-serif);
  font-size: 110px;
  line-height: 1;
}
.recruit-page .recruit-ai-principle:nth-child(1)::after,
.recruit-page .recruit-ai-principle:nth-child(2)::after,
.recruit-page .recruit-ai-principle:nth-child(3)::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 3px;
}
.recruit-page .recruit-ai-principle:nth-child(1)::after { background: var(--recruit-blue); }
.recruit-page .recruit-ai-principle:nth-child(2)::after { background: #617384; }
.recruit-page .recruit-ai-principle:nth-child(3)::after { background: var(--recruit-orange); }
.recruit-page .recruit-ai-principle:hover {
  transform: translateY(-8px);
  border-color: rgba(43,108,174,.25);
  box-shadow: 0 28px 64px rgba(7,31,55,.13);
}
.recruit-page .recruit-ai-principle h3 {
  font-size: clamp(30px, 2.7vw, 40px);
  line-height: 1.35;
}
.recruit-page .recruit-ai-principle p {
  font-size: 15px;
  line-height: 1.9;
}
.recruit-page .recruit-ai-future__closing {
  position: relative;
  max-width: 980px;
  margin-top: clamp(72px, 8vw, 110px);
  padding-top: 40px;
  font-size: clamp(42px, 4.8vw, 66px);
}
.recruit-page .recruit-ai-future__closing::before {
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  width: 120px;
  height: 1px;
  background: linear-gradient(90deg, transparent, var(--recruit-orange), transparent);
  transform: translateX(-50%);
}

.recruit-page .recruit-belief {
  position: relative;
  padding: clamp(110px, 11vw, 170px) 0;
  overflow: hidden;
  background:
    radial-gradient(circle at 18% 20%, rgba(43,108,174,.34), transparent 28%),
    radial-gradient(circle at 83% 75%, rgba(218,106,48,.22), transparent 25%),
    linear-gradient(125deg, #061326, #082641 62%, #0b1726 100%);
}
.recruit-page .recruit-belief::before {
  content: "";
  position: absolute;
  inset: 0;
  opacity: .36;
  background-image:
    linear-gradient(rgba(255,255,255,.025) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.025) 1px, transparent 1px);
  background-size: 72px 72px;
  mask-image: linear-gradient(to bottom, transparent, #000 18%, #000 85%, transparent);
}
.recruit-page .recruit-belief__head {
  position: relative;
  z-index: 1;
  max-width: 1080px;
}
.recruit-page .recruit-belief__head h2 {
  font-size: clamp(52px, 6vw, 82px);
  line-height: 1.32;
}
.recruit-page .recruit-belief__head > p:last-child {
  font-size: 17px;
  line-height: 2;
}
.recruit-page .recruit-perspectives {
  position: relative;
  z-index: 1;
  gap: 22px;
  margin-top: clamp(70px, 8vw, 110px);
  border: 0;
  background: transparent;
}
.recruit-page .recruit-perspectives::before {
  content: "ONE BRAND. ONE VALUE.";
  position: absolute;
  z-index: 3;
  left: 50%;
  top: 50%;
  display: grid;
  place-items: center;
  width: 132px;
  aspect-ratio: 1;
  padding: 12px;
  border: 1px solid rgba(255,255,255,.3);
  border-radius: 50%;
  color: rgba(255,255,255,.88);
  background: rgba(5,20,37,.86);
  box-shadow: 0 0 0 14px rgba(255,255,255,.025), 0 0 50px rgba(52,133,193,.18);
  font-size: 10px;
  font-weight: 800;
  line-height: 1.5;
  letter-spacing: .13em;
  text-align: center;
  transform: translate(-50%,-50%);
}
.recruit-page .recruit-perspective {
  position: relative;
  min-height: 430px;
  padding: clamp(38px, 4.4vw, 62px);
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.14);
  background: linear-gradient(145deg, rgba(255,255,255,.055), rgba(255,255,255,.018));
  backdrop-filter: blur(8px);
  box-shadow: none;
}
.recruit-page .recruit-perspective::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
}
.recruit-page .recruit-perspective--blue::before { background: radial-gradient(circle at 0 0, rgba(67,142,203,.2), transparent 44%); }
.recruit-page .recruit-perspective--orange::before { background: radial-gradient(circle at 100% 0, rgba(218,106,48,.18), transparent 44%); }
.recruit-page .recruit-perspective--blue { box-shadow: inset 0 3px 0 #579cd5; }
.recruit-page .recruit-perspective--orange { box-shadow: inset 0 3px 0 #e88b5b; }
.recruit-page .recruit-perspective h3 {
  font-size: clamp(34px, 3.4vw, 47px);
  line-height: 1.42;
}
.recruit-page .recruit-perspective > p:last-child {
  font-size: 15px;
  line-height: 1.95;
}
.recruit-page .recruit-belief__note {
  position: relative;
  z-index: 1;
  margin-top: 32px;
  font-size: 13px;
  line-height: 1.8;
}

.recruit-page .recruit-values {
  position: relative;
  padding: clamp(110px, 11vw, 165px) 0;
  overflow: hidden;
  background: #f8fafb;
}
.recruit-page .recruit-values::before {
  content: "03";
  position: absolute;
  left: -1vw;
  top: 2vw;
  color: rgba(7,24,44,.03);
  font-family: var(--riz-serif);
  font-size: clamp(240px, 28vw, 450px);
  line-height: 1;
}
.recruit-page .recruit-values .section-heading {
  position: relative;
  z-index: 1;
  max-width: 950px;
}
.recruit-page .recruit-values .section-heading h2 {
  font-size: clamp(48px, 5.5vw, 76px);
  line-height: 1.36;
}
.recruit-page .recruit-values .section-heading > p:last-child {
  max-width: 760px;
  font-size: 16px;
  line-height: 1.95;
}
.recruit-page .recruit-value-list {
  position: relative;
  z-index: 1;
  gap: 0;
  margin-top: 72px;
  border: 0;
}
.recruit-page .recruit-value-list::before {
  content: "";
  position: absolute;
  left: 6%;
  right: 6%;
  top: 42px;
  height: 1px;
  background: linear-gradient(90deg, var(--recruit-blue), rgba(43,108,174,.24) 36%, rgba(218,106,48,.25) 64%, var(--recruit-orange));
}
.recruit-page .recruit-value {
  position: relative;
  min-height: 320px;
  padding: 0 clamp(28px, 3.6vw, 52px) 38px;
  border: 0;
  background: transparent;
}
.recruit-page .recruit-value:not(:last-child) { border-right: 1px solid var(--recruit-line); }
.recruit-page .recruit-value > .recruit-picto {
  margin-bottom: 38px;
  background: #fff;
  box-shadow: 0 12px 34px rgba(7,31,55,.08);
}
.recruit-page .recruit-value h3 {
  font-size: clamp(30px, 2.7vw, 40px);
  line-height: 1.4;
}
.recruit-page .recruit-value p {
  font-size: 15px;
  line-height: 1.9;
}

.recruit-page .recruit-contact {
  min-height: 88svh;
}
.recruit-page .recruit-contact__media img {
  filter: saturate(.8) contrast(1.02);
  transform: scale(1.03);
  transition: transform 10s ease;
}
.recruit-page .recruit-contact.is-visible .recruit-contact__media img { transform: scale(1); }
.recruit-page .recruit-contact__veil {
  background:
    linear-gradient(90deg, rgba(3,10,20,.97), rgba(3,10,20,.75) 48%, rgba(3,10,20,.22) 78%, rgba(3,10,20,.08)),
    linear-gradient(0deg, rgba(3,10,20,.68), transparent 55%);
}
.recruit-page .recruit-contact__inner {
  padding: clamp(110px, 11vw, 165px) 0;
}
.recruit-page .recruit-contact h2 {
  max-width: 900px;
  font-size: clamp(54px, 6vw, 82px);
  line-height: 1.34;
}
.recruit-page .recruit-contact__inner > p:not(.section-kicker):not(.recruit-contact__note) {
  font-size: 16px;
  line-height: 2;
}
.recruit-page .recruit-contact__mail {
  position: relative;
  overflow: hidden;
  width: min(600px,100%);
  padding: 24px 28px;
  font-size: clamp(17px, 1.6vw, 20px);
}
.recruit-page .recruit-contact__mail::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background: linear-gradient(90deg, var(--recruit-blue), var(--recruit-orange));
  transform: translateX(-101%);
  transition: transform .45s var(--riz-ease);
}
.recruit-page .recruit-contact__mail:hover::before,
.recruit-page .recruit-contact__mail:focus-visible::before { transform: translateX(0); }
.recruit-page .recruit-contact__note {
  font-size: 12px;
  line-height: 1.8;
}

.recruit-page .recruit-picto {
  position: relative;
  display: grid !important;
  place-items: center;
  width: 78px;
  height: 78px;
  margin-bottom: 40px;
  border: 1px solid rgba(43,108,174,.2);
  border-radius: 50%;
  color: var(--recruit-blue);
  background: rgba(255,255,255,.42);
  box-shadow: inset 0 0 0 7px rgba(43,108,174,.035);
}
.recruit-page .recruit-picto::after {
  content: "";
  position: absolute;
  inset: -8px;
  border: 1px solid currentColor;
  border-radius: 50%;
  opacity: .12;
  transform: scale(.88);
  transition: transform .55s var(--riz-ease), opacity .55s ease;
}
.recruit-page .recruit-picto svg {
  width: 48px;
  height: 48px;
  overflow: visible;
}
.recruit-page .recruit-picto svg * {
  fill: none;
  stroke: currentColor;
  stroke-width: 1.65;
  stroke-linecap: round;
  stroke-linejoin: round;
  vector-effect: non-scaling-stroke;
}
.recruit-page .recruit-ai-principle:hover .recruit-picto::after,
.recruit-page .recruit-perspective:hover .recruit-picto::after,
.recruit-page .recruit-value:hover .recruit-picto::after {
  opacity: .24;
  transform: scale(1);
}
.recruit-page .recruit-picto--judgment { color: #64788a; }
.recruit-page .recruit-picto--together,
.recruit-page .recruit-picto--execute { color: var(--recruit-orange); }
.recruit-page .recruit-perspective--blue .recruit-picto { color: #83c1ee; background: rgba(21,64,99,.35); border-color: rgba(131,193,238,.22); }
.recruit-page .recruit-perspective--orange .recruit-picto { color: #f0a276; background: rgba(92,43,22,.25); border-color: rgba(240,162,118,.22); }

@keyframes recruit-line-in { from { transform: scaleX(0); opacity: 0; } to { transform: scaleX(1); opacity: 1; } }
@keyframes recruit-hero-drift { from { transform: scale(1.045) translate3d(0,0,0); } to { transform: scale(1.075) translate3d(-.7%, -.5%,0); } }

@media (prefers-reduced-motion: no-preference) {
  .recruit-page .recruit-picto svg * {
    stroke-dasharray: 115;
    stroke-dashoffset: 115;
  }
  .recruit-page .reveal.is-visible .recruit-picto svg * {
    animation: recruit-picto-draw 1.25s var(--riz-ease) forwards;
  }
  .recruit-page .recruit-ai-principle:nth-child(2) .recruit-picto svg *,
  .recruit-page .recruit-value:nth-child(2) .recruit-picto svg * { animation-delay: .15s; }
  .recruit-page .recruit-ai-principle:nth-child(3) .recruit-picto svg *,
  .recruit-page .recruit-value:nth-child(3) .recruit-picto svg * { animation-delay: .3s; }
}
@keyframes recruit-picto-draw { to { stroke-dashoffset: 0; } }

@media (max-width: 980px) {
  .recruit-page .lower-hero--recruit { min-height: 670px; }
  .recruit-page .lower-hero--recruit h1 { font-size: clamp(50px, 8vw, 72px); }
  .recruit-page .recruit-intro__grid,
  .recruit-page .recruit-ai-future__grid { grid-template-columns: 1fr; gap: 46px; }
  .recruit-page .recruit-intro__copy { max-width: 760px; margin-left: auto; }
  .recruit-page .recruit-ai-principles { grid-template-columns: 1fr; gap: 14px; }
  .recruit-page .recruit-ai-principle { min-height: 0; }
  .recruit-page .recruit-perspectives::before { width: 108px; }
  .recruit-page .recruit-value-list::before { display: none; }
}

@media (max-width: 760px) {
  .recruit-page .lower-hero--recruit { min-height: 620px; }
  .recruit-page .lower-hero--recruit .lower-hero__content { padding-bottom: 72px; }
  .recruit-page .lower-hero--recruit h1 { font-size: clamp(43px, 12vw, 58px); line-height: 1.3; }
  .recruit-page .lower-hero--recruit .lower-hero__content > p:last-child { font-size: 16px; line-height: 1.9; }
  .recruit-page .recruit-intro h2,
  .recruit-page .recruit-ai-future h2,
  .recruit-page .recruit-values .section-heading h2 { font-size: clamp(38px, 10.5vw, 48px); }
  .recruit-page .recruit-intro__copy { padding: 30px 24px 30px 30px; }
  .recruit-page .recruit-intro__copy p,
  .recruit-page .recruit-ai-future__copy p,
  .recruit-page .recruit-belief__head > p:last-child,
  .recruit-page .recruit-values .section-heading > p:last-child { font-size: 15px; }
  .recruit-page .recruit-ai-future__copy .recruit-ai-future__lead { font-size: 24px; }
  .recruit-page .recruit-ai-future__closing { font-size: 36px; text-align: left; }
  .recruit-page .recruit-ai-future__closing::before { left: 0; transform: none; }
  .recruit-page .recruit-belief__head h2 { font-size: clamp(40px, 11vw, 52px); }
  .recruit-page .recruit-perspectives { grid-template-columns: 1fr; gap: 16px; }
  .recruit-page .recruit-perspectives::before { display: none; }
  .recruit-page .recruit-perspective { min-height: 0; padding: 34px 28px; }
  .recruit-page .recruit-perspective h3 { font-size: 32px; }
  .recruit-page .recruit-value-list { grid-template-columns: 1fr; gap: 0; }
  .recruit-page .recruit-value { min-height: 0; padding: 32px 4px 38px; border-right: 0 !important; border-bottom: 1px solid var(--recruit-line); }
  .recruit-page .recruit-value:last-child { border-bottom: 0; }
  .recruit-page .recruit-contact { min-height: auto; }
  .recruit-page .recruit-contact h2 { font-size: clamp(42px, 11vw, 54px); }
  .recruit-page .recruit-contact__inner > p:not(.section-kicker):not(.recruit-contact__note) { font-size: 15px; }
  .recruit-page .recruit-picto { width: 70px; height: 70px; }
  .recruit-page .recruit-picto svg { width: 43px; height: 43px; }
}

@media (prefers-reduced-motion: reduce) {
  .recruit-page .lower-hero--recruit::after,
  .recruit-page .lower-hero--recruit .lower-hero__media img,
  .recruit-page .recruit-picto svg * { animation: none !important; stroke-dasharray: none; stroke-dashoffset: 0; }
}

/* Recruit page compact refinement — Japanese page only. */
.recruit-page .recruit-intro,
.recruit-page .recruit-ai-future,
.recruit-page .recruit-belief,
.recruit-page .recruit-values {
  padding: clamp(84px, 8.8vw, 126px) 0;
}
.recruit-page .recruit-intro__grid,
.recruit-page .recruit-ai-future__grid {
  gap: clamp(40px, 5.8vw, 82px);
}
.recruit-page .recruit-intro .section-kicker,
.recruit-page .recruit-ai-future .section-kicker,
.recruit-page .recruit-belief .section-kicker,
.recruit-page .recruit-values .section-kicker,
.recruit-page .recruit-contact .section-kicker {
  margin-bottom: 16px;
}
.recruit-page .recruit-intro h2 {
  max-width: 10.5ch;
  font-size: clamp(40px, 4.6vw, 60px);
  line-height: 1.28;
}
.recruit-page .recruit-intro__copy {
  padding: clamp(26px, 3vw, 40px) clamp(24px, 3vw, 42px);
  border-radius: 24px;
  background: linear-gradient(145deg, rgba(255,255,255,.94), rgba(255,255,255,.78));
}
.recruit-page .recruit-intro__copy p {
  font-size: 15px;
  line-height: 1.92;
}
.recruit-page .recruit-intro__copy p:last-child {
  font-size: clamp(20px, 1.8vw, 25px);
  line-height: 1.62;
}
.recruit-page .recruit-ai-future h2 {
  position: relative;
  max-width: 11.5ch;
  font-size: clamp(38px, 4.3vw, 56px);
  line-height: 1.25;
  letter-spacing: -.02em;
}
.recruit-page .recruit-ai-future h2::after {
  content: "";
  display: block;
  width: 84px;
  height: 2px;
  margin-top: 24px;
  background: linear-gradient(90deg, var(--recruit-orange), transparent);
}
.recruit-page .recruit-ai-future__copy p {
  font-size: 15px;
  line-height: 1.92;
}
.recruit-page .recruit-ai-future__copy .recruit-ai-future__lead {
  padding: 22px 24px;
  border-left: 0;
  border-radius: 18px;
  background: linear-gradient(135deg, rgba(255,255,255,.9), rgba(246,248,251,.92));
  box-shadow: 0 14px 38px rgba(7,31,55,.06);
  font-size: clamp(22px, 2vw, 28px);
  line-height: 1.58;
}
.recruit-page .recruit-ai-principles {
  gap: 16px;
  margin-top: clamp(48px, 6vw, 78px);
}
.recruit-page .recruit-ai-principle {
  min-height: 308px;
  padding: clamp(24px, 2.8vw, 38px);
  border-radius: 26px;
  background: linear-gradient(160deg, rgba(255,255,255,.93), rgba(249,251,253,.82));
}
.recruit-page .recruit-ai-principle::before {
  top: 8px;
  right: 18px;
  font-size: 92px;
}
.recruit-page .recruit-ai-principle h3 {
  font-size: clamp(26px, 2.25vw, 34px);
  line-height: 1.3;
}
.recruit-page .recruit-ai-principle p {
  font-size: 14.5px;
  line-height: 1.82;
}
.recruit-page .recruit-ai-future__closing {
  margin-top: clamp(46px, 5.8vw, 72px);
  padding-top: 28px;
  font-size: clamp(34px, 3.8vw, 48px);
}
.recruit-page .recruit-belief__head {
  max-width: 980px;
}
.recruit-page .recruit-belief__head h2 {
  font-size: clamp(42px, 5vw, 62px);
}
.recruit-page .recruit-belief__head > p:last-child {
  max-width: 720px;
  font-size: 15px;
  line-height: 1.9;
}
.recruit-page .recruit-perspectives {
  gap: 18px;
  margin-top: clamp(44px, 5.8vw, 74px);
}
.recruit-page .recruit-perspectives::before {
  width: 144px;
  font-size: 10px;
}
.recruit-page .recruit-perspective {
  min-height: 368px;
  padding: clamp(30px, 3.2vw, 46px);
  border-radius: 28px;
}
.recruit-page .recruit-perspective h3 {
  font-size: clamp(30px, 2.5vw, 38px);
  line-height: 1.34;
}
.recruit-page .recruit-perspective > p:last-child {
  font-size: 14.5px;
  line-height: 1.86;
}
.recruit-page .recruit-belief__note {
  margin-top: 22px;
}
.recruit-page .recruit-values .section-heading {
  max-width: 900px;
}
.recruit-page .recruit-values .section-heading h2 {
  font-size: clamp(40px, 4.8vw, 58px);
  line-height: 1.3;
}
.recruit-page .recruit-values .section-heading > p:last-child {
  max-width: 720px;
  font-size: 15px;
  line-height: 1.88;
}
.recruit-page .recruit-value-list {
  margin-top: 48px;
}
.recruit-page .recruit-value-list::before {
  top: 38px;
}
.recruit-page .recruit-value {
  min-height: 272px;
  padding: 0 clamp(20px, 2.6vw, 34px) 22px;
}
.recruit-page .recruit-value > .recruit-picto {
  margin-bottom: 24px;
}
.recruit-page .recruit-value h3 {
  font-size: clamp(26px, 2.2vw, 32px);
  line-height: 1.34;
}
.recruit-page .recruit-value p {
  font-size: 14.5px;
  line-height: 1.82;
}
.recruit-page .recruit-contact {
  min-height: auto;
}
.recruit-page .recruit-contact__inner {
  position: relative;
  max-width: min(980px, calc(100% - 48px));
  margin: 0 auto;
  padding: clamp(86px, 8.8vw, 118px) clamp(28px, 3vw, 40px);
}
.recruit-page .recruit-contact__inner::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  border: 1px solid rgba(255,255,255,.14);
  border-radius: 30px;
  background: linear-gradient(145deg, rgba(5,18,34,.72), rgba(7,25,45,.44));
  backdrop-filter: blur(8px);
  box-shadow: 0 24px 70px rgba(0,0,0,.18);
}
.recruit-page .recruit-contact__inner > * {
  position: relative;
  z-index: 1;
}
.recruit-page .recruit-contact h2 {
  max-width: 820px;
  font-size: clamp(44px, 4.9vw, 62px);
  line-height: 1.3;
}
.recruit-page .recruit-contact__inner > p:not(.section-kicker):not(.recruit-contact__note) {
  font-size: 15px;
  line-height: 1.92;
}
.recruit-page .recruit-contact__mail {
  width: min(560px,100%);
  padding: 20px 24px;
}
@media (max-width: 980px) {
  .recruit-page .recruit-intro,
  .recruit-page .recruit-ai-future,
  .recruit-page .recruit-belief,
  .recruit-page .recruit-values {
    padding: 72px 0;
  }
  .recruit-page .recruit-ai-future h2,
  .recruit-page .recruit-intro h2,
  .recruit-page .recruit-values .section-heading h2,
  .recruit-page .recruit-belief__head h2,
  .recruit-page .recruit-contact h2 {
    max-width: none;
  }
  .recruit-page .recruit-contact__inner {
    max-width: min(100%, calc(100% - 32px));
    padding: 72px 26px;
  }
}
@media (max-width: 760px) {
  .recruit-page .recruit-intro,
  .recruit-page .recruit-ai-future,
  .recruit-page .recruit-belief,
  .recruit-page .recruit-values {
    padding: 58px 0;
  }
  .recruit-page .recruit-intro h2,
  .recruit-page .recruit-ai-future h2,
  .recruit-page .recruit-values .section-heading h2 {
    font-size: clamp(32px, 8.7vw, 40px);
    line-height: 1.34;
  }
  .recruit-page .recruit-ai-future h2::after,
  .recruit-page .recruit-intro h2::after {
    width: 64px;
    margin-top: 18px;
  }
  .recruit-page .recruit-ai-future__copy .recruit-ai-future__lead {
    padding: 18px 18px 18px 20px;
    font-size: 21px;
  }
  .recruit-page .recruit-ai-principles {
    margin-top: 34px;
  }
  .recruit-page .recruit-ai-principle,
  .recruit-page .recruit-perspective,
  .recruit-page .recruit-value {
    border-radius: 22px;
  }
  .recruit-page .recruit-contact__inner {
    padding: 58px 20px;
    max-width: min(100%, calc(100% - 20px));
  }
  .recruit-page .recruit-contact__inner::before {
    border-radius: 24px;
  }
}

/* ABOUT: future-value / rights-design story — Japanese page only */
body.page-template-page-about .about-foresight {
  padding: clamp(82px,8vw,118px) 0;
  background:
    radial-gradient(circle at 13% 18%, rgba(218,106,48,.08), transparent 27%),
    linear-gradient(180deg,#f7f4ef 0%,#f3f1ec 100%);
}
body.page-template-page-about .about-foresight__grid {
  display:grid;
  grid-template-columns:minmax(0,1.16fr) minmax(360px,.84fr);
  gap:clamp(38px,5vw,72px);
  align-items:center;
}
body.page-template-page-about .about-foresight__visual {min-width:0}
body.page-template-page-about .about-foresight__video-frame {
  position:relative;
  overflow:hidden;
  border-radius:24px;
  background:#0f1d30;
  border:1px solid rgba(11,26,47,.09);
  box-shadow:0 28px 64px rgba(11,26,47,.15);
}
body.page-template-page-about .about-foresight__video-frame::after {
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  border-radius:inherit;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.16);
}
body.page-template-page-about .about-foresight__video {
  display:block;
  width:100%;
  height:auto;
  aspect-ratio:16/9;
  object-fit:cover;
  background:#0f1d30;
}
body.page-template-page-about .about-foresight__visual-note {
  display:flex;
  align-items:center;
  gap:12px;
  margin:18px 4px 0;
  color:rgba(11,26,47,.66);
  font-size:13px;
  line-height:1.7;
}
body.page-template-page-about .about-foresight__visual-note span {
  flex:0 0 auto;
  padding:4px 10px;
  border-radius:999px;
  background:var(--riz-ink);
  color:#fff;
  font-size:9px;
  font-weight:850;
  letter-spacing:.16em;
}
body.page-template-page-about .about-foresight__copy .section-kicker {margin-bottom:16px}
body.page-template-page-about .about-foresight__copy h2 {
  margin:0 0 28px;
  color:var(--riz-ink);
  font-family:var(--riz-serif);
  font-size:clamp(36px,3.8vw,54px);
  font-weight:560;
  line-height:1.36;
  letter-spacing:.01em;
}
body.page-template-page-about .about-foresight__copy h2 span {color:var(--riz-orange-deep)}
body.page-template-page-about .about-foresight__copy > p:not(.section-kicker):not(.about-foresight__visual-note) {
  margin:0 0 18px;
  color:rgba(11,26,47,.75);
  font-size:15px;
  line-height:2;
}
body.page-template-page-about .about-foresight__copy > p strong {color:var(--riz-ink);font-weight:800}
body.page-template-page-about .about-foresight__lead {
  padding-top:20px;
  border-top:1px solid rgba(11,26,47,.13);
}
body.page-template-page-about .about-foresight__insight {
  position:relative;
  margin:30px 0 26px;
  padding:24px 24px 22px 28px;
  overflow:hidden;
  border-radius:18px;
  background:linear-gradient(135deg,#fff 0%,#fff8f2 100%);
  border:1px solid rgba(218,106,48,.2);
  box-shadow:0 14px 32px rgba(11,26,47,.06);
}
body.page-template-page-about .about-foresight__insight::before {
  content:"";
  position:absolute;
  top:0;bottom:0;left:0;
  width:5px;
  background:linear-gradient(180deg,var(--riz-orange),var(--riz-orange-deep));
}
body.page-template-page-about .about-foresight__insight small {
  display:block;
  margin-bottom:7px;
  color:var(--riz-orange-deep);
  font-size:9px;
  font-weight:900;
  letter-spacing:.18em;
}
body.page-template-page-about .about-foresight__insight strong {
  display:block;
  color:var(--riz-ink);
  font-family:var(--riz-serif);
  font-size:clamp(21px,2vw,27px);
  font-weight:650;
  line-height:1.55;
}
body.page-template-page-about .about-foresight__insight p {
  margin:7px 0 0;
  color:rgba(11,26,47,.68);
  font-size:14px;
  line-height:1.8;
}
body.page-template-page-about .about-foresight__expertise {
  margin-bottom:0 !important;
  padding-left:18px;
  border-left:2px solid rgba(43,108,174,.32);
}
@media (max-width: 980px) {
  body.page-template-page-about .about-foresight__grid {
    grid-template-columns:1fr;
    gap:36px;
  }
  body.page-template-page-about .about-foresight__copy {max-width:760px}
  body.page-template-page-about .about-foresight__copy h2 {font-size:clamp(34px,6vw,48px)}
}
@media (max-width: 640px) {
  body.page-template-page-about .about-foresight {padding:64px 0 70px}
  body.page-template-page-about .about-foresight__grid {gap:28px}
  body.page-template-page-about .about-foresight__video-frame {border-radius:16px;box-shadow:0 18px 38px rgba(11,26,47,.13)}
  body.page-template-page-about .about-foresight__visual-note {align-items:flex-start;margin-top:13px;font-size:12px;line-height:1.65}
  body.page-template-page-about .about-foresight__copy .section-kicker {margin-bottom:12px}
  body.page-template-page-about .about-foresight__copy h2 {margin-bottom:22px;font-size:clamp(30px,8.2vw,39px);line-height:1.42}
  body.page-template-page-about .about-foresight__copy > p:not(.section-kicker) {font-size:14px;line-height:1.9}
  body.page-template-page-about .about-foresight__lead {padding-top:17px}
  body.page-template-page-about .about-foresight__insight {margin:24px 0 22px;padding:20px 18px 18px 22px;border-radius:15px}
  body.page-template-page-about .about-foresight__insight strong {font-size:21px}
  body.page-template-page-about .about-foresight__insight p {font-size:13px}
}
@media (prefers-reduced-motion: reduce) {
  body.page-template-page-about .about-foresight__video {animation:none}
}

/* ABOUT foresight desktop line-break refinement */
@media (min-width: 981px) {
  body.page-template-page-about .about-foresight__grid {
    grid-template-columns:minmax(0,1fr) minmax(0,1fr);
    gap:clamp(42px,4vw,58px);
  }
  body.page-template-page-about .about-foresight__copy h2 {
    font-size:clamp(36px,3.05vw,44px);
    line-height:1.42;
  }
}


/* ABOUT foresight cleanup: visual-only animation + aligned explanatory copy */
@media (min-width: 981px) {
  body.page-template-page-about .about-foresight__grid { align-items:start; }
  body.page-template-page-about .about-foresight__copy { padding-top:2px; }
  body.page-template-page-about .about-foresight__copy h2 { font-size:clamp(34px,2.7vw,41px); line-height:1.44; margin-bottom:24px; }
}
body.page-template-page-about .about-foresight__visual-note { display:none !important; }

/* ABOUT foresight: synchronized short caption + independent time-flow animation */
body.page-template-page-about .about-foresight__sync {
  margin-top:14px;
  padding:13px 16px 12px;
  border:1px solid rgba(11,26,47,.08);
  border-radius:16px;
  background:rgba(255,255,255,.84);
  box-shadow:0 10px 24px rgba(11,26,47,.05);
  backdrop-filter:blur(8px);
}
body.page-template-page-about .about-foresight__sync-copy {
  display:grid;
  grid-template-columns:8px minmax(0,1fr);
  gap:12px;
  align-items:start;
  min-height:0;
}
body.page-template-page-about .about-foresight__sync-dot {
  width:8px;
  height:8px;
  margin-top:.6em;
  border-radius:50%;
  background:var(--riz-orange-deep);
  box-shadow:0 0 0 5px rgba(218,106,48,.10);
}
body.page-template-page-about .about-foresight__sync-copy p {
  margin:0;
  color:var(--riz-ink);
  font-size:17px;
  font-weight:700;
  line-height:1.7;
  letter-spacing:.01em;
  transition:opacity .22s ease, transform .22s ease;
}
body.page-template-page-about .about-foresight__sync-copy p.is-changing {
  opacity:.18;
  transform:translateY(3px);
}
body.page-template-page-about .about-foresight__timeline {
  position:relative;
  margin-top:10px;
  padding-top:10px;
  border-top:1px solid rgba(11,26,47,.08);
  opacity:.28;
  transition:opacity .35s ease;
}
body.page-template-page-about .about-foresight__timeline.is-active,
body.page-template-page-about .about-foresight__timeline.is-complete {opacity:1}
body.page-template-page-about .about-foresight__timeline-title {
  margin:0 0 9px;
  color:rgba(11,26,47,.58);
  font-size:11px;
  font-weight:800;
  letter-spacing:.08em;
}
body.page-template-page-about .about-foresight__timeline-track {
  position:absolute;
  left:7px;
  right:7px;
  top:52px;
  height:2px;
  overflow:hidden;
  border-radius:999px;
  background:rgba(11,26,47,.12);
}
body.page-template-page-about .about-foresight__timeline-fill {
  display:block;
  width:0;
  height:100%;
  border-radius:inherit;
  background:linear-gradient(90deg,var(--riz-orange-deep) 0%,#d68a42 47%,#4fa36f 100%);
  transition:width .55s cubic-bezier(.22,.8,.22,1);
}
body.page-template-page-about .about-foresight__timeline[data-year="1"] .about-foresight__timeline-fill {width:8%}
body.page-template-page-about .about-foresight__timeline[data-year="2"] .about-foresight__timeline-fill {width:50%}
body.page-template-page-about .about-foresight__timeline[data-year="3"] .about-foresight__timeline-fill {width:100%}
body.page-template-page-about .about-foresight__timeline-years {
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:12px;
}
body.page-template-page-about .about-foresight__year {
  position:relative;
  padding-top:20px;
  color:rgba(11,26,47,.42);
  transition:color .35s ease, transform .35s ease;
}
body.page-template-page-about .about-foresight__year::before {
  content:"";
  position:absolute;
  top:4px;
  left:0;
  width:12px;
  height:12px;
  border-radius:50%;
  background:#fff;
  border:2px solid rgba(11,26,47,.18);
  box-shadow:0 0 0 4px rgba(255,255,255,.92);
  transition:background .35s ease,border-color .35s ease,box-shadow .35s ease,transform .35s ease;
}
body.page-template-page-about .about-foresight__year b {
  display:block;
  margin-bottom:2px;
  font-size:13px;
  line-height:1.35;
}
body.page-template-page-about .about-foresight__year small {
  display:block;
  font-size:10px;
  line-height:1.45;
}
body.page-template-page-about .about-foresight__timeline[data-year="1"] [data-year-step="1"],
body.page-template-page-about .about-foresight__timeline[data-year="2"] [data-year-step="1"],
body.page-template-page-about .about-foresight__timeline[data-year="2"] [data-year-step="2"],
body.page-template-page-about .about-foresight__timeline[data-year="3"] .about-foresight__year {color:var(--riz-ink)}
body.page-template-page-about .about-foresight__timeline[data-year="1"] [data-year-step="1"]::before,
body.page-template-page-about .about-foresight__timeline[data-year="2"] [data-year-step="1"]::before,
body.page-template-page-about .about-foresight__timeline[data-year="2"] [data-year-step="2"]::before {
  background:var(--riz-orange-deep);
  border-color:var(--riz-orange-deep);
  box-shadow:0 0 0 5px rgba(218,106,48,.12);
  transform:scale(1.08);
}
body.page-template-page-about .about-foresight__timeline[data-year="3"] .about-foresight__year::before {
  background:#4fa36f;
  border-color:#4fa36f;
  box-shadow:0 0 0 5px rgba(79,163,111,.12);
  transform:scale(1.08);
}
body.page-template-page-about .about-foresight__timeline[data-year="3"] [data-year-step="3"] b,
body.page-template-page-about .about-foresight__timeline[data-year="3"] [data-year-step="3"] small {color:#397f56;font-weight:800}
@media (max-width:640px) {
  body.page-template-page-about .about-foresight__sync {margin-top:11px;padding:12px 13px 11px;border-radius:14px}
  body.page-template-page-about .about-foresight__sync-copy {min-height:0;gap:10px}
  body.page-template-page-about .about-foresight__sync-copy p {font-size:15px;line-height:1.66}
  body.page-template-page-about .about-foresight__timeline {margin-top:8px;padding-top:9px}
  body.page-template-page-about .about-foresight__timeline-track {top:49px}
  body.page-template-page-about .about-foresight__timeline-years {gap:7px}
  body.page-template-page-about .about-foresight__year {padding-top:18px}
  body.page-template-page-about .about-foresight__year b {font-size:12px}
  body.page-template-page-about .about-foresight__year small {font-size:9px;line-height:1.38}
}
@media (prefers-reduced-motion: reduce) {
  body.page-template-page-about .about-foresight__sync-copy p,
  body.page-template-page-about .about-foresight__timeline,
  body.page-template-page-about .about-foresight__timeline-fill,
  body.page-template-page-about .about-foresight__year,
  body.page-template-page-about .about-foresight__year::before {transition:none !important}
  body.page-template-page-about .about-foresight__timeline {opacity:1}
  body.page-template-page-about .about-foresight__timeline-fill {width:100% !important}
}

/* ABOUT foresight v3: frame-locked caption/timeline sync */
body.page-template-page-about .about-foresight__sync-copy p {
  transition:none !important;
}
body.page-template-page-about .about-foresight__sync-copy p.is-changing {
  opacity:1 !important;
  transform:none !important;
}
body.page-template-page-about .about-foresight__timeline {
  max-height:0;
  min-height:0;
  margin-top:0;
  padding-top:0;
  overflow:hidden;
  border-top-color:transparent;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition:max-height .24s ease, opacity .18s ease, margin-top .18s ease, padding-top .18s ease, border-color .18s ease, visibility 0s linear .18s;
}
body.page-template-page-about .about-foresight__timeline.is-active,
body.page-template-page-about .about-foresight__timeline.is-complete {
  max-height:110px;
  margin-top:10px;
  padding-top:10px;
  border-top-color:rgba(11,26,47,.08);
  opacity:1;
  visibility:visible;
  pointer-events:auto;
  transition:max-height .24s ease, opacity .18s ease, margin-top .18s ease, padding-top .18s ease, border-color .18s ease;
}
body.page-template-page-about .about-foresight__timeline-fill {
  transition:width .18s linear;
}
@media (max-width:640px) {
  body.page-template-page-about .about-foresight__timeline.is-active,
  body.page-template-page-about .about-foresight__timeline.is-complete {max-height:120px}
}

body.page-template-page-en-members .members-messages--editorial .member-long-message__signoff,
body.page-template-page-zh-cn-members .members-messages--editorial .member-long-message__signoff {
	display:block;
	margin-top:26px;
	padding-top:18px;
	border-top:1px solid rgba(11,26,47,.1);
}
body.page-template-page-en-members .members-messages--editorial .member-long-message__signoff-inner,
body.page-template-page-zh-cn-members .members-messages--editorial .member-long-message__signoff-inner {
	display:flex;
	flex-direction:column;
	align-items:flex-end;
	width:max-content;
	max-width:100%;
	margin-left:auto;
	text-align:right;
}
body.page-template-page-en-members .members-messages--editorial .member-long-message__signoff p,
body.page-template-page-zh-cn-members .members-messages--editorial .member-long-message__signoff p {
	margin:0;
	text-align:right;
	width:max-content;
	max-width:100%;
	line-height:1.6;
}
body.page-template-page-en-members .members-messages--editorial .member-long-message__signoff img,
body.page-template-page-zh-cn-members .members-messages--editorial .member-long-message__signoff img {
	display:block;
	height:auto;
	margin:8px 0 0 auto;
}
@media (max-width:600px) {
	body.page-template-page-en-members .members-messages--editorial .member-long-message__signoff,
	body.page-template-page-zh-cn-members .members-messages--editorial .member-long-message__signoff {
		margin-top:22px;
		padding-top:16px;
	}
}

/* =========================================================
   Members profile density & readability refinement — 2026-08-24
   Scope: Japanese members page, both Inoue and Sugai profiles.
   ========================================================= */
body.page-template-page-members .member-detail {
  padding: clamp(68px, 7vw, 104px) 0;
}
body.page-template-page-members .member-detail__grid {
  gap: clamp(46px, 5.5vw, 78px);
}
body.page-template-page-members .member-detail__statement {
  margin-top: 30px;
  padding-top: 22px;
  padding-bottom: 22px;
  line-height: 1.5;
}
body.page-template-page-members .member-detail__profile {
  margin-top: 16px;
}
body.page-template-page-members .member-detail__profile > section {
  padding: 23px 0;
}
body.page-template-page-members .member-detail__profile h3 {
  margin-bottom: 11px;
  font-size: 25px;
  line-height: 1.35;
}
body.page-template-page-members .member-detail__profile p,
body.page-template-page-members .member-detail__timeline li {
  font-size: 16px;
  line-height: 1.72;
}
body.page-template-page-members .member-detail__timeline li {
  padding-top: 8px;
  padding-bottom: 8px;
}
body.page-template-page-members .member-detail__timeline li::before {
  top: 17px;
}
body.page-template-page-members .member-detail__work-grid {
  gap: 9px;
}
body.page-template-page-members .member-detail__work-grid > div {
  min-height: 72px;
  padding: 14px 17px;
}
body.page-template-page-members .member-detail__work-grid span {
  font-size: 11px;
}
body.page-template-page-members .member-detail__work-grid strong {
  font-size: 15.5px;
  line-height: 1.45;
}
body.page-template-page-members .member-detail__chips {
  gap: 10px;
}
body.page-template-page-members .member-detail__chips li {
  padding: 10px 15px;
  font-size: 14.5px;
  line-height: 1.35;
}

@media (max-width: 980px) {
  body.page-template-page-members .member-detail {
    padding: 60px 0;
  }
  body.page-template-page-members .member-detail__grid {
    gap: 38px;
  }
}

@media (max-width: 720px) {
  body.page-template-page-members .member-detail {
    padding: 52px 0;
  }
  body.page-template-page-members .member-detail__statement {
    margin-top: 26px;
    padding-top: 18px;
    padding-bottom: 18px;
  }
  body.page-template-page-members .member-detail__profile > section {
    padding: 20px 0;
  }
  body.page-template-page-members .member-detail__profile h3 {
    margin-bottom: 9px;
    font-size: 22px;
  }
  body.page-template-page-members .member-detail__profile p,
  body.page-template-page-members .member-detail__timeline li {
    font-size: 15px;
    line-height: 1.7;
  }
  body.page-template-page-members .member-detail__timeline li {
    padding-top: 7px;
    padding-bottom: 7px;
  }
  body.page-template-page-members .member-detail__timeline li::before {
    top: 16px;
  }
  body.page-template-page-members .member-detail__work-grid > div {
    min-height: 64px;
    padding: 12px 14px;
  }
  body.page-template-page-members .member-detail__work-grid strong {
    font-size: 15px;
  }
  body.page-template-page-members .member-detail__chips li {
    padding: 9px 13px;
    font-size: 14px;
  }
}

/* Sugai scope card detail */
body.page-template-page-members .member-detail--orange .member-detail__work-grid strong small {
  display: block;
  margin-top: 3px;
  font-size: .78em;
  font-weight: 600;
  line-height: 1.35;
  color: var(--riz-ink-soft);
}

/* =========================================================
   Japanese PC/mobile visual QA correction — 2026-08-24
   Prevent semantic word breaks and tune only the confirmed problem areas.
   ========================================================= */
.riz-keep { white-space: nowrap; }
.riz-mobile-only { display: none; }

/* TOP: preserve phrase boundaries on desktop and mobile. */
body.home .story-chapter h2 .riz-keep,
body.home .members-section__head h2 .riz-keep,
body.home .gratitude-statement h2 .riz-keep,
body.home .final-cta h2 .riz-keep,
body.home .riz-cycle-v4-intro__title .riz-keep { white-space: nowrap; }

/* PROCESS: the short card title should never split inside 確認. */
body.page-template-page-process .process-flow-card h3.riz-keep {
  white-space: nowrap;
  font-size: clamp(23px,1.75vw,28px);
}

/* TRAINING: four compound headings were splitting between kanji on PC. */
body.page-template-page-training .training-visual-theme-card h3.riz-keep {
  white-space: nowrap;
  font-size: clamp(21px,1.65vw,25px);
  letter-spacing: -.02em;
}

/* CONTACT: the left guide column is narrower than the display type assumed. */
@media (min-width: 981px) {
  body.page-template-page-contact .contact-guide h2 {
    font-size: clamp(38px,2.8vw,44px);
    line-height: 1.38;
    letter-spacing: -.035em;
  }
}

/* Informative microcopy: raise only text that carries functional meaning. */
body.page-template-page-contact .contact-guide__note p { font-size: 13px; line-height: 1.75; }
body.page-template-page-contact .contact-guide__points li { font-size: 13px; }
body.page-template-page-contact .contact-guide__methods li { font-size: 12px; }
body.page-template-page-contact .contact-guide__methods p { font-size: 12px; }
body.page-template-page-contact .contact-guide__email p { font-size: 10px; }

@media (max-width: 760px) {
  .riz-mobile-only { display: block; }

  /* TOP */
  body.home .ip-focus-card h2 { font-size: clamp(24px,6.25vw,26px); line-height: 1.62; }
  body.home .riz-cycle-v4-intro__title { font-size: clamp(27px,7.25vw,31px); line-height: 1.48; }
  body.home .members-section h2 { font-size: clamp(26px,7vw,29px); line-height: 1.5; }
  body.home .gratitude-statement h2,
  body.home .final-cta h2 { font-size: clamp(29px,7.8vw,33px); line-height: 1.46; }

  /* ABOUT */
  body.page-template-page-about .about-foresight__copy h2 {
    font-size: clamp(29px,7.65vw,33px);
    line-height: 1.42;
  }
  body.page-template-page-about .about-foresight__copy h2 .about-foresight__accent { color: var(--riz-orange-deep); }
  body.page-template-page-about .lower-cta h2 {
    font-size: clamp(27px,7.3vw,30px);
    line-height: 1.45;
  }

  /* SERVICES */
  body.page-template-page-services .concern-page-hero h1 {
    font-size: clamp(27px,7.2vw,30px);
    line-height: 1.34;
    letter-spacing: -.035em;
  }
  body.page-template-page-services .concern-page-hero h1 .services-hero-line { white-space: nowrap; }
  body.page-template-page-services .concern-intro__title,
  body.page-template-page-services .service-practice__head h2 {
    font-size: clamp(29px,7.8vw,32px);
    line-height: 1.42;
  }
  body.page-template-page-services .concern-intro__title > span,
  body.page-template-page-services .service-practice__head h2 > span { white-space: nowrap; }
  body.page-template-page-services .service-practice__panel h3.riz-keep {
    white-space: nowrap;
    font-size: clamp(28px,7.4vw,31px);
  }
  body.page-template-page-services .concern-cta h2 {
    font-size: clamp(28px,7.6vw,32px);
    line-height: 1.48;
  }

  /* MEMBERS */
  body.page-template-page-members .members-perspective__head h2 {
    font-size: clamp(29px,7.7vw,32px);
    line-height: 1.48;
  }

  /* ORGANIZATIONS */
  body.page-template-page-organizations .organizations-hero h1 {
    font-size: clamp(28px,7.5vw,31px);
    line-height: 1.48;
    letter-spacing: -.035em;
  }
  body.page-template-page-organizations .organizations-hero h1 .riz-keep { white-space: nowrap; }

  /* RECRUIT */
  body.page-template-page-recruit .recruit-contact h2 {
    font-size: clamp(29px,7.8vw,32px);
    line-height: 1.48;
  }
  body.page-template-page-recruit .recruit-contact h2 .riz-keep { white-space: nowrap; }

  /* CONTACT */
  body.page-template-page-contact .contact-guide h2 {
    font-size: clamp(29px,7.7vw,32px);
    line-height: 1.45;
  }

  /* Common mobile header organization line: still compact, but readable. */
  .site-brand__orgs,
  .site-brand__orgs span { font-size: 9px; }
}

/* Japanese QA second pass: remaining semantic breaks detected by rendered line metrics. */
body.home .org-panel__long-name {
  white-space: nowrap;
  font-size: clamp(25px,2.5vw,34px);
  letter-spacing: -.035em;
}
body.page-template-page-services .service-practice__panel h3.riz-keep {
  white-space: nowrap;
  font-size: clamp(30px,2.35vw,36px);
  letter-spacing: -.03em;
}
body.page-template-page-members .members-messages__prologue h2 .riz-keep,
body.page-template-page-members .member-long-message__side h3 .riz-keep { white-space: nowrap; }

@media (max-width:760px) {
  body.home .org-panel__long-name {
    font-size: clamp(22px,5.8vw,24px);
  }
  body.page-template-page-services .service-audience__head--lifecycle h2 {
    font-size: clamp(29px,7.8vw,32px);
    line-height: 1.45;
  }
  body.page-template-page-services .service-lifecycle-any-detail h3 {
    font-size: clamp(21px,5.8vw,23px);
    line-height:1.45;
  }
  body.page-template-page-services .service-practice__panel h3.riz-keep {
    font-size: clamp(27px,7vw,29px);
  }
  body.page-template-page-members .members-messages__prologue h2 {
    font-size: clamp(29px,7.8vw,32px);
    line-height:1.45;
  }
  body.page-template-page-members .members-messages--editorial .member-long-message__side h3 {
    font-size: clamp(28px,7.6vw,31px);
    line-height:1.42;
  }
  body.page-template-page-recruit .recruit-intro h2,
  body.page-template-page-recruit .recruit-ai-future h2 {
    font-size: clamp(29px,7.8vw,32px);
    line-height:1.48;
  }
  body.page-template-page-recruit .recruit-belief__head h2 {
    font-size: clamp(30px,8vw,34px);
    line-height:1.48;
  }
}

/* Japanese QA microcopy readability pass. */
body.page-template-page-contact .form-row label span,
body.page-template-page-contact .form-consent strong {
  font-size: 11px;
}
body.page-template-page-organizations .access-compact__eyebrow {
  font-size: 10.5px;
}
body.page-template-page-services .service-lifecycle-scenes--guided .service-lifecycle-scene small {
  font-size: 10px;
}
body.page-template-page-services .service-lifecycle-any-detail small {
  font-size: 10px;
}
body.page-template-page-training .training-visual-theme-card > small,
body.page-template-page-training .training-design-factor small {
  font-size: 9.5px;
}
@media (max-width:390px) {
  .brand-identities { font-size: 9.5px; }
  .brand-identities__company { font-size: 9px; }
}
