:root {
  --ikv2-green: #003f33;
  --ikv2-green-2: #075342;
  --ikv2-green-3: #0e6a53;
  --ikv2-gold: #d99a28;
  --ikv2-gold-2: #f1c66a;
  --ikv2-cream: #fff8ec;
  --ikv2-cream-2: #fbf2e4;
  --ikv2-ink: #112a24;
  --ikv2-muted: #60726b;
  --ikv2-line: rgba(151, 108, 36, .18);
  --ikv2-card: rgba(255,255,255,.74);
  --ikv2-shadow: 0 22px 70px rgba(40, 25, 5, .09);
  --ikv2-radius: 22px;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body.ikigai-home-v2 { margin: 0; background: radial-gradient(circle at 5% 3%, #fff6e6 0, transparent 34%), linear-gradient(180deg, #fffaf3 0%, #fff8ef 52%, #fff 100%); color: var(--ikv2-ink); font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; font-size: 15px; line-height: 1.65; overflow-x: hidden; }
a { color: inherit; text-decoration: none; }
img { max-width: 100%; display: block; }
.ikv2-container { width: min(1160px, calc(100% - 48px)); margin-inline: auto; }
.ikv2-header { position: sticky; top: 0; z-index: 90; background: rgba(255, 250, 243, .88); backdrop-filter: blur(18px); border-bottom: 1px solid rgba(217, 154, 40, .16); transition: box-shadow .25s ease, background .25s ease; }
.ikv2-header.is-scrolled { box-shadow: 0 14px 42px rgba(25, 15, 3, .08); background: rgba(255,255,255,.94); }
.ikv2-nav-wrap { min-height: 86px; display: flex; align-items: center; justify-content: space-between; gap: 22px; }
.ikv2-brand { display: inline-flex; align-items: center; gap: 12px; min-width: 240px; }
.ikv2-brand-mark { width: 58px; height: 58px; object-fit: contain; }
.ikv2-brand strong { display: block; letter-spacing: .22em; font-size: 32px; line-height: 1; color: var(--ikv2-green); font-weight: 600; }
.ikv2-brand small { display: block; margin-top: 6px; font-size: 11px; color: var(--ikv2-green); font-weight: 600; letter-spacing: .01em; }
.ikv2-menu { display: flex; align-items: center; justify-content: center; gap: 8px; flex: 1; }
.ikv2-menu a { position: relative; padding: 12px 14px; font-size: 14px; font-weight: 600; color: #111; white-space: nowrap; border-radius: 999px; }
.ikv2-menu a::after { content: ""; position: absolute; left: 18px; right: 18px; bottom: 6px; height: 2px; background: var(--ikv2-gold); border-radius: 999px; transform: scaleX(0); transform-origin: left; transition: transform .22s ease; }
.ikv2-menu a:hover, .ikv2-menu a.active { color: var(--ikv2-green); background: rgba(217,154,40,.07); }
.ikv2-menu a:hover::after, .ikv2-menu a.active::after { transform: scaleX(1); }
.ikv2-actions { display: inline-flex; align-items: center; gap: 10px; }
.ikv2-login { display: inline-flex; align-items: center; gap: 7px; padding: 13px 18px; background: linear-gradient(135deg, #003f33, #075342); color: #fff; border-radius: 10px; box-shadow: 0 12px 26px rgba(0, 63, 51, .18); text-transform: uppercase; letter-spacing: .04em; font-size: 13px; font-weight: 700; white-space: nowrap; }
.ikv2-login:hover { transform: translateY(-1px); }
.ikv2-lang { display: inline-flex; padding: 3px; border: 1px solid rgba(217,154,40,.35); border-radius: 10px; background: rgba(255,255,255,.72); }
.ikv2-lang a { min-width: 34px; height: 34px; display: grid; place-items: center; border-radius: 8px; font-size: 12px; font-weight: 800; color: var(--ikv2-green); }
.ikv2-lang a.active { background: var(--ikv2-green); color: #fff; }
.ikv2-mobile-toggle { display: none; width: 44px; height: 44px; border: 1px solid rgba(217,154,40,.22); border-radius: 12px; background: #fff; padding: 10px; }
.ikv2-mobile-toggle span { display: block; height: 2px; background: var(--ikv2-green); margin: 5px 0; border-radius: 99px; transition: .2s ease; }
.ikv2-mobile-toggle.is-open span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.ikv2-mobile-toggle.is-open span:nth-child(2) { opacity: 0; }
.ikv2-mobile-toggle.is-open span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

.ikv2-hero { position: relative; padding: 72px 0 46px; overflow: hidden; }
.ikv2-hero::before { content: ""; position: absolute; inset: -18% auto auto -10%; width: 42vw; height: 42vw; background: radial-gradient(circle, rgba(217,154,40,.16), transparent 62%); border-radius: 999px; }
.ikv2-hero::after { content: ""; position: absolute; top: 0; right: -18%; width: 64vw; height: 96%; background: linear-gradient(130deg, transparent 0 25%, rgba(255,255,255,.72) 50%, transparent 74%); transform: skewX(-6deg); pointer-events: none; }
.ikv2-hero-grid { position: relative; z-index: 1; display: grid; grid-template-columns: .86fr 1.14fr; gap: 34px; align-items: center; }
.ikv2-eyebrow { margin: 0 0 4px; color: #b47519; font-size: clamp(18px, 2.1vw, 24px); font-weight: 500; }
.ikv2-hero h1 { margin: 0; color: var(--ikv2-green); font-size: clamp(64px, 8vw, 110px); line-height: .88; letter-spacing: -.045em; font-weight: 800; }
.ikv2-hero h2 { margin: 14px 0 14px; max-width: 560px; color: #c18222; font-family: Georgia, "Times New Roman", serif; font-size: clamp(28px, 4vw, 46px); line-height: 1.04; font-style: italic; font-weight: 500; }
.ikv2-lead { max-width: 520px; margin: 0 0 28px; color: #1f332d; font-size: 16px; line-height: 1.85; }
.ikv2-hero-cta { display: flex; align-items: center; flex-wrap: wrap; gap: 14px; }
.ikv2-btn { display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 54px; padding: 15px 22px; border-radius: 11px; font-size: 14px; font-weight: 800; letter-spacing: .02em; transition: transform .2s ease, box-shadow .2s ease, background .2s ease; }
.ikv2-btn span { font-size: 24px; line-height: 0; }
.ikv2-btn img { width: 26px; height: 26px; }
.ikv2-btn-primary { background: linear-gradient(135deg, var(--ikv2-green), #075946); color: #fff; box-shadow: 0 20px 40px rgba(0, 63, 51, .18); }
.ikv2-btn-ghost { color: #b47519; background: rgba(255,255,255,.64); border: 1px solid rgba(217,154,40,.42); }
.ikv2-btn-gold { background: linear-gradient(135deg, #c98217, #f0bb57); color: #fff; box-shadow: 0 18px 34px rgba(168,105,17,.18); }
.ikv2-btn:hover { transform: translateY(-2px); box-shadow: 0 20px 42px rgba(0, 63, 51, .16); }
.ikv2-mini-proof { margin-top: 22px; color: #243c34; font-size: 13px; font-weight: 600; }
.ikv2-hero-art { position: relative; min-height: 440px; display: flex; align-items: center; justify-content: center; }
.ikv2-hero-art img { width: 100%; max-width: 720px; filter: drop-shadow(0 32px 55px rgba(56, 31, 2, .12)); }

.ikv2-value-strip { padding: 32px 0 22px; }
.ikv2-value-premium-section { position: relative; }
.ikv2-value-premium-section::before {
  content: "";
  position: absolute;
  inset: 16px 0 auto;
  height: 220px;
  background: radial-gradient(circle at 16% 18%, rgba(217,154,40,.13), transparent 36%), radial-gradient(circle at 84% 12%, rgba(0,63,51,.09), transparent 34%);
  pointer-events: none;
}
.ikv2-value-intro { position: relative; z-index: 1; width: min(680px, 100%); margin: 0 auto 20px; text-align: center; }
.ikv2-value-intro span { display: inline-flex; align-items: center; justify-content: center; min-height: 28px; padding: 6px 14px; border-radius: 999px; background: rgba(217,154,40,.10); color: #9a6817; border: 1px solid rgba(217,154,40,.18); font-size: 11px; font-weight: 760; letter-spacing: .14em; text-transform: uppercase; }
.ikv2-value-intro h2 { margin: 13px 0 8px; color: var(--ikv2-green); font-size: clamp(22px, 2.5vw, 34px); line-height: 1.18; letter-spacing: -.035em; font-weight: 560; }
.ikv2-value-intro p { margin: 0 auto; max-width: 580px; color: rgba(17,42,36,.68); font-size: 14.5px; line-height: 1.72; font-weight: 390; }
.ikv2-value-card { display: grid; grid-template-columns: repeat(4, 1fr); background: rgba(255,255,255,.70); border: 1px solid rgba(217,154,40,.18); border-radius: 28px; box-shadow: 0 24px 78px rgba(47,31,4,.08); overflow: hidden; }
.ikv2-value-premium-grid { position: relative; z-index: 1; gap: 0; padding: 10px; background: linear-gradient(145deg, rgba(255,255,255,.82), rgba(255,248,236,.74)); backdrop-filter: blur(16px); }
.ikv2-value-premium-grid::before { content: ""; position: absolute; inset: 10px; border-radius: 22px; border: 1px solid rgba(255,255,255,.74); pointer-events: none; }
.ikv2-value-card article { position: relative; display: flex; flex-direction: column; min-height: 240px; gap: 0; padding: 26px 24px 24px; border-right: 1px solid rgba(217,154,40,.13); border-radius: 21px; transition: transform .24s ease, box-shadow .24s ease, background .24s ease; overflow: hidden; }
.ikv2-value-card article:last-child { border-right: none; }
.ikv2-value-card article::after { content: ""; position: absolute; right: -48px; bottom: -56px; width: 140px; height: 140px; border-radius: 50%; background: radial-gradient(circle, rgba(217,154,40,.12), transparent 64%); pointer-events: none; }
.ikv2-value-card article:hover { transform: translateY(-5px); background: rgba(255,255,255,.86); box-shadow: 0 22px 48px rgba(54,31,3,.08); }
.ikv2-value-top { display: flex; align-items: center; justify-content: space-between; margin-bottom: 22px; }
.ikv2-value-no { color: rgba(0,63,51,.28); font-size: 12px; font-weight: 780; letter-spacing: .16em; }
.ikv2-icon { width: 54px; height: 54px; display: grid; place-items: center; border-radius: 18px; background: linear-gradient(145deg, #eff6ee, #ffffff); color: var(--ikv2-green); font-size: 25px; box-shadow: inset 0 0 0 1px rgba(0,63,51,.08), 0 12px 24px rgba(0,63,51,.08); }
.ikv2-icon-guided { color: #0c6552; background: linear-gradient(145deg, #f3faf5, #ffffff); }
.ikv2-icon-gold { color: #b87914; background: linear-gradient(145deg, #fff2d9, #fffdf8); box-shadow: inset 0 0 0 1px rgba(217,154,40,.18), 0 12px 24px rgba(217,154,40,.10); }
.ikv2-icon-heart { color: #ba6c62; background: linear-gradient(145deg, #fff0ef, #fffdfb); box-shadow: inset 0 0 0 1px rgba(186,108,98,.12), 0 12px 24px rgba(186,108,98,.08); }
.ikv2-value-card h3 { margin: 0 0 10px; color: var(--ikv2-green); font-size: 18px; line-height: 1.26; letter-spacing: -.02em; font-weight: 560; }
.ikv2-value-card p { margin: 0; color: rgba(17,42,36,.66); font-size: 13.6px; line-height: 1.72; font-weight: 390; }
.ikv2-value-card small { margin-top: auto; padding-top: 20px; color: #b17a21; font-size: 10.5px; line-height: 1.4; font-weight: 760; letter-spacing: .12em; text-transform: uppercase; }

.ikv2-events { padding: 12px 0 44px; }
.ikv2-event-grid { display: grid; grid-template-columns: .9fr 1.1fr; gap: 18px; }
.ikv2-zoom-panel { background: radial-gradient(circle at 10% 0, rgba(217,154,40,.18), transparent 34%), linear-gradient(145deg, #003f33, #075040); border-radius: 18px; padding: 26px; color: #fff; box-shadow: 0 24px 52px rgba(0,63,51,.21); }
.ikv2-panel-heading { display: flex; align-items: center; justify-content: space-between; gap: 14px; margin-bottom: 20px; }
.ikv2-panel-heading h2 { margin: 0; font-size: 20px; text-transform: uppercase; letter-spacing: .02em; }
.ikv2-panel-heading a { color: #f3c76d; font-size: 12px; font-weight: 700; }
.ikv2-event-list { display: grid; gap: 12px; }
.ikv2-event-row { display: grid; grid-template-columns: 72px 1fr auto; gap: 14px; align-items: center; padding-bottom: 14px; border-bottom: 1px solid rgba(255,255,255,.16); }
.ikv2-event-row:last-child { border-bottom: 0; padding-bottom: 0; }
.ikv2-date { width: 64px; min-height: 68px; border: 1px solid rgba(241,198,106,.55); border-radius: 10px; display: grid; place-items: center; color: var(--ikv2-gold-2); background: rgba(0,0,0,.08); }
.ikv2-date strong { font-size: 24px; line-height: .9; }
.ikv2-date span { font-size: 10px; font-weight: 700; }
.ikv2-event-text h3 { margin: 0 0 4px; color: #fff; font-size: 17px; }
.ikv2-event-text p { margin: 0; color: rgba(255,255,255,.84); font-size: 13px; }
.ikv2-join { justify-self: end; padding: 10px 15px; border-radius: 10px; background: #fff6df; color: #b47519; font-size: 12px; font-weight: 800; text-transform: uppercase; box-shadow: 0 8px 18px rgba(0,0,0,.12); }
.ikv2-benefit-panel { position: relative; display: grid; grid-template-columns: .85fr 1.15fr; align-items: center; min-height: 320px; overflow: hidden; background: linear-gradient(135deg, rgba(255,255,255,.92), rgba(255,246,229,.8)); border: 1px solid var(--ikv2-line); border-radius: 18px; box-shadow: var(--ikv2-shadow); }
.ikv2-benefit-copy { padding: 36px 0 36px 34px; position: relative; z-index: 1; }
.ikv2-benefit-copy h2 { margin: 0 0 22px; font-size: clamp(22px, 2.4vw, 30px); line-height: 1.24; }
.ikv2-benefit-copy ul { list-style: none; padding: 0; margin: 0; display: grid; gap: 14px; }
.ikv2-benefit-copy li { position: relative; padding-left: 28px; font-size: 14px; color: #213630; }
.ikv2-benefit-copy li::before { content: "✓"; position: absolute; left: 0; top: -1px; width: 18px; height: 18px; display: grid; place-items: center; border-radius: 50%; background: var(--ikv2-green); color: #fff; font-size: 11px; }
.ikv2-benefit-panel img { align-self: stretch; width: 100%; height: 100%; object-fit: cover; }

.ikv2-achievers { padding: 26px 0 32px; position: relative; }
.ikv2-achievers .ikv2-container { position: relative; }
.ikv2-section-title { text-align: center; margin: 0 0 28px; font-size: 24px; line-height: 1.25; letter-spacing: .02em; text-transform: uppercase; color: #1b2e28; font-weight: 700; }
.ikv2-section-title::before, .ikv2-section-title::after { content: "~"; color: var(--ikv2-gold); margin: 0 16px; }
.ikv2-achiever-track { display: grid; grid-auto-flow: column; grid-auto-columns: calc((100% - 64px) / 5); gap: 16px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; padding: 4px 40px 10px; }
.ikv2-achiever-track::-webkit-scrollbar { display: none; }
.ikv2-achiever-card { scroll-snap-align: center; text-align: center; padding: 6px; }
.ikv2-achiever-card img { width: 112px; height: 112px; margin: 0 auto 10px; border-radius: 50%; filter: drop-shadow(0 12px 20px rgba(96,61,9,.12)); }
.ikv2-achiever-card span { display: block; color: #b47519; font-size: 12px; text-transform: uppercase; font-weight: 800; }
.ikv2-achiever-card h3 { margin: 4px 0 0; font-size: 15px; }
.ikv2-achiever-card p { margin: 0; color: #344841; font-size: 12px; }
.ikv2-carousel-btn { position: absolute; top: 50%; transform: translateY(-10%); width: 42px; height: 42px; border: 0; border-radius: 50%; background: var(--ikv2-green); color: #fff; font-size: 30px; cursor: pointer; z-index: 2; box-shadow: 0 14px 28px rgba(0,63,51,.18); }
.ikv2-carousel-btn.prev { left: 4px; }
.ikv2-carousel-btn.next { right: 4px; }
.ikv2-dots { display: flex; align-items: center; justify-content: center; gap: 9px; margin-top: 8px; }
.ikv2-dots span { width: 9px; height: 9px; background: #d8d0c5; border-radius: 50%; }
.ikv2-dots span.active { background: var(--ikv2-gold); }

.ikv2-media { padding: 22px 0 48px; }
.ikv2-media-grid { display: grid; grid-template-columns: 1fr 1.12fr; gap: 18px; }
.ikv2-video-card, .ikv2-testimonial-card { background: rgba(255,255,255,.75); border: 1px solid var(--ikv2-line); border-radius: 18px; box-shadow: var(--ikv2-shadow); padding: 26px; }
.ikv2-video-card h2, .ikv2-testimonial-card h2 { margin: 0 0 18px; text-transform: uppercase; font-size: 18px; letter-spacing: .02em; }
.ikv2-video-cover { position: relative; width: 100%; padding: 0; border: 0; border-radius: 8px; overflow: hidden; background: var(--ikv2-green); cursor: pointer; }
.ikv2-video-cover img { width: 100%; }
.ikv2-video-cover span { position: absolute; inset: 0; margin: auto; width: 76px; height: 76px; display: grid; place-items: center; border-radius: 50%; background: rgba(0,0,0,.36); color: #fff; font-size: 28px; backdrop-filter: blur(8px); }
.ikv2-testimonial-card { padding: 42px; }
.ikv2-quote { color: #b47519; font-family: Georgia, serif; font-size: 78px; line-height: .7; }
.ikv2-testimonial-card p { margin: 6px 0 28px; font-size: 16px; line-height: 1.78; color: #263a34; max-width: 660px; }
.ikv2-testimonial-author { display: flex; align-items: center; gap: 12px; }
.ikv2-testimonial-author img { width: 48px; height: 48px; border-radius: 50%; }
.ikv2-testimonial-author strong, .ikv2-testimonial-author small { display: block; }
.ikv2-testimonial-author small { color: var(--ikv2-muted); }

.ikv2-cta { background: radial-gradient(circle at 0 0, rgba(217,154,40,.2), transparent 28%), linear-gradient(135deg, #003f33, #064638); color: #fff; border-top: 1px solid rgba(241,198,106,.26); border-bottom: 1px solid rgba(241,198,106,.26); }
.ikv2-cta-inner { display: grid; grid-template-columns: 92px 1fr auto; gap: 28px; align-items: center; padding: 38px 0; }
.ikv2-cta-inner img { width: 82px; }
.ikv2-cta h2 { margin: 0 0 4px; color: #fff; font-size: clamp(24px, 3vw, 32px); }
.ikv2-cta p { margin: 0; color: rgba(255,255,255,.82); max-width: 620px; }

.ikv2-footer { background: #003f33; color: rgba(255,255,255,.84); }
.ikv2-footer-grid { display: grid; grid-template-columns: 1fr 1.35fr .9fr .9fr; gap: 48px; padding: 54px 0 42px; border-bottom: 1px solid rgba(255,255,255,.12); }
.ikv2-footer-logo { width: 72px; }
.ikv2-footer h3 { margin: 10px 0 4px; font-size: 34px; letter-spacing: .18em; color: #fff; font-weight: 500; }
.ikv2-footer h4 { margin: 0 0 14px; color: #fff; font-size: 14px; text-transform: uppercase; letter-spacing: .04em; }
.ikv2-footer p { margin: 0; color: rgba(255,255,255,.76); font-size: 13px; line-height: 1.75; }
.ikv2-footer a { display: block; margin: 7px 0; color: rgba(255,255,255,.84); font-size: 13px; }
.ikv2-footer a:hover { color: var(--ikv2-gold-2); }
.ikv2-social { display: flex; gap: 10px; margin-bottom: 22px; }
.ikv2-social a { width: 38px; height: 38px; margin: 0; display: grid; place-items: center; border: 1px solid rgba(241,198,106,.42); border-radius: 50%; color: var(--ikv2-gold-2); font-weight: 800; }
.ikv2-current-version { display: inline-flex !important; align-items: center; width: fit-content; padding: 10px 16px; border-radius: 999px; border: 1px solid rgba(241,198,106,.42); color: #f5c46f !important; }
.ikv2-footer-bottom { text-align: center; padding: 20px 0; font-size: 13px; color: rgba(255,255,255,.76); }
.ikv2-video-modal { position: fixed; inset: 0; z-index: 200; display: grid; place-items: center; background: rgba(0, 34, 27, .74); backdrop-filter: blur(10px); padding: 24px; }
.ikv2-video-modal[hidden] { display: none; }
.ikv2-video-modal > button { position: fixed; top: 24px; right: 24px; width: 44px; height: 44px; border: 1px solid rgba(255,255,255,.35); border-radius: 50%; background: rgba(255,255,255,.1); color: #fff; font-size: 28px; cursor: pointer; }
.ikv2-video-modal > div { width: min(720px, 100%); min-height: 330px; border-radius: 24px; display: grid; place-items: center; text-align: center; padding: 42px; background: #fff7e9; color: var(--ikv2-green); box-shadow: 0 28px 80px rgba(0,0,0,.24); }
.ikv2-video-modal h3 { margin: 0 0 10px; font-size: 28px; }
.ikv2-video-modal p { margin: 0; color: #5b6c65; }

@media (max-width: 1120px) {
  .ikv2-container { width: min(100% - 34px, 960px); }
  .ikv2-brand { min-width: auto; }
  .ikv2-brand strong { font-size: 28px; }
  .ikv2-menu a { padding-inline: 10px; font-size: 13px; }
  .ikv2-login { padding-inline: 14px; font-size: 12px; }
  .ikv2-hero-grid { grid-template-columns: 1fr; }
  .ikv2-hero-art { min-height: auto; }
  .ikv2-value-card { grid-template-columns: repeat(2, 1fr); }
  .ikv2-value-card article:nth-child(2) { border-right: none; }
  .ikv2-value-card article:nth-child(1), .ikv2-value-card article:nth-child(2) { border-bottom: 1px solid rgba(217,154,40,.13); }
  .ikv2-event-grid, .ikv2-media-grid { grid-template-columns: 1fr; }
  .ikv2-achiever-track { grid-auto-columns: calc((100% - 32px) / 3); }
}
@media (max-width: 920px) {
  .ikv2-nav-wrap { min-height: 74px; }
  .ikv2-brand-mark { width: 48px; height: 48px; }
  .ikv2-brand small { display: none; }
  .ikv2-mobile-toggle { display: inline-block; order: 3; }
  .ikv2-menu { position: absolute; left: 16px; right: 16px; top: 78px; display: none; flex-direction: column; align-items: stretch; gap: 6px; padding: 16px; border: 1px solid var(--ikv2-line); border-radius: 18px; background: rgba(255,255,255,.96); box-shadow: 0 24px 60px rgba(37,24,6,.14); }
  .ikv2-menu.is-open { display: flex; }
  .ikv2-menu a { padding: 13px 14px; }
  .ikv2-actions { margin-left: auto; }
  .ikv2-login { display: none; }
  .ikv2-hero { padding-top: 46px; }
  .ikv2-hero h1 { font-size: clamp(56px, 18vw, 86px); }
  .ikv2-benefit-panel { grid-template-columns: 1fr; }
  .ikv2-benefit-copy { padding: 28px; }
  .ikv2-cta-inner { grid-template-columns: 72px 1fr; }
  .ikv2-cta-inner .ikv2-btn { grid-column: 1 / -1; width: 100%; }
  .ikv2-footer-grid { grid-template-columns: repeat(2, 1fr); gap: 30px; }
}
@media (max-width: 640px) {
  body.ikigai-home-v2 { font-size: 14px; }
  .ikv2-container { width: calc(100% - 24px); }
  .ikv2-nav-wrap { gap: 10px; }
  .ikv2-brand strong { font-size: 23px; letter-spacing: .17em; }
  .ikv2-lang a { min-width: 30px; height: 30px; }
  .ikv2-mobile-toggle { width: 40px; height: 40px; }
  .ikv2-eyebrow { font-size: 17px; }
  .ikv2-hero h2 { font-size: 28px; }
  .ikv2-lead { font-size: 14px; line-height: 1.75; }
  .ikv2-btn { width: 100%; }
  .ikv2-value-card { grid-template-columns: 1fr; }
  .ikv2-value-intro { text-align: left; margin-bottom: 16px; }
  .ikv2-value-intro h2 { font-size: 24px; }
  .ikv2-value-intro p { font-size: 13.8px; }
  .ikv2-value-card article { border-right: 0 !important; border-bottom: 1px solid rgba(217,154,40,.13); padding: 22px; min-height: 0; }
  .ikv2-value-card article:last-child { border-bottom: 0; }
  .ikv2-icon { width: 48px; height: 48px; font-size: 22px; border-radius: 16px; }
  .ikv2-value-card h3 { font-size: 16px; }
  .ikv2-event-row { grid-template-columns: 58px 1fr; }
  .ikv2-join { grid-column: 2; justify-self: start; }
  .ikv2-date { width: 52px; min-height: 60px; }
  .ikv2-event-text h3 { font-size: 15px; }
  .ikv2-achiever-track { grid-auto-columns: 74%; padding-inline: 28px; }
  .ikv2-carousel-btn { width: 36px; height: 36px; font-size: 24px; }
  .ikv2-testimonial-card { padding: 28px; }
  .ikv2-testimonial-card p { font-size: 14px; }
  .ikv2-footer-grid { grid-template-columns: 1fr; }
}

/* =========================================================
   IKIGAI Home V2 - R13: premium submenu + seamless hero slider
   ========================================================= */
.ikv2-nav-item { position: relative; display: inline-flex; align-items: center; }
.ikv2-nav-link {
  position: relative;
  appearance: none;
  border: 0;
  background: transparent;
  padding: 12px 14px;
  font: inherit;
  font-size: 14px;
  font-weight: 600;
  color: #111;
  white-space: nowrap;
  border-radius: 999px;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 6px;
}
.ikv2-nav-link::after {
  content: "";
  position: absolute;
  left: 18px;
  right: 18px;
  bottom: 6px;
  height: 2px;
  background: var(--ikv2-gold);
  border-radius: 999px;
  transform: scaleX(0);
  transform-origin: left;
  transition: transform .22s ease;
}
.ikv2-nav-item:hover > .ikv2-nav-link,
.ikv2-nav-item.is-open > .ikv2-nav-link { color: var(--ikv2-green); background: rgba(217,154,40,.07); }
.ikv2-nav-item:hover > .ikv2-nav-link::after,
.ikv2-nav-item.is-open > .ikv2-nav-link::after { transform: scaleX(1); }
.ikv2-nav-link span { color: #b47519; font-size: 12px; line-height: 1; transition: transform .22s ease; }
.ikv2-nav-item:hover .ikv2-nav-link span,
.ikv2-nav-item.is-open .ikv2-nav-link span { transform: rotate(180deg); }
.ikv2-submenu {
  position: absolute;
  top: calc(100% + 14px);
  left: 50%;
  width: min(520px, calc(100vw - 40px));
  transform: translateX(-50%) translateY(10px);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity .2s ease, transform .2s ease, visibility .2s ease;
  z-index: 110;
}
.ikv2-submenu::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: -18px;
  height: 18px;
}
.ikv2-has-submenu:hover .ikv2-submenu,
.ikv2-has-submenu.is-open .ikv2-submenu {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translateX(-50%) translateY(0);
}
.ikv2-submenu-premium {
  display: grid;
  grid-template-columns: .85fr 1.15fr;
  overflow: hidden;
  border-radius: 22px;
  border: 1px solid rgba(217,154,40,.24);
  background: rgba(255,252,246,.96);
  box-shadow: 0 28px 80px rgba(35,21,3,.14);
  backdrop-filter: blur(18px);
}
.ikv2-submenu-intro {
  padding: 24px;
  background: radial-gradient(circle at 10% 0, rgba(241,198,106,.28), transparent 52%), linear-gradient(145deg, #fff7e8, #fffdf9);
  border-right: 1px solid rgba(217,154,40,.16);
}
.ikv2-submenu-intro img { width: 52px; height: 52px; margin-bottom: 14px; }
.ikv2-submenu-intro strong { display: block; color: var(--ikv2-green); font-size: 16px; margin-bottom: 6px; }
.ikv2-submenu-intro small { display: block; color: #66776f; font-size: 12px; line-height: 1.7; }
.ikv2-submenu-links { padding: 14px; display: grid; gap: 8px; }
.ikv2-submenu-links a {
  display: grid;
  grid-template-columns: 34px 1fr;
  align-items: center;
  gap: 10px;
  padding: 12px;
  border-radius: 14px;
  color: #233b34;
  font-size: 13px;
  font-weight: 650;
}
.ikv2-submenu-links a::after { display: none; }
.ikv2-submenu-links a span {
  width: 34px;
  height: 34px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: linear-gradient(135deg, rgba(217,154,40,.18), rgba(255,255,255,.75));
  color: #b47519;
}
.ikv2-submenu-links a:hover { background: rgba(217,154,40,.08); color: var(--ikv2-green); }

.ikv2-hero-slider {
  padding: 0;
  min-height: 675px;
  background:
    radial-gradient(circle at 7% 12%, rgba(217,154,40,.12), transparent 30%),
    linear-gradient(105deg, #fffaf3 0%, #fffaf3 42%, rgba(255,250,243,.86) 56%, rgba(255,255,255,.12) 100%);
}
.ikv2-hero-slider::before,
.ikv2-hero-slider::after { display: none; }
.ikv2-hero-stage { position: relative; min-height: 675px; }
.ikv2-hero-slide {
  position: absolute;
  inset: 0;
  opacity: 0;
  visibility: hidden;
  transition: opacity .75s ease, visibility .75s ease;
  overflow: hidden;
}
.ikv2-hero-slide.is-active { opacity: 1; visibility: visible; position: relative; }
.ikv2-hero-slide::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(255,250,243,.98) 0%, rgba(255,250,243,.92) 34%, rgba(255,250,243,.52) 55%, rgba(255,250,243,.06) 100%),
    linear-gradient(180deg, rgba(255,250,243,0) 60%, #fffaf3 100%);
  z-index: 1;
  pointer-events: none;
}
.ikv2-hero-slide::after {
  content: "";
  position: absolute;
  inset: auto 0 0;
  height: 160px;
  background: linear-gradient(180deg, rgba(255,250,243,0), #fffaf3 78%);
  z-index: 3;
  pointer-events: none;
}
.ikv2-hero-slider .ikv2-hero-grid {
  min-height: 675px;
  grid-template-columns: .88fr 1.18fr;
  gap: 18px;
  z-index: 2;
}
.ikv2-hero-slider .ikv2-hero-copy { position: relative; z-index: 4; max-width: 560px; padding: 46px 0 76px; }
.ikv2-hero-slider .ikv2-eyebrow {
  margin-bottom: 10px;
  color: #b47519;
  font-size: clamp(15px, 1.25vw, 18px);
  letter-spacing: .01em;
  font-weight: 650;
}
.ikv2-hero-slider .ikv2-hero h1,
.ikv2-hero-slider h1 {
  font-size: clamp(58px, 6.4vw, 92px);
  letter-spacing: -.045em;
  font-weight: 750;
  line-height: .9;
  text-shadow: 0 18px 40px rgba(0,63,51,.05);
}
.ikv2-hero-slider h2 {
  max-width: 470px;
  margin: 14px 0 18px;
  font-size: clamp(25px, 2.9vw, 39px);
  line-height: 1.12;
  font-weight: 400;
  color: #bc7a1e;
}
.ikv2-hero-slider .ikv2-lead { max-width: 485px; font-size: 14.5px; line-height: 1.85; color: #243b34; }
.ikv2-hero-slider .ikv2-hero-art {
  position: absolute;
  right: max(-70px, -4vw);
  bottom: 0;
  top: 0;
  width: min(62vw, 850px);
  min-height: auto;
  justify-content: flex-end;
  z-index: 0;
  pointer-events: none;
}
.ikv2-hero-photo img {
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: cover;
  object-position: center right;
  filter: none;
  -webkit-mask-image: linear-gradient(90deg, transparent 0%, rgba(0,0,0,.18) 12%, #000 28%, #000 78%, transparent 100%), linear-gradient(180deg, #000 0%, #000 72%, transparent 100%);
  -webkit-mask-composite: source-in;
  mask-image: linear-gradient(90deg, transparent 0%, rgba(0,0,0,.18) 12%, #000 28%, #000 78%, transparent 100%), linear-gradient(180deg, #000 0%, #000 72%, transparent 100%);
  mask-composite: intersect;
}
.ikv2-hero-controls {
  position: absolute;
  left: 50%;
  bottom: 30px;
  transform: translateX(-50%);
  z-index: 8;
  display: inline-flex;
  align-items: center;
  gap: 12px;
  padding: 8px 10px;
  border: 1px solid rgba(217,154,40,.22);
  border-radius: 999px;
  background: rgba(255,255,255,.72);
  box-shadow: 0 18px 48px rgba(35,21,3,.09);
  backdrop-filter: blur(14px);
}
.ikv2-hero-controls button {
  border: 0;
  background: transparent;
  color: var(--ikv2-green);
  cursor: pointer;
}
.ikv2-hero-controls > button {
  width: 32px;
  height: 32px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: #fff8ea;
  color: #b47519;
  font-size: 24px;
  line-height: 1;
}
.ikv2-hero-dots { display: inline-flex; align-items: center; gap: 8px; }
.ikv2-hero-dots button {
  width: 8px;
  height: 8px;
  padding: 0;
  border-radius: 50%;
  background: #d9cfc1;
}
.ikv2-hero-dots button.active { width: 24px; border-radius: 99px; background: var(--ikv2-gold); }

@media (max-width: 1120px) {
  .ikv2-submenu { left: auto; right: -40px; transform: translateY(10px); }
  .ikv2-has-submenu:hover .ikv2-submenu,
  .ikv2-has-submenu.is-open .ikv2-submenu { transform: translateY(0); }
  .ikv2-hero-slider .ikv2-hero-art { width: 58vw; right: -120px; }
}
@media (max-width: 920px) {
  .ikv2-nav-item { display: block; width: 100%; }
  .ikv2-nav-link { width: 100%; justify-content: space-between; padding: 13px 14px; }
  .ikv2-submenu { position: static; width: 100%; transform: none !important; opacity: 1; visibility: visible; pointer-events: auto; display: none; margin-top: 8px; }
  .ikv2-has-submenu.is-open .ikv2-submenu { display: grid; }
  .ikv2-submenu-premium { grid-template-columns: 1fr; border-radius: 16px; box-shadow: none; background: rgba(255,248,236,.9); }
  .ikv2-submenu-intro { display: none; }
  .ikv2-submenu-links { padding: 8px; }
  .ikv2-menu.is-open { max-height: calc(100vh - 92px); overflow-y: auto; }
  .ikv2-menu.is-open > a,
  .ikv2-menu.is-open .ikv2-nav-link { background: rgba(255,255,255,.78); }

  .ikv2-hero-slider,
  .ikv2-hero-stage,
  .ikv2-hero-slider .ikv2-hero-grid { min-height: 720px; }
  .ikv2-hero-slide::before { background: linear-gradient(180deg, rgba(255,250,243,.98) 0%, rgba(255,250,243,.92) 42%, rgba(255,250,243,.32) 66%, #fffaf3 100%); }
  .ikv2-hero-slider .ikv2-hero-grid { grid-template-columns: 1fr; align-items: start; }
  .ikv2-hero-slider .ikv2-hero-copy { padding-top: 44px; }
  .ikv2-hero-slider .ikv2-hero-art { position: absolute; top: auto; left: 0; right: 0; bottom: 0; width: 100%; height: 390px; justify-content: center; }
  .ikv2-hero-photo img { object-position: center bottom; -webkit-mask-image: linear-gradient(180deg, transparent 0%, #000 12%, #000 72%, transparent 100%); mask-image: linear-gradient(180deg, transparent 0%, #000 12%, #000 72%, transparent 100%); }
}
@media (max-width: 640px) {
  .ikv2-hero-slider,
  .ikv2-hero-stage,
  .ikv2-hero-slider .ikv2-hero-grid { min-height: 760px; }
  .ikv2-hero-slider h1 { font-size: clamp(50px, 18vw, 68px); }
  .ikv2-hero-slider h2 { font-size: 26px; }
  .ikv2-hero-slider .ikv2-lead { font-size: 13.5px; }
  .ikv2-hero-slider .ikv2-hero-art { height: 330px; }
  .ikv2-hero-controls { bottom: 18px; }
}


/* =========================================================
   IKIGAI Home V2 - R14: real hero images and slide-specific copy
   ========================================================= */
.ikv2-hero-slider .ikv2-hero-copy {
  max-width: 590px;
}
.ikv2-hero-slider h1 {
  max-width: 620px;
  font-size: clamp(38px, 4.8vw, 66px) !important;
  line-height: .98 !important;
  letter-spacing: -.035em !important;
  font-weight: 730 !important;
}
.ikv2-hero-slider h2 {
  max-width: 560px;
  font-size: clamp(21px, 2.2vw, 31px) !important;
  line-height: 1.2 !important;
  font-weight: 430 !important;
  color: #b6761f;
}
.ikv2-hero-slider .ikv2-lead {
  max-width: 560px;
  font-size: 14.5px;
  color: #2c413b;
}
.ikv2-hero-photo img {
  object-position: center center;
}
.ikv2-hero-photo-1 img { object-position: center center; }
.ikv2-hero-photo-2 img { object-position: 54% center; }
.ikv2-hero-photo-3 img { object-position: center center; }
.ikv2-hero-slide:nth-child(2)::before {
  background:
    linear-gradient(90deg, rgba(255,250,243,.98) 0%, rgba(255,250,243,.94) 36%, rgba(255,250,243,.55) 58%, rgba(255,250,243,.08) 100%),
    linear-gradient(180deg, rgba(255,250,243,0) 60%, #fffaf3 100%);
}
.ikv2-hero-slide:nth-child(3)::before {
  background:
    linear-gradient(90deg, rgba(255,250,243,.99) 0%, rgba(255,250,243,.95) 38%, rgba(255,250,243,.62) 60%, rgba(255,250,243,.1) 100%),
    linear-gradient(180deg, rgba(255,250,243,0) 60%, #fffaf3 100%);
}
.ikv2-hero-slider .ikv2-mini-proof {
  background: rgba(255,255,255,.64);
  border: 1px solid rgba(217,154,40,.14);
  width: fit-content;
  padding: 7px 12px;
  border-radius: 999px;
  box-shadow: 0 12px 28px rgba(35,21,3,.06);
}
@media (max-width: 920px) {
  .ikv2-hero-slider h1 { font-size: clamp(34px, 8vw, 52px) !important; }
  .ikv2-hero-slider h2 { font-size: clamp(20px, 5vw, 28px) !important; }
  .ikv2-hero-slider .ikv2-lead { font-size: 14px; line-height: 1.78; }
  .ikv2-hero-photo-2 img { object-position: center bottom; }
  .ikv2-hero-photo-3 img { object-position: center bottom; }
}
@media (max-width: 640px) {
  .ikv2-hero-slider h1 { font-size: clamp(31px, 10vw, 43px) !important; }
  .ikv2-hero-slider h2 { font-size: 20px !important; }
  .ikv2-hero-slider .ikv2-hero-copy { padding-top: 30px; }
  .ikv2-hero-slider .ikv2-mini-proof { font-size: 11px; }
}


/* =========================================================
   IKIGAI Home V2 - R15: calmer hero typography, autoplay-ready slider, stable submenu hover
   ========================================================= */
:root {
  --ikv2-hero-title-max: 46px;
  --ikv2-hero-title-min: 30px;
}

/* Hero title was intentionally reduced so copy feels elegant, not loud. */
.ikv2-hero-slider .ikv2-hero-copy {
  max-width: 548px;
}
.ikv2-hero-slider h1,
.ikv2-hero-slider .ikv2-hero h1 {
  max-width: 560px !important;
  font-size: clamp(var(--ikv2-hero-title-min), 3.15vw, var(--ikv2-hero-title-max)) !important;
  line-height: 1.12 !important;
  letter-spacing: -.022em !important;
  font-weight: 620 !important;
  text-wrap: balance;
  text-shadow: none !important;
}
.ikv2-hero-slider h2 {
  max-width: 510px !important;
  margin: 12px 0 14px !important;
  font-size: clamp(17px, 1.55vw, 23px) !important;
  line-height: 1.35 !important;
  font-style: normal !important;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
  font-weight: 420 !important;
  color: #9f681d !important;
}
.ikv2-hero-slider .ikv2-eyebrow {
  font-size: clamp(13px, 1.05vw, 16px) !important;
  font-weight: 560 !important;
  letter-spacing: .03em;
}
.ikv2-hero-slider .ikv2-lead {
  max-width: 520px !important;
  font-size: 14px !important;
  line-height: 1.78 !important;
  font-weight: 390 !important;
  color: #2f453f !important;
}
.ikv2-hero-slider .ikv2-btn {
  min-height: 48px;
  padding: 12px 18px;
  font-size: 13px;
  font-weight: 680;
}
.ikv2-hero-slider .ikv2-mini-proof {
  font-size: 12px !important;
  font-weight: 520 !important;
  color: #415a52 !important;
}

/* Better autoplay transition feel. */
.ikv2-hero-slide {
  transition: opacity .72s ease, visibility .72s ease, transform .72s ease !important;
  transform: scale(1.008);
}
.ikv2-hero-slide.is-active {
  transform: scale(1);
}
.ikv2-hero-dots button {
  transition: width .22s ease, background .22s ease, opacity .22s ease;
}

/* Stable desktop submenu: larger hover bridge + delayed JS close support. */
.ikv2-has-submenu {
  position: relative;
}
.ikv2-has-submenu::after {
  content: "";
  position: absolute;
  left: -18px;
  right: -18px;
  top: 100%;
  height: 34px;
  display: none;
  z-index: 105;
}
.ikv2-has-submenu:hover::after,
.ikv2-has-submenu.is-open::after {
  display: block;
}
.ikv2-submenu {
  top: calc(100% + 8px) !important;
  transform: translateX(-50%) translateY(6px) !important;
  transition: opacity .18s ease, transform .18s ease, visibility .18s ease !important;
}
.ikv2-submenu::before {
  top: -34px !important;
  height: 34px !important;
  pointer-events: auto;
}
.ikv2-has-submenu:hover .ikv2-submenu,
.ikv2-has-submenu.is-open .ikv2-submenu,
.ikv2-has-submenu.is-hover-lock .ikv2-submenu {
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
  transform: translateX(-50%) translateY(0) !important;
}
.ikv2-has-submenu.is-hover-lock > .ikv2-nav-link {
  color: var(--ikv2-green);
  background: rgba(217,154,40,.07);
}
.ikv2-has-submenu.is-hover-lock > .ikv2-nav-link::after {
  transform: scaleX(1);
}
.ikv2-submenu-premium {
  margin-top: 0;
}
.ikv2-submenu-links a {
  font-weight: 560 !important;
}

@media (max-width: 1120px) {
  .ikv2-submenu {
    transform: translateY(6px) !important;
  }
  .ikv2-has-submenu:hover .ikv2-submenu,
  .ikv2-has-submenu.is-open .ikv2-submenu,
  .ikv2-has-submenu.is-hover-lock .ikv2-submenu {
    transform: translateY(0) !important;
  }
}
@media (max-width: 920px) {
  .ikv2-has-submenu::after { display: none !important; }
  .ikv2-submenu { top: auto !important; }
  .ikv2-hero-slider h1,
  .ikv2-hero-slider .ikv2-hero h1 {
    font-size: clamp(28px, 6.7vw, 39px) !important;
    line-height: 1.14 !important;
    letter-spacing: -.018em !important;
    font-weight: 610 !important;
  }
  .ikv2-hero-slider h2 {
    font-size: clamp(16px, 4vw, 21px) !important;
    line-height: 1.34 !important;
  }
  .ikv2-hero-slider .ikv2-lead {
    font-size: 13.5px !important;
    line-height: 1.72 !important;
  }
}
@media (max-width: 640px) {
  .ikv2-hero-slider h1,
  .ikv2-hero-slider .ikv2-hero h1 {
    font-size: clamp(25px, 8vw, 34px) !important;
    line-height: 1.14 !important;
  }
  .ikv2-hero-slider h2 { font-size: 16px !important; }
  .ikv2-hero-slider .ikv2-eyebrow { font-size: 12.5px !important; }
  .ikv2-hero-slider .ikv2-hero-copy { padding-top: 26px !important; }
}


/* =========================================================
   IKIGAI R16 - V2 is default for home + public child pages
   ========================================================= */
body.ikv2-inner-shell {
  background:
    radial-gradient(circle at 12% 0%, rgba(217,154,40,.10), transparent 30%),
    linear-gradient(180deg, #fffaf1 0%, #fffdf8 46%, #ffffff 100%);
}
.ikv2-inner-main { min-height: 52vh; }
.ikv2-inner-shell .ikv2-header { position: sticky; top: 0; }
.ikv2-inner-shell .ikv2-cta { margin-top: 0; }
.ikv2-inner-shell .ikv2-inner-cta { padding-top: 0; }

.ikigai-inner-hero {
  position: relative;
  overflow: hidden;
  padding: 86px 0 54px;
  background:
    radial-gradient(circle at 16% 14%, rgba(217,154,40,.16), transparent 34%),
    radial-gradient(circle at 86% 0%, rgba(0,63,51,.06), transparent 36%),
    linear-gradient(135deg, #fffaf1 0%, #fffdf8 54%, #ffffff 100%);
  border-bottom: 1px solid rgba(217,154,40,.14);
}
.ikigai-inner-hero::before,
.ikigai-inner-hero::after {
  content: "";
  position: absolute;
  border-radius: 999px;
  pointer-events: none;
}
.ikigai-inner-hero::before {
  width: 360px;
  height: 360px;
  right: -145px;
  top: -135px;
  background: rgba(217,154,40,.12);
  filter: blur(12px);
}
.ikigai-inner-hero::after {
  width: 420px;
  height: 2px;
  left: 7%;
  bottom: 30px;
  background: linear-gradient(90deg, transparent, rgba(217,154,40,.45), transparent);
  transform: rotate(-3deg);
}
.ikigai-inner-hero .container { position: relative; z-index: 1; }
.ikigai-breadcrumb {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  margin-bottom: 18px;
  color: rgba(0,63,51,.64);
  font-size: 12px;
  font-weight: 600;
}
.ikigai-breadcrumb a { color: #b87616; text-decoration: none; font-weight: 700; }
.ikigai-inner-kicker {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 14px;
  padding: 7px 13px;
  border-radius: 999px;
  background: rgba(217,154,40,.10);
  border: 1px solid rgba(217,154,40,.20);
  color: #a86e15;
  font-size: 10.5px;
  font-weight: 700;
  letter-spacing: .11em;
  text-transform: uppercase;
}
.ikigai-inner-title {
  margin: 0;
  max-width: 820px;
  color: var(--ikv2-green);
  font-size: clamp(30px, 3.2vw, 43px);
  line-height: 1.12;
  letter-spacing: -.045em;
  font-weight: 680;
}
.ikigai-inner-excerpt {
  max-width: 760px;
  margin: 16px 0 0;
  color: rgba(0,63,51,.70);
  font-size: 15px;
  line-height: 1.78;
  font-weight: 390;
}
.ikigai-content-section {
  padding: 58px 0 82px;
  background: linear-gradient(180deg, #fffdf8, #ffffff 46%, #fffaf1);
}
.ikigai-content-card {
  border-radius: 26px;
  background: rgba(255,255,255,.92);
  border: 1px solid rgba(217,154,40,.16);
  box-shadow: 0 18px 58px rgba(30,19,4,.07);
  padding: clamp(24px, 3vw, 42px);
}
.ikigai-prose {
  color: rgba(0,63,51,.72);
  font-size: 15px;
  line-height: 1.82;
  font-weight: 390;
}
.ikigai-prose h1,
.ikigai-prose h2,
.ikigai-prose h3,
.ikigai-prose h4 {
  color: var(--ikv2-green);
  letter-spacing: -.032em;
  margin-top: 1.25em;
  font-weight: 660;
}
.ikigai-prose h2 { font-size: 25px; }
.ikigai-prose h3 { font-size: 20px; }
.ikigai-prose a { color: #a86e15; font-weight: 650; text-decoration: none; border-bottom: 1px solid rgba(168,110,21,.22); }
.ikigai-prose ul,
.ikigai-prose ol { padding-left: 1.2rem; }
.ikigai-prose li { margin-bottom: 8px; }

.ikigai-category-pills { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 26px; }
.ikigai-category-pills a {
  display: inline-flex;
  align-items: center;
  padding: 8px 13px;
  border-radius: 999px;
  border: 1px solid rgba(217,154,40,.18);
  background: rgba(255,255,255,.82);
  color: rgba(0,63,51,.72);
  font-size: 12.5px;
  font-weight: 650;
  text-decoration: none;
  box-shadow: 0 10px 24px rgba(30,19,4,.04);
}
.ikigai-category-pills a.is-active,
.ikigai-category-pills a:hover {
  background: linear-gradient(135deg, rgba(217,154,40,.18), rgba(255,255,255,.95));
  color: #8d5e15;
  border-color: rgba(217,154,40,.32);
}
.ikigai-article-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 24px; }
.ikigai-article-card {
  overflow: hidden;
  border-radius: 26px;
  background: rgba(255,255,255,.94);
  border: 1px solid rgba(217,154,40,.16);
  box-shadow: 0 16px 48px rgba(30,19,4,.07);
  transition: transform .22s ease, box-shadow .22s ease;
}
.ikigai-article-card:hover { transform: translateY(-4px); box-shadow: 0 24px 70px rgba(30,19,4,.10); }
.ikigai-article-card a { display: block; text-decoration: none; }
.ikigai-article-image { height: 206px; background: linear-gradient(135deg, #fff3d9, #fff); display: flex; align-items: center; justify-content: center; overflow: hidden; }
.ikigai-article-image img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s ease; }
.ikigai-article-card:hover img { transform: scale(1.035); }
.ikigai-article-body { padding: 24px; }
.ikigai-article-date { color: #a86e15; font-size: 10.5px; letter-spacing: .11em; text-transform: uppercase; font-weight: 700; }
.ikigai-article-card h2,
.ikigai-article-card h3 { margin: 12px 0 10px; color: var(--ikv2-green); font-size: 19px; line-height: 1.30; letter-spacing: -.025em; font-weight: 640; }
.ikigai-article-card p { color: rgba(0,63,51,.66); font-size: 13.5px; line-height: 1.68; font-weight: 390; }
.ikigai-read-more { display: inline-flex; align-items: center; gap: 8px; margin-top: 14px; color: #9f6d18; font-size: 12.5px; font-weight: 700; }

@media (max-width: 920px) {
  .ikigai-inner-hero { padding: 64px 0 42px; }
  .ikigai-inner-title { font-size: clamp(27px, 7vw, 36px); }
  .ikigai-inner-excerpt { font-size: 14px; }
  .ikigai-article-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
}
@media (max-width: 640px) {
  .ikigai-inner-hero { padding: 54px 0 36px; }
  .ikigai-content-section { padding: 38px 0 58px; }
  .ikigai-content-card { border-radius: 22px; }
  .ikigai-article-grid { grid-template-columns: 1fr; }
  .ikigai-article-image { height: 190px; }
}


/* =========================================================
   IKIGAI R18 - Zoom event benefit image upgrade
   Keep existing V2 color palette, improve section elegance
   ========================================================= */
.ikv2-benefit-panel-premium {
  grid-template-columns: .86fr 1.14fr;
  gap: 0;
  min-height: 390px;
  isolation: isolate;
}
.ikv2-benefit-panel-premium::before {
  content: "";
  position: absolute;
  inset: 18px;
  border-radius: 24px;
  border: 1px solid rgba(217,154,40,.10);
  pointer-events: none;
  z-index: 0;
}
.ikv2-benefit-panel-premium::after {
  content: "";
  position: absolute;
  width: 240px;
  height: 240px;
  right: -96px;
  bottom: -108px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(217,154,40,.16), transparent 68%);
  pointer-events: none;
  z-index: 0;
}
.ikv2-benefit-panel-premium .ikv2-benefit-copy {
  padding: clamp(28px, 3.4vw, 48px);
  align-self: center;
  z-index: 2;
}
.ikv2-benefit-kicker {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 12px;
  padding: 7px 12px;
  border-radius: 999px;
  border: 1px solid rgba(217,154,40,.18);
  background: rgba(255,248,236,.82);
  color: #a66b15;
  font-size: 10.5px;
  line-height: 1;
  font-weight: 700;
  letter-spacing: .11em;
  text-transform: uppercase;
}
.ikv2-benefit-kicker::before {
  content: "✦";
  color: #d99a28;
  font-size: 11px;
}
.ikv2-benefit-panel-premium .ikv2-benefit-copy h2 {
  max-width: 410px;
  margin-bottom: 18px;
  font-size: clamp(21px, 2.05vw, 29px);
  line-height: 1.25;
  font-weight: 610;
  letter-spacing: -.028em;
}
.ikv2-benefit-panel-premium .ikv2-benefit-copy ul {
  gap: 12px;
}
.ikv2-benefit-panel-premium .ikv2-benefit-copy li {
  font-size: 13.5px;
  line-height: 1.62;
  color: rgba(0,63,51,.74);
  font-weight: 430;
}
.ikv2-benefit-visual {
  position: relative;
  align-self: stretch;
  min-height: 360px;
  padding: 18px 18px 18px 0;
  z-index: 1;
}
.ikv2-benefit-visual img {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 360px;
  object-fit: cover;
  object-position: center;
  border-radius: 28px;
  box-shadow: 0 22px 54px rgba(30,19,4,.11);
  -webkit-mask-image: linear-gradient(90deg, rgba(0,0,0,.72) 0%, #000 18%, #000 100%), linear-gradient(180deg, #000 0%, #000 78%, rgba(0,0,0,.78) 100%);
  -webkit-mask-composite: source-in;
  mask-image: linear-gradient(90deg, rgba(0,0,0,.72) 0%, #000 18%, #000 100%), linear-gradient(180deg, #000 0%, #000 78%, rgba(0,0,0,.78) 100%);
  mask-composite: intersect;
}
.ikv2-benefit-visual::before {
  content: "";
  position: absolute;
  inset: 18px 18px 18px 0;
  border-radius: 28px;
  background:
    linear-gradient(90deg, rgba(255,250,243,.58) 0%, rgba(255,250,243,.08) 34%, rgba(255,250,243,0) 100%),
    linear-gradient(180deg, rgba(255,250,243,0) 62%, rgba(255,250,243,.54) 100%);
  pointer-events: none;
  z-index: 2;
}
.ikv2-benefit-caption {
  position: absolute;
  left: 24px;
  bottom: 28px;
  z-index: 3;
  display: inline-flex;
  align-items: center;
  gap: 9px;
  padding: 9px 13px;
  border-radius: 999px;
  border: 1px solid rgba(217,154,40,.22);
  background: rgba(255,255,255,.78);
  color: #9a6618;
  font-size: 12.5px;
  font-weight: 650;
  box-shadow: 0 14px 34px rgba(30,19,4,.12);
  backdrop-filter: blur(14px);
}
.ikv2-benefit-caption span {
  width: 24px;
  height: 24px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: var(--ikv2-green);
  color: #fff7e7;
  font-size: 13px;
}
@media (max-width: 1080px) {
  .ikv2-benefit-panel-premium { grid-template-columns: 1fr; }
  .ikv2-benefit-visual { padding: 0 24px 24px; min-height: 300px; }
  .ikv2-benefit-visual img { min-height: 300px; }
  .ikv2-benefit-visual::before { inset: 0 24px 24px; }
  .ikv2-benefit-caption { left: 36px; bottom: 38px; }
}
@media (max-width: 640px) {
  .ikv2-benefit-panel-premium .ikv2-benefit-copy { padding: 24px 22px 18px; }
  .ikv2-benefit-panel-premium .ikv2-benefit-copy h2 { font-size: 20px; }
  .ikv2-benefit-visual { padding: 0 16px 18px; min-height: 240px; }
  .ikv2-benefit-visual img { min-height: 240px; border-radius: 22px; }
  .ikv2-benefit-visual::before { inset: 0 16px 18px; border-radius: 22px; }
  .ikv2-benefit-caption { left: 26px; bottom: 28px; font-size: 11.5px; }
}


/* =========================================================
   IKIGAI R19 - Event Zoom section target layout refinement
   Goal: left event panel + middle image + right compact benefit copy
   Palette is preserved: emerald, white, gold
   ========================================================= */
.ikv2-events-r19 {
  padding-top: 14px;
  padding-bottom: 48px;
}
.ikv2-event-grid-r19 {
  grid-template-columns: minmax(300px, .88fr) minmax(300px, .92fr) minmax(320px, .92fr);
  gap: 0;
  align-items: stretch;
  border-radius: 24px;
  overflow: hidden;
  border: 1px solid rgba(217,154,40,.12);
  background: rgba(255,255,255,.74);
  box-shadow: 0 20px 54px rgba(58,38,7,.075);
}
.ikv2-zoom-panel-r19 {
  border-radius: 0;
  box-shadow: none;
  padding: clamp(24px, 2.6vw, 34px);
  min-height: 360px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.ikv2-zoom-panel-r19 .ikv2-panel-heading {
  margin-bottom: 20px;
}
.ikv2-zoom-panel-r19 .ikv2-panel-heading h2 {
  font-size: clamp(20px, 1.7vw, 25px);
  line-height: 1.18;
  letter-spacing: -.02em;
  font-weight: 670;
}
.ikv2-zoom-panel-r19 .ikv2-panel-heading a {
  font-size: 11.5px;
  opacity: .86;
}
.ikv2-zoom-panel-r19 .ikv2-event-list {
  display: grid;
  gap: 14px;
}
.ikv2-event-row-r19 {
  grid-template-columns: 58px 1fr;
  gap: 13px;
  padding: 0 0 14px;
  align-items: center;
}
.ikv2-event-row-r19 .ikv2-date {
  width: 58px;
  min-height: 58px;
  border-radius: 14px;
  background: rgba(255,248,236,.11);
  border: 1px solid rgba(217,154,40,.34);
  box-shadow: none;
}
.ikv2-event-row-r19 .ikv2-date strong {
  font-size: 27px;
  line-height: .92;
  font-weight: 560;
}
.ikv2-event-row-r19 .ikv2-date span {
  font-size: 9.5px;
  letter-spacing: .08em;
}
.ikv2-event-row-r19 .ikv2-event-text h3 {
  font-size: clamp(14.5px, 1.15vw, 16.5px);
  line-height: 1.3;
  font-weight: 610;
  letter-spacing: -.012em;
  margin-bottom: 5px;
}
.ikv2-event-row-r19 .ikv2-event-text p {
  font-size: 12.5px;
  line-height: 1.5;
  opacity: .84;
}
.ikv2-event-row-r19 .ikv2-join {
  grid-column: 2;
  justify-self: start;
  margin-top: 2px;
  padding: 8px 14px;
  min-width: 104px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 650;
}
.ikv2-event-photo-r19 {
  position: relative;
  min-height: 360px;
  overflow: hidden;
  background: rgba(255,248,236,.72);
}
.ikv2-event-photo-r19 img {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 360px;
  object-fit: cover;
  object-position: center;
  transform: scale(1.01);
}
.ikv2-event-photo-r19::before,
.ikv2-event-photo-r19::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
}
.ikv2-event-photo-r19::before {
  background: linear-gradient(90deg, rgba(0,63,51,.12), rgba(255,255,255,0) 26%, rgba(255,255,255,0) 70%, rgba(255,248,236,.44));
}
.ikv2-event-photo-r19::after {
  background: linear-gradient(180deg, rgba(255,255,255,0) 58%, rgba(255,250,243,.84));
}
.ikv2-event-photo-r19 span {
  position: absolute;
  left: 18px;
  bottom: 18px;
  z-index: 2;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 7px 11px;
  border-radius: 999px;
  border: 1px solid rgba(217,154,40,.22);
  background: rgba(255,255,255,.72);
  color: #9a6618;
  font-size: 11.5px;
  font-weight: 620;
  backdrop-filter: blur(12px);
  box-shadow: 0 12px 26px rgba(42,27,5,.10);
}
.ikv2-event-photo-r19 span::before {
  content: "✦";
  color: #d99a28;
}
.ikv2-benefit-panel-r19 {
  display: flex;
  align-items: center;
  min-height: 360px;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  background: linear-gradient(135deg, rgba(255,255,255,.96), rgba(255,250,243,.82));
  overflow: hidden;
}
.ikv2-benefit-panel-r19::before {
  content: "";
  position: absolute;
  inset: 22px;
  border-radius: 20px;
  border: 1px solid rgba(217,154,40,.12);
  pointer-events: none;
}
.ikv2-benefit-panel-r19 .ikv2-benefit-copy {
  padding: clamp(28px, 3vw, 40px) clamp(26px, 3.2vw, 42px);
}
.ikv2-benefit-panel-r19 .ikv2-benefit-copy h2 {
  max-width: 360px;
  margin: 0 0 18px;
  font-size: clamp(18px, 1.48vw, 22px);
  line-height: 1.32;
  font-weight: 570;
  letter-spacing: -.018em;
  color: #092f28;
}
.ikv2-benefit-panel-r19 .ikv2-benefit-copy ul {
  gap: 13px;
}
.ikv2-benefit-panel-r19 .ikv2-benefit-copy li {
  padding-left: 31px;
  font-size: 13px;
  line-height: 1.58;
  font-weight: 410;
  color: rgba(0,63,51,.75);
}
.ikv2-benefit-panel-r19 .ikv2-benefit-copy li::before {
  width: 18px;
  height: 18px;
  top: 1px;
  font-size: 10px;
  background: #003f33;
  color: #f5c46b;
  box-shadow: 0 0 0 4px rgba(0,63,51,.06);
}
@media (max-width: 1160px) {
  .ikv2-event-grid-r19 {
    grid-template-columns: 1fr 1fr;
  }
  .ikv2-benefit-panel-r19 {
    grid-column: 1 / -1;
    min-height: auto;
  }
  .ikv2-benefit-panel-r19 .ikv2-benefit-copy {
    width: 100%;
  }
  .ikv2-benefit-panel-r19 .ikv2-benefit-copy h2 {
    max-width: 100%;
  }
  .ikv2-benefit-panel-r19 .ikv2-benefit-copy ul {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 760px) {
  .ikv2-event-grid-r19 {
    grid-template-columns: 1fr;
    border-radius: 20px;
  }
  .ikv2-zoom-panel-r19,
  .ikv2-event-photo-r19,
  .ikv2-benefit-panel-r19 {
    min-height: auto;
  }
  .ikv2-event-photo-r19 img {
    min-height: 250px;
  }
  .ikv2-benefit-panel-r19 .ikv2-benefit-copy {
    padding: 25px 22px 28px;
  }
  .ikv2-benefit-panel-r19 .ikv2-benefit-copy h2 {
    font-size: 18px;
  }
  .ikv2-benefit-panel-r19 .ikv2-benefit-copy ul {
    grid-template-columns: 1fr;
    gap: 11px;
  }
}


/* =========================================================
   IKIGAI R20 - Compact nearest Zoom event section
   - show only one nearest demo schedule
   - image height matches benefit text height
   - preserve existing emerald / white / gold color palette
   ========================================================= */
.ikv2-events-r20 {
  padding-top: 10px;
  padding-bottom: 42px;
}
.ikv2-event-grid-r20 {
  grid-template-columns: minmax(280px, .82fr) minmax(270px, .88fr) minmax(340px, 1fr);
  min-height: 0;
}
.ikv2-zoom-panel-r20,
.ikv2-event-photo-r20,
.ikv2-benefit-panel-r20 {
  min-height: 0 !important;
  height: clamp(218px, 15.5vw, 248px);
}
.ikv2-zoom-panel-r20 {
  padding: clamp(22px, 2.1vw, 30px);
  justify-content: center;
}
.ikv2-zoom-panel-r20 .ikv2-panel-heading {
  margin-bottom: 14px;
}
.ikv2-zoom-panel-r20 .ikv2-panel-heading h2 {
  font-size: clamp(18px, 1.35vw, 22px);
  letter-spacing: -.018em;
}
.ikv2-zoom-panel-r20 .ikv2-panel-heading a {
  font-size: 11px;
}
.ikv2-event-list-r20 {
  gap: 0 !important;
}
.ikv2-event-row-r20 {
  grid-template-columns: 64px 1fr;
  gap: 14px;
  padding: 0 !important;
  border-bottom: 0 !important;
}
.ikv2-event-row-r20 .ikv2-date {
  width: 64px;
  min-height: 64px;
  border-radius: 16px;
}
.ikv2-event-row-r20 .ikv2-date strong {
  font-size: 28px;
  font-weight: 560;
}
.ikv2-event-row-r20 .ikv2-date span {
  font-size: 9px;
  letter-spacing: .07em;
}
.ikv2-event-row-r20 .ikv2-event-text h3 {
  font-size: clamp(15px, 1.18vw, 17px);
  font-weight: 620;
  margin-bottom: 6px;
}
.ikv2-event-row-r20 .ikv2-event-text p {
  font-size: 12.5px;
}
.ikv2-event-row-r20 .ikv2-join {
  grid-column: 2;
  margin-top: 12px;
  padding: 8px 16px;
  min-width: 108px;
}
.ikv2-event-photo-r20 {
  border-radius: 0;
}
.ikv2-event-photo-r20 img {
  height: 100% !important;
  min-height: 0 !important;
  object-fit: cover;
  object-position: center center;
}
.ikv2-event-photo-r20 span {
  bottom: 14px;
  left: 16px;
  padding: 6px 10px;
  font-size: 10.8px;
}
.ikv2-benefit-panel-r20 {
  align-items: center;
}
.ikv2-benefit-panel-r20::before {
  inset: 17px;
  border-radius: 18px;
}
.ikv2-benefit-panel-r20 .ikv2-benefit-copy {
  padding: 22px clamp(24px, 2.8vw, 36px);
}
.ikv2-benefit-panel-r20 .ikv2-benefit-copy h2 {
  max-width: 320px;
  margin-bottom: 12px;
  font-size: clamp(16px, 1.22vw, 19px);
  line-height: 1.34;
  font-weight: 560;
}
.ikv2-benefit-panel-r20 .ikv2-benefit-copy ul {
  gap: 8px;
}
.ikv2-benefit-panel-r20 .ikv2-benefit-copy li {
  padding-left: 28px;
  font-size: 12.3px;
  line-height: 1.46;
}
.ikv2-benefit-panel-r20 .ikv2-benefit-copy li::before {
  width: 17px;
  height: 17px;
  font-size: 9px;
}
@media (max-width: 1160px) {
  .ikv2-event-grid-r20 {
    grid-template-columns: 1fr 1fr;
  }
  .ikv2-benefit-panel-r20 {
    grid-column: 1 / -1;
    height: auto;
    min-height: 190px !important;
  }
}
@media (max-width: 760px) {
  .ikv2-event-grid-r20 {
    grid-template-columns: 1fr;
  }
  .ikv2-zoom-panel-r20,
  .ikv2-event-photo-r20,
  .ikv2-benefit-panel-r20 {
    height: auto;
    min-height: auto !important;
  }
  .ikv2-event-photo-r20 img {
    height: 220px !important;
  }
  .ikv2-benefit-panel-r20 .ikv2-benefit-copy {
    padding: 24px 22px 26px;
  }
  .ikv2-benefit-panel-r20 .ikv2-benefit-copy h2 {
    max-width: 100%;
    font-size: 17px;
  }
}

/* =========================================================
   Phase 1C-R21: Premium horizontal achiever carousel
   ========================================================= */
.ikv2-achievers-r21 {
  padding: 28px 0 42px;
  position: relative;
  overflow: hidden;
}
.ikv2-achievers-r21::before {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  width: min(920px, 86vw);
  height: 180px;
  transform: translate(-50%, -48%);
  background: radial-gradient(circle, rgba(220, 166, 69, .10), rgba(255, 255, 255, 0) 68%);
  pointer-events: none;
}
.ikv2-achiever-head {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
  margin-bottom: 18px;
}
.ikv2-achiever-head .ikv2-section-title {
  margin: 0;
  font-size: clamp(20px, 2.1vw, 27px);
  letter-spacing: .035em;
  font-weight: 760;
}
.ikv2-achiever-head .ikv2-section-title::before,
.ikv2-achiever-head .ikv2-section-title::after { content: none; }
.ikv2-achiever-deco {
  color: var(--ikv2-gold);
  font-size: 24px;
  line-height: 1;
  transform: translateY(-1px);
  opacity: .9;
}
.ikv2-achievers-r21 .ikv2-achiever-track {
  display: flex;
  gap: 24px;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scroll-behavior: smooth;
  scrollbar-width: none;
  padding: 8px 58px 14px;
  cursor: grab;
}
.ikv2-achievers-r21 .ikv2-achiever-track:active { cursor: grabbing; }
.ikv2-achievers-r21 .ikv2-achiever-track::-webkit-scrollbar { display: none; }
.ikv2-achievers-r21 .ikv2-achiever-card {
  flex: 0 0 calc((100% - 96px) / 5);
  min-width: 150px;
  scroll-snap-align: center;
  text-align: center;
  padding: 2px 8px 8px;
  border-radius: 22px;
  transition: transform .24s ease, filter .24s ease;
}
.ikv2-achievers-r21 .ikv2-achiever-card:hover {
  transform: translateY(-4px);
}
.ikv2-achiever-avatar {
  position: relative;
  width: 132px;
  height: 132px;
  margin: 0 auto 10px;
  display: grid;
  place-items: center;
}
.ikv2-achiever-avatar::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: 50%;
  background:
    radial-gradient(circle at 50% 50%, rgba(255,255,255,.94) 0 50%, rgba(255,255,255,0) 52%),
    conic-gradient(from 210deg, rgba(196, 136, 34, 0) 0 10%, rgba(211, 158, 54, .9) 13% 28%, rgba(196,136,34,0) 30% 70%, rgba(211,158,54,.9) 73% 88%, rgba(196,136,34,0) 90% 100%);
  filter: drop-shadow(0 14px 18px rgba(96, 61, 9, .12));
}
.ikv2-achiever-avatar::after {
  content: "♡";
  position: absolute;
  left: 50%;
  bottom: 1px;
  width: 28px;
  height: 28px;
  transform: translateX(-50%);
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: #fffaf0;
  border: 1px solid rgba(211, 158, 54, .42);
  color: #c18421;
  font-size: 15px;
  box-shadow: 0 8px 16px rgba(96, 61, 9, .10);
}
.ikv2-achievers-r21 .ikv2-achiever-card img {
  position: relative;
  z-index: 1;
  width: 92px;
  height: 92px;
  margin: 0;
  border-radius: 50%;
  object-fit: cover;
  background: #fff;
  border: 4px solid rgba(255, 250, 240, .95);
  filter: none;
  box-shadow: 0 12px 24px rgba(0, 63, 51, .10);
}
.ikv2-achievers-r21 .ikv2-achiever-card span {
  display: block;
  margin-top: 0;
  color: #b47519;
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: .055em;
  font-weight: 800;
}
.ikv2-achievers-r21 .ikv2-achiever-card h3 {
  margin: 4px 0 0;
  font-size: 16px;
  color: #1b2e28;
  font-weight: 780;
  line-height: 1.2;
}
.ikv2-achievers-r21 .ikv2-achiever-card p {
  margin: 2px 0 0;
  color: #344841;
  font-size: 12.5px;
  line-height: 1.35;
}
.ikv2-achievers-r21 .ikv2-carousel-btn {
  top: 53%;
  transform: translateY(-50%);
  width: 44px;
  height: 44px;
  border: 1px solid rgba(217, 154, 40, .12);
  background: var(--ikv2-green);
  color: #fffdf7;
  font-size: 30px;
  box-shadow: 0 14px 34px rgba(0, 63, 51, .20);
}
.ikv2-achievers-r21 .ikv2-carousel-btn:hover {
  transform: translateY(-50%) scale(1.04);
  background: #00493b;
}
.ikv2-achievers-r21 .ikv2-carousel-btn.prev { left: 2px; }
.ikv2-achievers-r21 .ikv2-carousel-btn.next { right: 2px; }
.ikv2-achiever-dots { margin-top: 4px; }
.ikv2-achiever-dots span {
  width: 8px;
  height: 8px;
  transition: width .22s ease, background .22s ease;
}
.ikv2-achiever-dots span.active {
  width: 20px;
  border-radius: 999px;
}
@media (max-width: 1120px) {
  .ikv2-achievers-r21 .ikv2-achiever-card { flex-basis: calc((100% - 48px) / 3); }
  .ikv2-achievers-r21 .ikv2-achiever-track { padding-inline: 50px; }
}
@media (max-width: 640px) {
  .ikv2-achiever-head { gap: 8px; }
  .ikv2-achiever-head .ikv2-section-title { font-size: 18px; letter-spacing: .02em; }
  .ikv2-achiever-deco { font-size: 17px; }
  .ikv2-achievers-r21 .ikv2-achiever-track { gap: 16px; padding-inline: 42px; }
  .ikv2-achievers-r21 .ikv2-achiever-card { flex-basis: 68%; min-width: 210px; }
  .ikv2-achiever-avatar { width: 124px; height: 124px; }
  .ikv2-achievers-r21 .ikv2-achiever-card img { width: 88px; height: 88px; }
  .ikv2-achievers-r21 .ikv2-carousel-btn { width: 38px; height: 38px; font-size: 25px; }
}


/* Phase 1C-R22: premium video popup + testimonial carousel */
.ikv2-media-r22 {
  padding: 26px 0 58px;
}
.ikv2-media-grid-r22 {
  grid-template-columns: minmax(0, .96fr) minmax(0, 1.04fr);
  gap: 22px;
  align-items: stretch;
}
.ikv2-video-card-r22,
.ikv2-testimonial-card-r22 {
  position: relative;
  overflow: hidden;
  border-radius: 24px;
  border: 1px solid rgba(211, 171, 86, .28);
  background:
    radial-gradient(circle at 10% 0%, rgba(217, 154, 40, .12), transparent 34%),
    rgba(255, 255, 255, .82);
  box-shadow: 0 22px 54px rgba(24, 41, 35, .08);
}
.ikv2-media-heading span,
.ikv2-testimonial-head-r22 span {
  display: inline-flex;
  margin-bottom: 8px;
  color: var(--ikv2-gold);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .16em;
  text-transform: uppercase;
}
.ikv2-media-heading h2,
.ikv2-testimonial-head-r22 h2 {
  margin: 0;
  color: var(--ikv2-green);
  font-size: clamp(19px, 2.3vw, 25px);
  line-height: 1.18;
  font-weight: 650;
  letter-spacing: -.015em;
  text-transform: none;
}
.ikv2-media-heading p {
  margin: 9px 0 18px;
  color: var(--ikv2-muted);
  font-size: 13.5px;
  line-height: 1.72;
  max-width: 460px;
}
.ikv2-video-cover-r22 {
  border-radius: 18px;
  border: 1px solid rgba(211, 171, 86, .24);
  box-shadow: 0 18px 38px rgba(0, 63, 51, .12);
  background: #063e33;
}
.ikv2-video-cover-r22::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(0, 63, 51, .06), rgba(0, 63, 51, .42));
  pointer-events: none;
}
.ikv2-video-cover-r22 img {
  display: block;
  aspect-ratio: 16 / 9;
  object-fit: cover;
}
.ikv2-video-cover-r22 .ikv2-video-play {
  z-index: 2;
  width: 70px;
  height: 70px;
  background: rgba(255, 255, 255, .15);
  border: 1px solid rgba(255, 255, 255, .72);
  color: #fff;
  box-shadow: 0 16px 34px rgba(0, 0, 0, .22);
}
.ikv2-video-label {
  position: absolute;
  left: 18px;
  bottom: 16px;
  z-index: 2;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 13px;
  border-radius: 999px;
  background: rgba(255, 255, 255, .88);
  color: var(--ikv2-green);
  font-size: 12px;
  font-weight: 750;
  box-shadow: 0 8px 18px rgba(0,0,0,.10);
}
.ikv2-video-external {
  display: inline-flex;
  margin-top: 14px;
  color: var(--ikv2-gold);
  font-size: 13px;
  font-weight: 700;
}
.ikv2-testimonial-card-r22 {
  padding: 30px;
  display: flex;
  flex-direction: column;
}
.ikv2-testimonial-head-r22 {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 18px;
  margin-bottom: 20px;
}
.ikv2-testimonial-arrows-r22 {
  display: flex;
  gap: 9px;
  flex: 0 0 auto;
}
.ikv2-testimonial-arrows-r22 button {
  width: 38px;
  height: 38px;
  border: 1px solid rgba(211, 171, 86, .34);
  border-radius: 50%;
  background: rgba(255,255,255,.76);
  color: var(--ikv2-green);
  font-size: 23px;
  line-height: 1;
  cursor: pointer;
  box-shadow: 0 10px 24px rgba(0, 63, 51, .08);
  transition: .22s ease;
}
.ikv2-testimonial-arrows-r22 button:hover {
  background: var(--ikv2-green);
  color: #fff;
  transform: translateY(-1px);
}
.ikv2-testimonial-window-r22 {
  overflow: hidden;
  flex: 1;
}
.ikv2-testimonial-track-r22 {
  display: flex;
  width: 100%;
  transition: transform .55s cubic-bezier(.22, .75, .25, 1);
}
.ikv2-testimonial-slide-r22 {
  flex: 0 0 100%;
  min-width: 100%;
  padding-right: 4px;
}
.ikv2-testimonial-slide-r22 .ikv2-quote {
  font-size: 70px;
  color: rgba(180, 117, 25, .72);
}
.ikv2-testimonial-slide-r22 p {
  margin: 2px 0 24px;
  font-size: 15px;
  line-height: 1.82;
  color: #243b35;
  font-weight: 400;
}
.ikv2-testimonial-card-r22 .ikv2-testimonial-author strong {
  color: var(--ikv2-green);
  font-weight: 720;
}
.ikv2-testimonial-dots-r22 {
  justify-content: flex-start;
  margin-top: 22px;
}
.ikv2-testimonial-dots-r22 button {
  width: 9px;
  height: 9px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: #d8d0c5;
  cursor: pointer;
}
.ikv2-testimonial-dots-r22 button.active {
  width: 24px;
  border-radius: 999px;
  background: var(--ikv2-gold);
}
.ikv2-video-modal-r22 {
  background: rgba(0, 34, 27, .78);
  backdrop-filter: blur(12px);
  padding: 28px;
}
.ikv2-video-dialog-r22 {
  width: min(1040px, 100%);
  padding: 0 !important;
  overflow: hidden;
  border-radius: 26px !important;
  background: #fffaf1 !important;
  box-shadow: 0 32px 92px rgba(0,0,0,.34) !important;
  text-align: left !important;
  display: block !important;
}
.ikv2-video-dialog-head-r22 {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 18px;
  padding: 18px 22px;
  border-bottom: 1px solid rgba(211, 171, 86, .24);
  color: var(--ikv2-green);
}
.ikv2-video-dialog-head-r22 strong {
  font-size: 18px;
  font-weight: 750;
}
.ikv2-video-dialog-head-r22 small {
  color: var(--ikv2-muted);
  font-size: 12.5px;
}
.ikv2-video-frame-r22 {
  position: relative;
  width: 100%;
  aspect-ratio: 16 / 9;
  background: #041b16;
}
.ikv2-video-frame-r22 iframe {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
}
@media (max-width: 920px) {
  .ikv2-media-grid-r22 { grid-template-columns: 1fr; }
  .ikv2-testimonial-card-r22 { padding: 24px; }
  .ikv2-testimonial-head-r22 { align-items: center; }
  .ikv2-video-dialog-head-r22 { display: block; }
  .ikv2-video-dialog-head-r22 small { display: block; margin-top: 4px; }
}
@media (max-width: 560px) {
  .ikv2-media-r22 { padding-bottom: 42px; }
  .ikv2-video-card-r22, .ikv2-testimonial-card-r22 { border-radius: 20px; padding: 20px; }
  .ikv2-testimonial-slide-r22 p { font-size: 14px; line-height: 1.72; }
  .ikv2-testimonial-arrows-r22 button { width: 34px; height: 34px; }
  .ikv2-video-cover-r22 .ikv2-video-play { width: 58px; height: 58px; }
  .ikv2-video-modal-r22 { padding: 14px; }
}


/* Phase 1C-R23: YouTube Error 153 embed hardening */
.ikv2-video-frame-r22 { position: relative; }
.ikv2-video-fallback-r23 {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  padding: 10px 14px;
  background: linear-gradient(135deg, rgba(255,250,241,.96), rgba(247,238,217,.96));
  border-top: 1px solid rgba(211,171,86,.22);
  color: var(--ikv2-muted);
  font-size: 12.5px;
  line-height: 1.45;
}
.ikv2-video-fallback-r23 a {
  color: var(--ikv2-green);
  font-weight: 700;
  text-decoration: none;
  white-space: nowrap;
}
.ikv2-video-fallback-r23 a:hover { color: var(--ikv2-gold); }
@media (max-width: 560px) {
  .ikv2-video-fallback-r23 { display: block; text-align: center; }
  .ikv2-video-fallback-r23 a { display: inline-block; margin-top: 4px; white-space: normal; }
}


/* Phase 1C-R24: YouTube thumbnail preview + premium footer cleanup */
.ikv2-video-cover-r22 img {
  display: block;
  width: 100%;
  aspect-ratio: 16 / 9;
  object-fit: cover;
  object-position: center;
  background: linear-gradient(135deg, rgba(0,63,51,.88), rgba(197,139,33,.26));
}
.ikv2-video-cover-r22::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background:
    linear-gradient(180deg, rgba(0,63,51,.02), rgba(0,63,51,.34)),
    radial-gradient(circle at 22% 18%, rgba(255,255,255,.34), transparent 36%);
  pointer-events: none;
}
.ikv2-video-cover-r22 .ikv2-video-play,
.ikv2-video-cover-r22 .ikv2-video-label { z-index: 2; }
.ikv2-video-cover-r22 .ikv2-video-label {
  box-shadow: 0 12px 30px rgba(0,63,51,.16);
}
.ikv2-video-cover-r22:hover img { transform: scale(1.025); }
.ikv2-video-cover-r22:hover::before { background: linear-gradient(180deg, rgba(0,63,51,.03), rgba(0,63,51,.42)); }

.ikv2-footer-r24 {
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(circle at 8% 0%, rgba(212,164,72,.22), transparent 28%),
    radial-gradient(circle at 92% 12%, rgba(255,255,255,.08), transparent 30%),
    linear-gradient(145deg, #003c31 0%, #002f28 58%, #00281f 100%);
  border-top: 1px solid rgba(212,164,72,.32);
}
.ikv2-footer-glow {
  position: absolute;
  inset: auto -12% -48% -12%;
  height: 240px;
  background: radial-gradient(circle, rgba(212,164,72,.22), transparent 66%);
  pointer-events: none;
}
.ikv2-footer-premium-grid {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(250px, 1.35fr) .75fr .85fr .9fr;
  gap: clamp(28px, 4vw, 58px);
  padding: 58px 0 38px;
  border-bottom: 1px solid rgba(255,255,255,.12);
}
.ikv2-footer-brand-block {
  display: grid;
  grid-template-columns: 70px 1fr;
  gap: 16px;
  align-items: center;
}
.ikv2-footer-brand-block .ikv2-footer-desc {
  grid-column: 1 / -1;
  max-width: 390px;
  margin-top: 8px;
}
.ikv2-footer-r24 .ikv2-footer-logo { width: 66px; filter: drop-shadow(0 12px 24px rgba(212,164,72,.2)); }
.ikv2-footer-r24 h3 {
  margin: 0;
  color: #fff;
  font-size: clamp(28px, 3vw, 38px);
  letter-spacing: .18em;
  font-weight: 500;
  line-height: 1;
}
.ikv2-footer-tagline {
  margin: 8px 0 0 !important;
  color: rgba(255,244,215,.86) !important;
  font-size: 12.5px !important;
  letter-spacing: .02em;
}
.ikv2-footer-r24 h4 {
  margin: 0 0 16px;
  color: #fff7df;
  font-size: 12.5px;
  letter-spacing: .13em;
  text-transform: uppercase;
  font-weight: 700;
}
.ikv2-footer-r24 p {
  color: rgba(255,255,255,.72);
  font-size: 13px;
  line-height: 1.8;
}
.ikv2-footer-col a {
  position: relative;
  display: table;
  margin: 9px 0;
  color: rgba(255,255,255,.78);
  font-size: 13.5px;
  text-decoration: none;
  transition: color .22s ease, transform .22s ease;
}
.ikv2-footer-col a::after {
  content: "";
  position: absolute;
  left: 0;
  right: 100%;
  bottom: -3px;
  height: 1px;
  background: linear-gradient(90deg, var(--ikv2-gold), transparent);
  transition: right .22s ease;
}
.ikv2-footer-col a:hover {
  color: #fff2cc;
  transform: translateX(3px);
}
.ikv2-footer-col a:hover::after { right: 0; }
.ikv2-footer-social-col p { margin: -2px 0 16px; max-width: 230px; }
.ikv2-footer-r24 .ikv2-social { gap: 10px; flex-wrap: wrap; }
.ikv2-footer-r24 .ikv2-social a {
  width: 40px;
  height: 40px;
  margin: 0;
  border-color: rgba(212,164,72,.52);
  background: rgba(255,255,255,.05);
  color: #fff4d8;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.08);
}
.ikv2-footer-r24 .ikv2-social a:hover {
  color: #002f28;
  background: linear-gradient(135deg, #f6d28a, #b77d21);
  transform: translateY(-2px);
}
.ikv2-footer-bottom-r24 {
  position: relative;
  z-index: 1;
  display: flex;
  justify-content: space-between;
  gap: 18px;
  padding: 20px 0 24px;
  color: rgba(255,255,255,.66);
  font-size: 12.5px;
}
.ikv2-current-version { display: none !important; }
@media (max-width: 980px) {
  .ikv2-footer-premium-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 640px) {
  .ikv2-footer-premium-grid { grid-template-columns: 1fr; padding: 44px 0 28px; }
  .ikv2-footer-bottom-r24 { flex-direction: column; text-align: center; }
}


/* Phase 1C-R25 — footer social icon polish */
.ikigai-home-v2 .ikv2-footer-r24 .ikv2-social,
.ikigai-home-v2 .ikv2-footer-r25 .ikv2-social {
  display: flex !important;
  align-items: center !important;
  flex-wrap: wrap !important;
  gap: 12px !important;
  margin: 14px 0 0 !important;
  padding: 0 !important;
}
.ikigai-home-v2 .ikv2-footer-r24 .ikv2-social a,
.ikigai-home-v2 .ikv2-footer-r25 .ikv2-social a,
.ikigai-home-v2 .ikv2-social-r25 a {
  width: 42px !important;
  height: 42px !important;
  min-width: 42px !important;
  min-height: 42px !important;
  margin: 0 !important;
  padding: 0 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 999px !important;
  border: 1px solid rgba(221, 176, 82, .58) !important;
  background: linear-gradient(145deg, rgba(255,255,255,.10), rgba(255,255,255,.035)) !important;
  color: #f7d889 !important;
  line-height: 1 !important;
  font-size: 0 !important;
  text-decoration: none !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.10), 0 10px 24px rgba(0, 0, 0, .12) !important;
  transition: transform .22s ease, background .22s ease, color .22s ease, border-color .22s ease, box-shadow .22s ease !important;
}
.ikigai-home-v2 .ikv2-social-r25 a svg {
  width: 19px;
  height: 19px;
  display: block;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.ikigai-home-v2 .ikv2-social-r25 a[aria-label="YouTube"] svg path:first-child,
.ikigai-home-v2 .ikv2-social-r25 a[aria-label="Telegram"] svg path:first-child,
.ikigai-home-v2 .ikv2-social-r25 a[aria-label="TikTok"] svg path {
  fill: currentColor;
  stroke: none;
}
.ikigai-home-v2 .ikv2-social-r25 a[aria-label="YouTube"] svg path:last-child,
.ikigai-home-v2 .ikv2-social-r25 a[aria-label="Telegram"] svg path:last-child {
  fill: #003f33;
  stroke: none;
}
.ikigai-home-v2 .ikv2-footer-r24 .ikv2-social a:hover,
.ikigai-home-v2 .ikv2-footer-r25 .ikv2-social a:hover,
.ikigai-home-v2 .ikv2-social-r25 a:hover {
  transform: translateY(-3px) !important;
  color: #003f33 !important;
  border-color: rgba(246, 210, 138, .92) !important;
  background: linear-gradient(135deg, #f8dea0, #c3892b) !important;
  box-shadow: 0 16px 34px rgba(181, 124, 34, .28) !important;
}
.ikigai-home-v2 .ikv2-footer-social-col h4 { margin-bottom: 12px; }
.ikigai-home-v2 .ikv2-footer-social-col p { margin: 0 0 12px; max-width: 250px; }
@media (max-width: 720px) {
  .ikigai-home-v2 .ikv2-footer-r24 .ikv2-social,
  .ikigai-home-v2 .ikv2-footer-r25 .ikv2-social { justify-content: flex-start !important; }
  .ikigai-home-v2 .ikv2-footer-r24 .ikv2-social a,
  .ikigai-home-v2 .ikv2-footer-r25 .ikv2-social a,
  .ikigai-home-v2 .ikv2-social-r25 a {
    width: 40px !important;
    height: 40px !important;
    min-width: 40px !important;
    min-height: 40px !important;
  }
}

/* Phase 1C-R26 — Premium public child pages / single pages */
.ikv2-public-page-v26 {
  background:
    radial-gradient(circle at 8% 10%, rgba(238, 211, 142, .22), transparent 30%),
    radial-gradient(circle at 92% 2%, rgba(16, 92, 73, .12), transparent 34%),
    #f8f3e7;
}
.ikv2-public-page-v26 .ikv2-inner-main { padding-top: 84px; overflow: hidden; }
.ikv2-preview-banner {
  background: linear-gradient(90deg, #fff6da, #ffffff);
  color: #8a621d;
  padding: 12px;
  text-align: center;
  font-weight: 700;
  border-bottom: 1px solid rgba(214,168,70,.22);
}
.ikv2-inner-hero-v26 {
  position: relative;
  padding: 78px 0 58px;
  overflow: hidden;
}
.ikv2-inner-hero-v26::before {
  content: "";
  position: absolute;
  inset: 14px 18px auto 18px;
  height: calc(100% - 28px);
  border-radius: 36px;
  background:
    linear-gradient(135deg, rgba(255,255,255,.88), rgba(249,239,213,.82)),
    radial-gradient(circle at 20% 18%, rgba(241, 204, 126, .26), transparent 32%),
    radial-gradient(circle at 90% 28%, rgba(0, 86, 68, .13), transparent 36%);
  border: 1px solid rgba(214, 168, 70, .18);
  box-shadow: 0 28px 80px rgba(24, 73, 58, .08);
}
.ikv2-inner-hero-grid-v26,
.ikv2-article-detail-head-v26 {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 330px;
  gap: 36px;
  align-items: end;
}
.ikv2-breadcrumb-v26 {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 7px 11px;
  border: 1px solid rgba(212,164,72,.26);
  border-radius: 999px;
  background: rgba(255,255,255,.74);
  color: rgba(0,63,51,.58);
  font-size: 12px;
  margin-bottom: 18px;
}
.ikv2-breadcrumb-v26 a { color: #0b5c49; font-weight: 650; text-decoration: none; }
.ikv2-kicker-v26 {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  color: #b9822d;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
  margin-bottom: 12px;
}
.ikv2-kicker-v26::before { content: ""; width: 24px; height: 1px; background: currentColor; opacity: .65; }
.ikv2-inner-hero-v26 h1 {
  max-width: 820px;
  margin: 0;
  font-size: clamp(34px, 4vw, 56px);
  line-height: 1.05;
  letter-spacing: -.045em;
  color: #073c32;
  font-weight: 650;
}
.ikv2-inner-hero-v26 p {
  max-width: 720px;
  margin: 18px 0 0;
  color: rgba(2, 49, 40, .72);
  font-size: 16px;
  line-height: 1.75;
  font-weight: 400;
}
.ikv2-hero-mini-card-v26 {
  padding: 24px;
  border-radius: 28px;
  background: linear-gradient(160deg, rgba(255,255,255,.82), rgba(248,238,212,.88));
  border: 1px solid rgba(214,168,70,.26);
  box-shadow: 0 18px 44px rgba(19,62,51,.08);
}
.ikv2-hero-mini-card-v26 span {
  display: inline-flex;
  padding: 6px 10px;
  border-radius: 999px;
  background: rgba(0,74,58,.08);
  color: #0d5e4c;
  font-size: 11px;
  font-weight: 700;
  margin-bottom: 14px;
}
.ikv2-hero-mini-card-v26 strong { display:block; color:#073c32; font-size:18px; line-height:1.35; font-weight:650; }
.ikv2-hero-mini-card-v26 small { display:block; color:rgba(2,49,40,.62); margin-top:8px; line-height:1.6; }
.ikv2-inner-content-v26 { padding: 22px 0 84px; }
.ikv2-inner-content-grid-v26,
.ikv2-article-content-wrap-v26 {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 320px;
  gap: 30px;
  align-items: start;
}
.ikv2-content-card-v26 {
  border-radius: 32px;
  background: rgba(255,255,255,.84);
  border: 1px solid rgba(214,168,70,.18);
  box-shadow: 0 24px 70px rgba(23, 73, 59, .08);
  padding: clamp(28px, 4vw, 48px);
}
.ikv2-prose-v26 {
  color: rgba(0, 47, 39, .76);
  font-size: 15.5px;
  line-height: 1.86;
  font-weight: 400;
}
.ikv2-prose-v26 h1,
.ikv2-prose-v26 h2,
.ikv2-prose-v26 h3,
.ikv2-prose-v26 h4 {
  color: #073c32;
  line-height: 1.2;
  letter-spacing: -.025em;
  font-weight: 650;
  margin: 1.6em 0 .7em;
}
.ikv2-prose-v26 h2 { font-size: clamp(24px, 2.4vw, 34px); }
.ikv2-prose-v26 h3 { font-size: clamp(20px, 2vw, 26px); }
.ikv2-prose-v26 p { margin: 0 0 1.05em; }
.ikv2-prose-v26 ul, .ikv2-prose-v26 ol { padding-left: 1.2em; margin: 0 0 1.1em; }
.ikv2-prose-v26 li { margin: .44em 0; }
.ikv2-prose-v26 a { color: #0b6f58; font-weight: 650; text-decoration-color: rgba(212,164,72,.6); }
.ikv2-prose-v26 img { max-width: 100%; border-radius: 24px; box-shadow: 0 18px 46px rgba(23,73,59,.10); }
.ikv2-side-card-v26 {
  position: sticky;
  top: 108px;
  padding: 24px;
  border-radius: 28px;
  background: linear-gradient(160deg, #073c32, #0b5948);
  color: #fff;
  box-shadow: 0 24px 70px rgba(0, 47, 39, .18);
  overflow: hidden;
}
.ikv2-side-card-v26::after {
  content: "";
  position: absolute;
  right: -30px;
  top: -40px;
  width: 150px;
  height: 150px;
  border-radius: 50%;
  background: rgba(241,204,126,.16);
}
.ikv2-side-card-v26 h3 { position: relative; margin: 0 0 16px; font-size: 18px; font-weight: 650; color: #fff; }
.ikv2-side-links-v26 { position: relative; display: grid; gap: 10px; }
.ikv2-side-links-v26 a {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 12px;
  border-radius: 16px;
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.10);
  color: rgba(255,255,255,.86);
  text-decoration: none;
  font-size: 13.5px;
  transition: transform .2s ease, background .2s ease, color .2s ease;
}
.ikv2-side-links-v26 a span { color: #f4cf7c; }
.ikv2-side-links-v26 a:hover { transform: translateX(3px); background: rgba(255,255,255,.13); color: #fff; }
.ikv2-side-cta-v26 { position: relative; margin-top: 20px; padding-top: 18px; border-top: 1px solid rgba(255,255,255,.12); }
.ikv2-side-cta-v26 strong { display:block; font-size:15px; margin-bottom:8px; }
.ikv2-side-cta-v26 p { margin:0 0 14px; font-size:12.8px; line-height:1.6; color:rgba(255,255,255,.66); }
.ikv2-side-cta-v26 a { display:inline-flex; color:#f4cf7c; font-size:13px; font-weight:700; text-decoration:none; }
.ikv2-category-pills-v26 {
  position: relative;
  z-index: 1;
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  margin-top: 28px;
}
.ikv2-category-pills-v26 a {
  display: inline-flex;
  align-items: center;
  padding: 9px 14px;
  border-radius: 999px;
  background: rgba(255,255,255,.76);
  border: 1px solid rgba(212,164,72,.24);
  color: rgba(0,63,51,.72);
  text-decoration: none;
  font-size: 13px;
  font-weight: 650;
}
.ikv2-category-pills-v26 a.is-active,
.ikv2-category-pills-v26 a:hover { background:#073c32; color:#f7d889; border-color:rgba(7,60,50,.3); }
.ikv2-article-list-section-v26 { padding: 38px 0 86px; }
.ikv2-article-grid-v26 {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
}
.ikv2-article-card-v26 a {
  display: block;
  height: 100%;
  border-radius: 30px;
  overflow: hidden;
  background: rgba(255,255,255,.86);
  border: 1px solid rgba(214,168,70,.18);
  box-shadow: 0 20px 58px rgba(22,71,57,.08);
  text-decoration: none;
  transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}
.ikv2-article-card-v26 a:hover { transform: translateY(-6px); box-shadow: 0 28px 72px rgba(22,71,57,.13); border-color:rgba(214,168,70,.34); }
.ikv2-article-image-v26 { height: 210px; background: linear-gradient(135deg, #f7ead0, #fffaf0); display:flex; align-items:center; justify-content:center; }
.ikv2-article-image-v26 img { width: 100%; height: 100%; object-fit: cover; display:block; }
.ikv2-article-fallback-v26 { display:grid; place-items:center; gap:8px; color:#b9822d; }
.ikv2-article-fallback-v26 span { font-size:38px; }
.ikv2-article-fallback-v26 strong { font-size:13px; letter-spacing:.18em; }
.ikv2-article-body-v26 { padding: 22px; }
.ikv2-article-body-v26 span { display:block; color:#b9822d; font-size:12px; font-weight:700; margin-bottom:10px; }
.ikv2-article-body-v26 h2 { color:#073c32; font-size:20px; line-height:1.3; margin:0 0 10px; font-weight:650; letter-spacing:-.02em; }
.ikv2-article-body-v26 p { color:rgba(0,47,39,.64); line-height:1.65; font-size:14px; margin:0 0 16px; }
.ikv2-article-body-v26 em { color:#0b6f58; font-style:normal; font-weight:700; font-size:13px; }
.ikv2-empty-state-v26 { padding: 42px; text-align:center; border-radius:28px; background:#fff; border:1px solid rgba(214,168,70,.2); color:rgba(0,47,39,.66); }
.ikv2-article-detail-head-v26 { grid-template-columns: minmax(0, 1fr) 390px; align-items:center; }
.ikv2-article-featured-v26 {
  padding: 10px;
  border-radius: 30px;
  background: rgba(255,255,255,.8);
  border: 1px solid rgba(214,168,70,.22);
  box-shadow: 0 22px 60px rgba(23,73,59,.10);
}
.ikv2-article-featured-v26 img { width:100%; height: 290px; object-fit: cover; border-radius: 23px; display:block; }
.ikv2-inner-cta { padding-top: 24px; }
.ikv2-public-page-v26 .ikv2-footer-r25 .ikv2-social a svg { width: 19px; height: 19px; }
@media (max-width: 1080px) {
  .ikv2-inner-hero-grid-v26,
  .ikv2-article-detail-head-v26,
  .ikv2-inner-content-grid-v26,
  .ikv2-article-content-wrap-v26 { grid-template-columns: 1fr; }
  .ikv2-side-card-v26 { position: relative; top: auto; }
  .ikv2-article-grid-v26 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 720px) {
  .ikv2-public-page-v26 .ikv2-inner-main { padding-top: 72px; }
  .ikv2-inner-hero-v26 { padding: 54px 0 36px; }
  .ikv2-inner-hero-v26::before { inset: 8px; border-radius: 26px; }
  .ikv2-inner-hero-v26 h1 { font-size: clamp(30px, 9vw, 42px); }
  .ikv2-inner-hero-v26 p { font-size: 14.5px; }
  .ikv2-content-card-v26 { border-radius: 24px; padding: 24px; }
  .ikv2-article-grid-v26 { grid-template-columns: 1fr; }
  .ikv2-article-image-v26 { height: 190px; }
  .ikv2-article-featured-v26 img { height: 220px; }
}


/* Phase 1C-R27: Dedicated public pages (CRM, Event, Testimonial, Achiever) */
.ikv2-dedicated-r27{background:linear-gradient(180deg,#fffaf0 0%,#fbf7ec 36%,#fff 100%)}
.ikv2-dedicated-hero-r27{position:relative;overflow:hidden;padding:142px 0 42px;background:radial-gradient(circle at 15% 18%,rgba(205,171,91,.28),transparent 34%),linear-gradient(135deg,#fffaf0 0%,#f8f2e4 46%,#fff 100%)}
.ikv2-dedicated-hero-r27:before{content:"";position:absolute;inset:auto -8% -44% -8%;height:58%;background:radial-gradient(circle,rgba(5,64,48,.11),transparent 62%);pointer-events:none}
.ikv2-dedicated-hero-grid-r27{position:relative;display:grid;grid-template-columns:minmax(0,1.35fr) minmax(290px,.65fr);gap:34px;align-items:stretch}.ikv2-dedicated-hero-copy-r27 h1{margin:16px 0 16px;color:#0b3f32;font-size:clamp(2.45rem,5vw,4.75rem);line-height:.96;letter-spacing:-.055em;max-width:900px}.ikv2-dedicated-hero-copy-r27 p{max-width:790px;color:#53665f;font-size:1.04rem;line-height:1.86}.ikv2-dedicated-hero-actions-r27{display:flex;gap:12px;flex-wrap:wrap;margin-top:25px}.ikv2-dedicated-hero-card-r27{padding:28px;border-radius:32px;background:linear-gradient(150deg,#0d4638,#082d25);box-shadow:0 24px 55px rgba(13,70,56,.22),inset 0 1px 0 rgba(255,255,255,.16);color:#fff;align-self:center;position:relative;overflow:hidden}.ikv2-dedicated-hero-card-r27:after{content:"";position:absolute;inset:auto -28px -42px auto;width:160px;height:160px;border-radius:999px;background:rgba(212,178,97,.28);filter:blur(8px)}.ikv2-dedicated-hero-card-r27>span{display:inline-flex;margin-bottom:18px;padding:8px 12px;border-radius:999px;background:rgba(255,255,255,.12);color:#f5d888;font-size:.72rem;text-transform:uppercase;letter-spacing:.16em;font-weight:800}.ikv2-dedicated-hero-card-r27 div{position:relative;z-index:1;display:flex;gap:11px;align-items:center;padding:13px 0;border-top:1px solid rgba(255,255,255,.14);color:rgba(255,255,255,.88);font-weight:700}.ikv2-dedicated-hero-card-r27 strong{display:grid;place-items:center;flex:0 0 28px;width:28px;height:28px;border-radius:50%;background:rgba(212,178,97,.16);color:#f5d888}.ikv2-dedicated-metrics-r27{position:relative;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:28px}.ikv2-dedicated-metrics-r27 div{padding:20px 18px;border-radius:24px;background:rgba(255,255,255,.82);border:1px solid rgba(203,171,91,.25);box-shadow:0 16px 36px rgba(43,34,16,.07);backdrop-filter:blur(12px)}.ikv2-dedicated-metrics-r27 strong{display:block;color:#0d4638;font-size:1.35rem;line-height:1}.ikv2-dedicated-metrics-r27 span{display:block;margin-top:7px;color:#6a756f;font-size:.86rem;line-height:1.45}.ikv2-dedicated-overview-r27,.ikv2-dedicated-pillars-r27,.ikv2-dedicated-process-r27,.ikv2-dedicated-deep-r27,.ikv2-dedicated-final-cta-r27{padding:72px 0}.ikv2-dedicated-overview-grid-r27{display:grid;grid-template-columns:minmax(280px,.72fr) minmax(0,1.28fr);gap:52px;align-items:start}.ikv2-dedicated-overview-grid-r27 h2,.ikv2-dedicated-section-head-r27 h2,.ikv2-dedicated-process-copy-r27 h2,.ikv2-dedicated-deep-card-r27 h2,.ikv2-dedicated-final-card-r27 h2{margin:12px 0 0;color:#103f33;font-size:clamp(2rem,3.8vw,3.35rem);line-height:1.04;letter-spacing:-.035em}.ikv2-dedicated-prose-r27{padding:34px;border-radius:32px;background:#fff;border:1px solid rgba(203,171,91,.23);box-shadow:0 22px 55px rgba(43,34,16,.08)}.ikv2-dedicated-prose-r27 p{margin:0;color:#53665f;line-height:1.9}.ikv2-dedicated-prose-r27 p+p{margin-top:18px}.ikv2-dedicated-section-head-r27{text-align:center;max-width:820px;margin:0 auto 32px}.ikv2-dedicated-section-head-r27 p{color:#64736e;line-height:1.75}.ikv2-dedicated-card-grid-r27{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.ikv2-dedicated-card-grid-r27 article{position:relative;overflow:hidden;padding:28px;border-radius:28px;background:linear-gradient(180deg,#fff,#fffaf0);border:1px solid rgba(203,171,91,.22);box-shadow:0 18px 42px rgba(43,34,16,.07);transition:transform .25s ease,box-shadow .25s ease}.ikv2-dedicated-card-grid-r27 article:hover{transform:translateY(-4px);box-shadow:0 26px 54px rgba(43,34,16,.11)}.ikv2-dedicated-icon-r27{display:grid;place-items:center;width:48px;height:48px;margin-bottom:18px;border-radius:17px;background:linear-gradient(135deg,#f5df9c,#c79b45);color:#0d3f32;font-weight:900;font-size:1.1rem}.ikv2-dedicated-card-grid-r27 h3{margin:0 0 10px;color:#103f33;font-size:1.08rem}.ikv2-dedicated-card-grid-r27 p{margin:0;color:#66736f;line-height:1.74;font-size:.95rem}.ikv2-dedicated-process-r27{background:linear-gradient(135deg,#0b3f32,#082d25);color:#fff}.ikv2-dedicated-process-grid-r27{display:grid;grid-template-columns:minmax(280px,.68fr) minmax(0,1.32fr);gap:44px;align-items:start}.ikv2-dedicated-process-copy-r27 .ikv2-kicker-v26{color:#f2d078;background:rgba(255,255,255,.09);border-color:rgba(245,216,136,.25)}.ikv2-dedicated-process-copy-r27 h2{color:#fff}.ikv2-dedicated-process-copy-r27 p{color:rgba(255,255,255,.72);line-height:1.8}.ikv2-dedicated-steps-r27{display:grid;gap:14px}.ikv2-dedicated-steps-r27 article{display:grid;grid-template-columns:58px 1fr;gap:18px;padding:20px;border-radius:24px;background:rgba(255,255,255,.075);border:1px solid rgba(255,255,255,.12)}.ikv2-dedicated-steps-r27 strong{display:grid;place-items:center;width:50px;height:50px;border-radius:18px;background:#f3d781;color:#0b3f32;font-size:1rem}.ikv2-dedicated-steps-r27 h3{margin:0 0 6px;color:#fff}.ikv2-dedicated-steps-r27 p{margin:0;color:rgba(255,255,255,.72);line-height:1.65}.ikv2-dedicated-deep-card-r27{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,.8fr);gap:36px;padding:36px;border-radius:34px;background:linear-gradient(135deg,#fff,#fff8e8);border:1px solid rgba(203,171,91,.28);box-shadow:0 24px 64px rgba(43,34,16,.08)}.ikv2-dedicated-deep-card-r27 p{color:#60716b;line-height:1.86}.ikv2-dedicated-deep-card-r27 ul{list-style:none;margin:0;padding:0;display:grid;gap:12px}.ikv2-dedicated-deep-card-r27 li{position:relative;padding:15px 16px 15px 43px;border-radius:18px;background:#fff;border:1px solid rgba(203,171,91,.18);color:#51635d;line-height:1.55}.ikv2-dedicated-deep-card-r27 li:before{content:"✓";position:absolute;left:15px;top:14px;color:#b78b33;font-weight:900}.ikv2-dedicated-final-cta-r27{padding-top:20px}.ikv2-dedicated-final-card-r27{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:34px;border-radius:34px;background:linear-gradient(135deg,#0d4638,#0a342b);color:#fff;box-shadow:0 28px 70px rgba(13,70,56,.2)}.ikv2-dedicated-final-card-r27 span{color:#f4d780;text-transform:uppercase;letter-spacing:.16em;font-weight:900;font-size:.75rem}.ikv2-dedicated-final-card-r27 h2{color:#fff;margin:8px 0}.ikv2-dedicated-final-card-r27 p{margin:0;color:rgba(255,255,255,.72);max-width:680px;line-height:1.7}
@media (max-width:980px){.ikv2-dedicated-hero-grid-r27,.ikv2-dedicated-overview-grid-r27,.ikv2-dedicated-process-grid-r27,.ikv2-dedicated-deep-card-r27{grid-template-columns:1fr}.ikv2-dedicated-metrics-r27,.ikv2-dedicated-card-grid-r27{grid-template-columns:repeat(2,minmax(0,1fr))}.ikv2-dedicated-hero-r27{padding-top:120px}.ikv2-dedicated-final-card-r27{align-items:flex-start;flex-direction:column}}
@media (max-width:640px){.ikv2-dedicated-metrics-r27,.ikv2-dedicated-card-grid-r27{grid-template-columns:1fr}.ikv2-dedicated-hero-copy-r27 h1{font-size:2.25rem}.ikv2-dedicated-hero-r27{padding-top:108px}.ikv2-dedicated-overview-r27,.ikv2-dedicated-pillars-r27,.ikv2-dedicated-process-r27,.ikv2-dedicated-deep-r27,.ikv2-dedicated-final-cta-r27{padding:48px 0}.ikv2-dedicated-prose-r27,.ikv2-dedicated-deep-card-r27,.ikv2-dedicated-final-card-r27{padding:24px}.ikv2-dedicated-steps-r27 article{grid-template-columns:1fr}.ikv2-dedicated-steps-r27 strong{width:44px;height:44px}}


/* Phase 1C-R28: apply official IKIGAI gold logo to V2 public templates */
.ikv2-brand-mark,
.ikv2-submenu-intro img,
.ikv2-btn img,
.ikv2-cta-inner > img,
.ikv2-footer-logo {
  object-fit: contain !important;
  background: transparent !important;
  border-radius: 0 !important;
}

.ikv2-brand-mark {
  width: 64px !important;
  height: 64px !important;
  filter: drop-shadow(0 10px 18px rgba(185, 122, 22, .15));
}

.ikv2-brand {
  gap: 13px;
}

.ikv2-submenu-intro img {
  width: 56px !important;
  height: 56px !important;
  margin-bottom: 12px !important;
  filter: drop-shadow(0 10px 18px rgba(185, 122, 22, .14));
}

.ikv2-btn img {
  width: 28px !important;
  height: 28px !important;
  filter: drop-shadow(0 6px 10px rgba(0, 0, 0, .12));
}

.ikv2-cta-inner > img {
  width: 92px !important;
  max-height: 92px;
  filter: drop-shadow(0 16px 30px rgba(185, 122, 22, .18));
}

.ikv2-footer-r24 .ikv2-footer-logo,
.ikv2-footer-logo {
  width: 88px !important;
  max-height: 88px;
  filter: drop-shadow(0 18px 34px rgba(212,164,72,.25)) !important;
}

.ikv2-footer-brand-block > div {
  align-self: center;
}

@media (max-width: 980px) {
  .ikv2-brand-mark {
    width: 54px !important;
    height: 54px !important;
  }
  .ikv2-footer-r24 .ikv2-footer-logo,
  .ikv2-footer-logo {
    width: 76px !important;
    max-height: 76px;
  }
  .ikv2-cta-inner > img {
    width: 76px !important;
    max-height: 76px;
  }
}

@media (max-width: 640px) {
  .ikv2-brand-mark {
    width: 48px !important;
    height: 48px !important;
  }
  .ikv2-brand {
    min-width: 0;
  }
  .ikv2-brand strong {
    font-size: 26px;
    letter-spacing: .18em;
  }
}


/* =========================================================
   Phase 1D-R30: Final public site cleanup + mobile view polish
   Scope: Home V2, dedicated pages, child pages, article pages
   Palette preserved: white / emerald / gold.
   ========================================================= */
.ikigai-home-v2.ikv2-phase1d-r30 {
  -webkit-text-size-adjust: 100%;
  text-rendering: optimizeLegibility;
}
.ikv2-skip-link {
  position: fixed;
  left: 16px;
  top: 12px;
  z-index: 9999;
  transform: translateY(-160%);
  padding: 10px 14px;
  border-radius: 999px;
  background: #003f33;
  color: #fff;
  box-shadow: 0 12px 30px rgba(0,63,51,.18);
  transition: transform .18s ease;
}
.ikv2-skip-link:focus { transform: translateY(0); outline: 2px solid #f1c66a; outline-offset: 2px; }
.ikigai-home-v2 .ikv2-header {
  isolation: isolate;
}
.ikigai-home-v2 .ikv2-menu a,
.ikigai-home-v2 .ikv2-nav-link,
.ikigai-home-v2 .ikv2-login,
.ikigai-home-v2 .ikv2-btn,
.ikigai-home-v2 button {
  -webkit-tap-highlight-color: rgba(217,154,40,.16);
}
.ikigai-home-v2 .ikv2-menu a:focus-visible,
.ikigai-home-v2 .ikv2-nav-link:focus-visible,
.ikigai-home-v2 .ikv2-login:focus-visible,
.ikigai-home-v2 .ikv2-btn:focus-visible,
.ikigai-home-v2 .ikv2-lang a:focus-visible,
.ikigai-home-v2 .ikv2-mobile-toggle:focus-visible,
.ikigai-home-v2 .ikv2-social a:focus-visible {
  outline: 2px solid #d99a28;
  outline-offset: 3px;
}

/* Tablet navigation: keep premium desktop feel, reduce crowding. */
@media (max-width: 1180px) {
  .ikv2-container { width: min(1120px, calc(100% - 40px)); }
  .ikv2-nav-wrap { gap: 14px; }
  .ikv2-brand { min-width: 205px; }
  .ikv2-brand small { font-size: 10px; }
  .ikv2-menu { gap: 4px; }
  .ikv2-menu a,
  .ikv2-nav-link { padding-inline: 10px; font-size: 13px; }
  .ikv2-login { padding-inline: 14px; }
}

/* Main mobile navigation shell. */
@media (max-width: 920px) {
  body.ikigai-home-v2.menu-open { overflow: hidden; }
  .ikv2-header { background: rgba(255,250,243,.96); }
  .ikv2-nav-wrap {
    min-height: 72px;
    gap: 8px;
    position: relative;
  }
  .ikv2-brand {
    flex: 1 1 auto;
    min-width: 0;
    gap: 9px;
  }
  .ikv2-brand-mark { width: 48px !important; height: 48px !important; }
  .ikv2-brand strong {
    font-size: clamp(20px, 5.8vw, 27px) !important;
    letter-spacing: .16em !important;
  }
  .ikv2-brand small { display: none !important; }
  .ikv2-actions {
    margin-left: auto;
    gap: 7px;
    flex: 0 0 auto;
  }
  .ikv2-login {
    min-height: 38px;
    padding: 0 12px;
    border-radius: 999px;
    font-size: 0;
  }
  .ikv2-login::after {
    content: "Login";
    font-size: 11px;
    letter-spacing: .06em;
  }
  .ikv2-lang { padding: 2px; border-radius: 999px; }
  .ikv2-lang a {
    min-width: 30px;
    width: 30px;
    height: 30px;
    border-radius: 999px;
    font-size: 11px;
  }
  .ikv2-mobile-toggle {
    display: inline-grid !important;
    place-items: center;
    flex: 0 0 auto;
    width: 40px;
    height: 40px;
    padding: 8px;
    border-radius: 999px;
    box-shadow: 0 10px 24px rgba(38,24,4,.07);
  }
  .ikv2-mobile-toggle span { width: 19px; margin: 2.5px 0; }
  .ikv2-mobile-toggle.is-open span:nth-child(1) { transform: translateY(5px) rotate(45deg); }
  .ikv2-mobile-toggle.is-open span:nth-child(3) { transform: translateY(-5px) rotate(-45deg); }
  .ikv2-menu {
    position: absolute !important;
    left: 0 !important;
    right: 0 !important;
    top: calc(100% + 10px) !important;
    display: none;
    max-height: calc(100dvh - 92px) !important;
    overflow: auto;
    -webkit-overflow-scrolling: touch;
    padding: 14px;
    border-radius: 24px;
    border: 1px solid rgba(217,154,40,.2);
    background: linear-gradient(180deg, rgba(255,255,255,.98), rgba(255,248,236,.98));
    box-shadow: 0 28px 78px rgba(31,20,5,.16);
  }
  .ikv2-menu.is-open { display: flex !important; }
  .ikv2-menu a,
  .ikv2-menu .ikv2-nav-link {
    min-height: 46px;
    display: flex;
    align-items: center;
    border-radius: 16px;
    padding: 12px 14px !important;
    font-size: 14px;
    background: rgba(255,255,255,.66);
    border: 1px solid rgba(217,154,40,.10);
  }
  .ikv2-menu a::after,
  .ikv2-nav-link::after { display: none !important; }
  .ikv2-nav-item { width: 100%; }
  .ikv2-submenu {
    margin-top: 8px;
    border-radius: 18px;
  }
  .ikv2-submenu-premium {
    border-radius: 18px !important;
    border: 1px solid rgba(217,154,40,.16);
    background: rgba(255,252,246,.96) !important;
  }
  .ikv2-submenu-links {
    padding: 8px !important;
    gap: 6px !important;
  }
  .ikv2-submenu-links a {
    min-height: 44px !important;
    grid-template-columns: 32px 1fr !important;
  }
}

/* Mobile layout refinements across homepage sections. */
@media (max-width: 760px) {
  .ikv2-container { width: calc(100% - 30px); }
  .ikv2-hero-slider,
  .ikv2-hero-stage,
  .ikv2-hero-slide,
  .ikv2-hero-slider .ikv2-hero-grid {
    min-height: auto !important;
  }
  .ikv2-hero-slide { padding: 26px 0 82px; }
  .ikv2-hero-slider .ikv2-hero-copy {
    padding-top: 24px !important;
    max-width: 100%;
  }
  .ikv2-eyebrow { font-size: 15px; margin-bottom: 8px; }
  .ikv2-hero-slider h1,
  .ikv2-hero h1 {
    font-size: clamp(38px, 14vw, 58px) !important;
    line-height: .95 !important;
    letter-spacing: -.045em;
    max-width: 96%;
  }
  .ikv2-hero-slider h2,
  .ikv2-hero h2 {
    font-size: clamp(21px, 7.3vw, 30px) !important;
    line-height: 1.08 !important;
    margin: 12px 0 11px;
  }
  .ikv2-lead,
  .ikv2-hero-slider .ikv2-lead {
    font-size: 13.8px !important;
    line-height: 1.74 !important;
    max-width: 94%;
  }
  .ikv2-hero-cta {
    display: grid;
    grid-template-columns: 1fr;
    width: 100%;
    gap: 10px;
  }
  .ikv2-hero-cta .ikv2-btn {
    width: 100%;
    min-height: 48px;
    padding: 12px 16px;
    border-radius: 14px;
  }
  .ikv2-mini-proof { font-size: 12px; line-height: 1.55; margin-top: 14px; }
  .ikv2-hero-slider .ikv2-hero-art {
    position: relative !important;
    inset: auto !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    margin-top: 20px;
    border-radius: 24px;
    overflow: hidden;
  }
  .ikv2-hero-photo img {
    height: 260px;
    object-fit: cover;
    object-position: center;
    -webkit-mask-image: none !important;
    mask-image: none !important;
    border-radius: 24px;
  }
  .ikv2-hero-controls {
    bottom: 22px !important;
    padding: 6px 9px;
  }

  .ikv2-value-strip,
  .ikv2-events-r20,
  .ikv2-achievers-r21,
  .ikv2-media-r22,
  .ikv2-cta {
    padding-top: 42px;
    padding-bottom: 42px;
  }
  .ikv2-value-intro h2,
  .ikv2-section-title { font-size: clamp(24px, 8vw, 34px); }
  .ikv2-value-card,
  .ikv2-value-premium-grid {
    grid-template-columns: 1fr !important;
    border-radius: 24px;
  }
  .ikv2-value-card article {
    min-height: auto;
    padding: 22px;
    border-right: 0;
    border-bottom: 1px solid rgba(217,154,40,.12);
  }
  .ikv2-value-card article:last-child { border-bottom: 0; }

  .ikv2-event-grid-r20 {
    gap: 0 !important;
    border-radius: 24px;
    overflow: hidden;
  }
  .ikv2-zoom-panel-r20,
  .ikv2-event-photo-r20,
  .ikv2-benefit-panel-r20 {
    border-radius: 0 !important;
  }
  .ikv2-event-photo-r20 img { height: 190px !important; }
  .ikv2-benefit-panel-r20 .ikv2-benefit-copy h2 {
    max-width: 100%;
    font-size: 17px;
  }
  .ikv2-benefit-panel-r20 .ikv2-benefit-copy li { font-size: 12.5px; }

  .ikv2-achievers-r21 .ikv2-container { width: 100%; }
  .ikv2-achiever-head { padding-inline: 16px; }
  .ikv2-achiever-track {
    padding: 6px 15px 14px !important;
    scroll-padding-inline: 15px;
    gap: 14px !important;
  }
  .ikv2-achiever-card {
    flex: 0 0 176px !important;
  }
  .ikv2-carousel-btn.prev { left: 8px !important; }
  .ikv2-carousel-btn.next { right: 8px !important; }

  .ikv2-media-grid-r22 { gap: 16px !important; }
  .ikv2-video-card-r22,
  .ikv2-testimonial-card-r22 {
    border-radius: 24px !important;
    padding: 20px !important;
  }
  .ikv2-video-cover-r22 { border-radius: 20px !important; }
  .ikv2-testimonial-head-r22 {
    gap: 14px;
    align-items: flex-start !important;
  }
  .ikv2-testimonial-slide-r22 { padding: 4px 2px; }

  .ikv2-cta-inner {
    display: grid !important;
    grid-template-columns: 1fr !important;
    text-align: center;
    justify-items: center;
    gap: 16px;
    border-radius: 26px;
    padding: 28px 20px !important;
  }
  .ikv2-cta-inner h2 { font-size: clamp(24px, 8vw, 34px); }
  .ikv2-cta-inner .ikv2-btn { width: 100%; }

  .ikv2-footer-premium-grid {
    gap: 28px !important;
  }
  .ikv2-footer-brand-block {
    grid-template-columns: 66px 1fr !important;
    gap: 12px !important;
  }
  .ikv2-footer-r24 h3 { font-size: 28px !important; }
  .ikv2-footer-r24 .ikv2-social { justify-content: flex-start; }
}

/* Small phones: preserve breathing room and prevent horizontal overflow. */
@media (max-width: 420px) {
  .ikv2-container { width: calc(100% - 24px); }
  .ikv2-nav-wrap { min-height: 68px; }
  .ikv2-brand-mark { width: 42px !important; height: 42px !important; }
  .ikv2-brand strong { font-size: 20px !important; letter-spacing: .13em !important; }
  .ikv2-login { display: none !important; }
  .ikv2-lang a { width: 28px; min-width: 28px; height: 28px; }
  .ikv2-hero-slider h1,
  .ikv2-hero h1 { font-size: clamp(34px, 15vw, 48px) !important; }
  .ikv2-hero-photo img { height: 230px; }
  .ikv2-panel-heading { display: block !important; }
  .ikv2-panel-heading a { display: inline-block; margin-top: 8px; }
  .ikv2-event-row-r20 { grid-template-columns: 58px 1fr !important; }
  .ikv2-event-row-r20 .ikv2-date { width: 58px; min-height: 58px; }
  .ikv2-footer-bottom-r24 { padding-bottom: 18px; }
}

/* Inner / dedicated pages mobile polish. */
@media (max-width: 760px) {
  .ikv2-public-page-v26 .ikv2-inner-main { padding-top: 68px !important; }
  .ikv2-inner-hero-v26,
  .ikv2-dedicated-hero-r27 {
    padding-top: 96px !important;
    padding-bottom: 34px !important;
  }
  .ikv2-inner-hero-v26 h1,
  .ikv2-dedicated-hero-copy-r27 h1 {
    font-size: clamp(32px, 11vw, 46px) !important;
    line-height: 1.02 !important;
  }
  .ikv2-inner-hero-v26 p,
  .ikv2-dedicated-hero-copy-r27 p {
    font-size: 14px !important;
    line-height: 1.78 !important;
  }
  .ikv2-dedicated-hero-grid-r27,
  .ikv2-dedicated-overview-grid-r27,
  .ikv2-dedicated-process-grid-r27,
  .ikv2-dedicated-deep-card-r27 {
    gap: 22px !important;
  }
  .ikv2-dedicated-hero-card-r27,
  .ikv2-dedicated-prose-r27,
  .ikv2-dedicated-deep-card-r27,
  .ikv2-dedicated-final-card-r27,
  .ikv2-content-card-v26 {
    border-radius: 24px !important;
    padding: 22px !important;
  }
  .ikv2-dedicated-metrics-r27,
  .ikv2-dedicated-card-grid-r27,
  .ikv2-article-grid-v26 {
    grid-template-columns: 1fr !important;
    gap: 14px !important;
  }
  .ikv2-dedicated-overview-r27,
  .ikv2-dedicated-pillars-r27,
  .ikv2-dedicated-process-r27,
  .ikv2-dedicated-deep-r27,
  .ikv2-dedicated-final-cta-r27,
  .ikv2-inner-section-v26 {
    padding-top: 42px !important;
    padding-bottom: 42px !important;
  }
  .ikv2-dedicated-section-head-r27 h2,
  .ikv2-dedicated-process-copy-r27 h2,
  .ikv2-dedicated-deep-card-r27 h2,
  .ikv2-dedicated-final-card-r27 h2 {
    font-size: clamp(25px, 8.5vw, 36px) !important;
  }
  .ikv2-dedicated-final-card-r27 .ikv2-btn,
  .ikv2-inner-cta .ikv2-btn {
    width: 100%;
  }
}

/* Final visual consistency for touch devices. */
@media (hover: none) {
  .ikigai-home-v2 .ikv2-btn:hover,
  .ikigai-home-v2 .ikv2-value-card article:hover,
  .ikigai-home-v2 .ikv2-dedicated-card-grid-r27 article:hover,
  .ikigai-home-v2 .ikv2-social a:hover {
    transform: none !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .ikigai-home-v2 *,
  .ikigai-home-v2 *::before,
  .ikigai-home-v2 *::after {
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    scroll-behavior: auto !important;
    transition-duration: .01ms !important;
  }
}


/* ======================================================================
   Phase 1D-R31: Mobile Typography Reduction
   Purpose: reduce jumbo title/subtitle/header text on mobile without
   changing the established White / Gold / Emerald color palette.
   ====================================================================== */

@media (max-width: 760px) {
  html { font-size: 15px; }
  .ikigai-home-v2 { overflow-x: hidden; }

  /* Header / navigation */
  .ikv2-header .ikv2-nav-wrap {
    min-height: 66px !important;
    gap: 8px !important;
  }
  .ikv2-brand {
    gap: 9px !important;
    min-width: 0 !important;
  }
  .ikv2-brand-mark {
    width: 40px !important;
    height: 40px !important;
  }
  .ikv2-brand strong {
    font-size: 17px !important;
    line-height: 1 !important;
    letter-spacing: .13em !important;
  }
  .ikv2-brand small {
    font-size: 8.5px !important;
    line-height: 1.25 !important;
    letter-spacing: .04em !important;
    max-width: 150px !important;
    white-space: normal !important;
  }
  .ikv2-mobile-toggle {
    width: 40px !important;
    height: 40px !important;
  }
  .ikv2-login {
    font-size: 11px !important;
    padding: 9px 10px !important;
  }
  .ikv2-lang a {
    font-size: 10.5px !important;
    width: 28px !important;
    min-width: 28px !important;
    height: 28px !important;
  }
  .ikv2-menu a,
  .ikv2-nav-link,
  .ikv2-submenu a {
    font-size: 13px !important;
    line-height: 1.35 !important;
  }
  .ikv2-submenu-intro strong { font-size: 14px !important; }
  .ikv2-submenu-intro small { font-size: 12px !important; line-height: 1.45 !important; }

  /* Homepage hero */
  .ikv2-hero,
  .ikv2-hero-slider {
    min-height: auto !important;
  }
  .ikv2-hero-grid {
    padding-top: 104px !important;
    padding-bottom: 54px !important;
  }
  .ikv2-eyebrow {
    font-size: 10px !important;
    letter-spacing: .18em !important;
    margin-bottom: 10px !important;
  }
  .ikv2-hero-slider h1,
  .ikv2-hero h1 {
    font-size: clamp(27px, 8.3vw, 34px) !important;
    line-height: 1.08 !important;
    letter-spacing: -0.03em !important;
    margin-bottom: 10px !important;
  }
  .ikv2-hero-slider h2,
  .ikv2-hero h2 {
    font-size: clamp(15px, 4.6vw, 18px) !important;
    line-height: 1.4 !important;
    margin-bottom: 12px !important;
    letter-spacing: -0.01em !important;
  }
  .ikv2-lead,
  .ikv2-hero p.ikv2-lead {
    font-size: 13.25px !important;
    line-height: 1.7 !important;
    max-width: 100% !important;
  }
  .ikv2-hero-cta { gap: 10px !important; margin-top: 20px !important; }
  .ikv2-hero-cta .ikv2-btn,
  .ikv2-btn {
    font-size: 12.5px !important;
    line-height: 1.2 !important;
  }
  .ikv2-mini-proof {
    font-size: 11.5px !important;
    line-height: 1.5 !important;
  }

  /* Global section title/subtitle reduction */
  .ikv2-value-intro span,
  .ikv2-media-heading span,
  .ikv2-testimonial-head-r22 span,
  .ikv2-dedicated-section-head-r27 span,
  .ikv2-inner-eyebrow-v26,
  .ikv2-dedicated-eyebrow-r27 {
    font-size: 10.5px !important;
    letter-spacing: .15em !important;
  }
  .ikv2-value-intro h2,
  .ikv2-section-title,
  .ikv2-media-heading h2,
  .ikv2-testimonial-head-r22 h2,
  .ikv2-panel-heading h2 {
    font-size: clamp(21px, 6.6vw, 27px) !important;
    line-height: 1.18 !important;
    letter-spacing: -0.025em !important;
  }
  .ikv2-value-intro p,
  .ikv2-media-heading p,
  .ikv2-footer-desc,
  .ikv2-footer-r24 p {
    font-size: 13px !important;
    line-height: 1.65 !important;
  }
  .ikv2-value-item h3,
  .ikv2-dedicated-card-grid-r27 h3,
  .ikv2-dedicated-steps-r27 h3,
  .ikv2-dedicated-hero-card-r27 h3 {
    font-size: 16px !important;
    line-height: 1.25 !important;
  }
  .ikv2-value-item p,
  .ikv2-dedicated-card-grid-r27 p,
  .ikv2-dedicated-steps-r27 p,
  .ikv2-dedicated-hero-card-r27 p {
    font-size: 12.75px !important;
    line-height: 1.65 !important;
  }

  /* Event Zoom */
  .ikv2-panel-heading a { font-size: 12px !important; }
  .ikv2-event-text h3 {
    font-size: 15px !important;
    line-height: 1.25 !important;
  }
  .ikv2-event-text p {
    font-size: 12px !important;
    line-height: 1.45 !important;
  }
  .ikv2-date strong { font-size: 22px !important; }
  .ikv2-date span { font-size: 8.5px !important; }
  .ikv2-join { font-size: 11.5px !important; padding: 9px 13px !important; }
  .ikv2-benefit-panel-r20 .ikv2-benefit-copy h2,
  .ikv2-benefit-copy h2 {
    font-size: 16px !important;
    line-height: 1.35 !important;
  }
  .ikv2-benefit-copy li,
  .ikv2-benefit-panel-r20 .ikv2-benefit-copy li {
    font-size: 12px !important;
    line-height: 1.45 !important;
  }

  /* Achiever + testimonial */
  .ikv2-achiever-head .ikv2-section-title {
    font-size: clamp(20px, 6vw, 24px) !important;
    letter-spacing: .02em !important;
  }
  .ikv2-achiever-card span {
    font-size: 9.5px !important;
    letter-spacing: .12em !important;
  }
  .ikv2-achiever-card h3 {
    font-size: 15px !important;
    line-height: 1.2 !important;
  }
  .ikv2-achiever-card p {
    font-size: 11.5px !important;
    line-height: 1.4 !important;
  }
  .ikv2-testimonial-slide-r22 p {
    font-size: 13px !important;
    line-height: 1.75 !important;
  }
  .ikv2-testimonial-author strong { font-size: 13.5px !important; }
  .ikv2-testimonial-author small { font-size: 11px !important; }

  /* CTA + footer */
  .ikv2-cta-inner h2 {
    font-size: clamp(22px, 6.8vw, 28px) !important;
    line-height: 1.18 !important;
  }
  .ikv2-cta-inner p {
    font-size: 13px !important;
    line-height: 1.65 !important;
  }
  .ikv2-footer-r24 h3 {
    font-size: 23px !important;
    line-height: 1.05 !important;
  }
  .ikv2-footer-r24 h4 {
    font-size: 12.5px !important;
    letter-spacing: .14em !important;
  }
  .ikv2-footer-r24 a,
  .ikv2-footer-bottom-r24 span {
    font-size: 12px !important;
    line-height: 1.55 !important;
  }

  /* Inner / CMS / dedicated pages */
  .ikv2-inner-hero-v26 h1,
  .ikv2-dedicated-hero-copy-r27 h1 {
    font-size: clamp(27px, 8vw, 34px) !important;
    line-height: 1.1 !important;
    letter-spacing: -0.035em !important;
  }
  .ikv2-inner-hero-v26 p,
  .ikv2-dedicated-hero-copy-r27 p,
  .ikv2-inner-lead-v26 {
    font-size: 13.25px !important;
    line-height: 1.72 !important;
  }
  .ikv2-dedicated-section-head-r27 h2,
  .ikv2-dedicated-process-copy-r27 h2,
  .ikv2-dedicated-deep-card-r27 h2,
  .ikv2-dedicated-final-card-r27 h2,
  .ikv2-inner-section-v26 h2,
  .ikv2-content-card-v26 h2,
  .ikv2-article-card-v26 h2,
  .ikv2-article-detail-v26 h2 {
    font-size: clamp(21px, 6.5vw, 28px) !important;
    line-height: 1.2 !important;
    letter-spacing: -0.025em !important;
  }
  .ikv2-dedicated-section-head-r27 p,
  .ikv2-dedicated-process-copy-r27 p,
  .ikv2-dedicated-prose-r27 p,
  .ikv2-dedicated-deep-card-r27 p,
  .ikv2-content-card-v26 p,
  .ikv2-article-card-v26 p,
  .ikv2-article-detail-v26 p,
  .ikv2-content-card-v26 li,
  .ikv2-article-detail-v26 li {
    font-size: 13px !important;
    line-height: 1.75 !important;
  }
  .ikv2-dedicated-metric-r27 strong {
    font-size: 24px !important;
    line-height: 1.1 !important;
  }
  .ikv2-dedicated-metric-r27 span {
    font-size: 11px !important;
    line-height: 1.45 !important;
  }
}

@media (max-width: 480px) {
  .ikv2-container { width: calc(100% - 28px) !important; }
  .ikv2-brand-mark { width: 36px !important; height: 36px !important; }
  .ikv2-brand strong { font-size: 15.5px !important; letter-spacing: .11em !important; }
  .ikv2-brand small { display: none !important; }
  .ikv2-nav-wrap { min-height: 62px !important; }
  .ikv2-hero-grid { padding-top: 92px !important; padding-bottom: 46px !important; }
  .ikv2-hero-slider h1,
  .ikv2-hero h1,
  .ikv2-inner-hero-v26 h1,
  .ikv2-dedicated-hero-copy-r27 h1 {
    font-size: clamp(25px, 8.4vw, 31px) !important;
    line-height: 1.12 !important;
  }
  .ikv2-hero-slider h2,
  .ikv2-hero h2 {
    font-size: 14.5px !important;
    line-height: 1.38 !important;
  }
  .ikv2-lead,
  .ikv2-inner-hero-v26 p,
  .ikv2-dedicated-hero-copy-r27 p {
    font-size: 12.75px !important;
    line-height: 1.68 !important;
  }
  .ikv2-value-intro h2,
  .ikv2-section-title,
  .ikv2-media-heading h2,
  .ikv2-testimonial-head-r22 h2,
  .ikv2-panel-heading h2,
  .ikv2-dedicated-section-head-r27 h2,
  .ikv2-dedicated-process-copy-r27 h2,
  .ikv2-dedicated-deep-card-r27 h2,
  .ikv2-dedicated-final-card-r27 h2 {
    font-size: clamp(20px, 6.8vw, 25px) !important;
    line-height: 1.22 !important;
  }
  .ikv2-hero-photo img { height: 218px !important; }
  .ikv2-video-card-r22,
  .ikv2-testimonial-card-r22,
  .ikv2-dedicated-prose-r27,
  .ikv2-dedicated-deep-card-r27,
  .ikv2-dedicated-final-card-r27,
  .ikv2-content-card-v26 {
    padding: 18px !important;
  }
}

@media (max-width: 390px) {
  .ikv2-hero-slider h1,
  .ikv2-hero h1,
  .ikv2-inner-hero-v26 h1,
  .ikv2-dedicated-hero-copy-r27 h1 {
    font-size: 24px !important;
  }
  .ikv2-value-intro h2,
  .ikv2-section-title,
  .ikv2-media-heading h2,
  .ikv2-testimonial-head-r22 h2,
  .ikv2-panel-heading h2,
  .ikv2-dedicated-section-head-r27 h2,
  .ikv2-dedicated-process-copy-r27 h2,
  .ikv2-dedicated-deep-card-r27 h2,
  .ikv2-dedicated-final-card-r27 h2 {
    font-size: 20px !important;
  }
  .ikv2-btn { font-size: 12px !important; }
}


/* Phase 1D R32 - FAQ, Contact, and Public Content Manager polish */
.ikv2-faq-page-r32 .ikv2-dedicated-card-grid-r27 article,
.ikv2-contact-page-r32 .ikv2-dedicated-card-grid-r27 article { min-height: 0; }
.ikv2-faq-grid-r32{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:28px;align-items:start}.ikv2-faq-list-r32{display:grid;gap:14px}.ikv2-faq-item-r32{border:1px solid rgba(203,161,78,.22);background:rgba(255,255,255,.92);box-shadow:0 18px 45px rgba(5,39,32,.06);border-radius:22px;overflow:hidden}.ikv2-faq-item-r32 summary{cursor:pointer;list-style:none;padding:20px 22px;font-weight:900;color:#143f35;display:flex;align-items:center;justify-content:space-between;gap:16px}.ikv2-faq-item-r32 summary::-webkit-details-marker{display:none}.ikv2-faq-item-r32 summary:after{content:'+';width:30px;height:30px;border-radius:999px;display:grid;place-items:center;background:linear-gradient(135deg,#f7e7b1,#b9852f);color:#10382e;flex:0 0 auto}.ikv2-faq-item-r32[open] summary:after{content:'−'}.ikv2-faq-item-r32 p{padding:0 22px 22px;margin:0;color:#5f706b;line-height:1.8}.ikv2-faq-side-r32{position:sticky;top:96px;border-radius:28px;padding:26px;background:linear-gradient(145deg,#073f34,#0e5a4b);color:#fff;box-shadow:0 28px 70px rgba(5,39,32,.18)}.ikv2-faq-side-r32 h3{font-size:22px;margin:0 0 10px}.ikv2-faq-side-r32 p{color:rgba(255,255,255,.78);line-height:1.7}.ikv2-faq-side-r32 a{margin-top:16px;display:inline-flex;color:#0b3f34;background:#f5d58c;border-radius:999px;padding:11px 16px;font-weight:900;text-decoration:none}.ikv2-contact-grid-r32{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(320px,.92fr);gap:28px;align-items:start}.ikv2-contact-form-r32{border-radius:30px;background:#fff;border:1px solid rgba(203,161,78,.22);box-shadow:0 24px 70px rgba(5,39,32,.08);padding:28px}.ikv2-contact-form-r32 .grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.ikv2-contact-form-r32 label{display:block;font-size:13px;font-weight:900;color:#214a41;margin:0 0 8px}.ikv2-contact-form-r32 input,.ikv2-contact-form-r32 textarea{width:100%;border:1px solid rgba(15,65,55,.16);border-radius:16px;padding:13px 14px;font:inherit;background:#fbfaf6;color:#173b33;outline:none}.ikv2-contact-form-r32 textarea{min-height:150px;resize:vertical}.ikv2-contact-form-r32 input:focus,.ikv2-contact-form-r32 textarea:focus{border-color:#c7a04b;box-shadow:0 0 0 4px rgba(199,160,75,.14)}.ikv2-contact-form-r32 .full{grid-column:1/-1}.ikv2-contact-submit-r32{border:0;cursor:pointer;margin-top:4px}.ikv2-contact-info-r32{display:grid;gap:16px}.ikv2-contact-info-card-r32{border-radius:24px;padding:22px;background:rgba(255,255,255,.9);border:1px solid rgba(203,161,78,.18);box-shadow:0 18px 42px rgba(5,39,32,.06)}.ikv2-contact-info-card-r32 span{display:inline-grid;place-items:center;width:42px;height:42px;border-radius:50%;background:#f5e6bd;color:#073f34;font-weight:900;margin-bottom:12px}.ikv2-contact-info-card-r32 h3{margin:0 0 7px;color:#10382e}.ikv2-contact-info-card-r32 p{margin:0;color:#64756f;line-height:1.7}.ikv2-alert-r32{border-radius:18px;padding:14px 16px;margin:0 0 18px;font-weight:800}.ikv2-alert-success-r32{background:#e9f8ef;color:#14643d;border:1px solid rgba(20,100,61,.18)}.ikv2-alert-error-r32{background:#fff0f0;color:#9d2323;border:1px solid rgba(157,35,35,.18)}
@media (max-width: 860px){.ikv2-faq-grid-r32,.ikv2-contact-grid-r32{grid-template-columns:1fr}.ikv2-faq-side-r32{position:relative;top:auto}.ikv2-contact-form-r32 .grid{grid-template-columns:1fr}.ikv2-contact-form-r32{padding:20px}.ikv2-faq-item-r32 summary{padding:17px 18px;font-size:15px}.ikv2-faq-item-r32 p{padding:0 18px 18px;font-size:14px}}
@media (max-width: 520px){.ikv2-contact-form-r32 input,.ikv2-contact-form-r32 textarea{padding:12px 13px;border-radius:14px}.ikv2-faq-side-r32,.ikv2-contact-info-card-r32{border-radius:22px}}


/* Phase 1D R33: Shorter managed top navigation + site chrome polish */
.ikv2-menu-r33 { gap: 6px; }
.ikv2-menu-r33 > a,
.ikv2-menu-r33 .ikv2-nav-link { padding-left: 11px; padding-right: 11px; white-space: nowrap; }
.ikv2-menu-r33 .ikv2-nav-item.active > .ikv2-nav-link { color: var(--ikv2-emerald, #063f34); background: rgba(192, 145, 64, .10); }
.ikv2-submenu-r33 { min-width: min(350px, calc(100vw - 32px)); }
.ikv2-submenu-r33 .ikv2-submenu-links a span { width: 28px; height: 28px; display: inline-flex; align-items: center; justify-content: center; border-radius: 999px; background: rgba(192, 145, 64, .12); color: #a87320; }
.ikv2-footer-r33 .ikv2-footer-premium-grid { grid-template-columns: minmax(260px, 1.3fr) repeat(3, minmax(150px, .75fr)) minmax(180px, .85fr); }
@media (max-width: 1240px) {
    .ikv2-menu-r33 { gap: 3px; }
    .ikv2-menu-r33 > a,
    .ikv2-menu-r33 .ikv2-nav-link { padding-left: 8px; padding-right: 8px; font-size: 13px; }
    .ikv2-actions .ikv2-login { padding-left: 12px; padding-right: 12px; }
}
@media (max-width: 1040px) {
    .ikv2-menu-r33 { gap: 0; }
}
@media (max-width: 991px) {
    .ikv2-menu-r33 { gap: 8px; }
    .ikv2-menu-r33 > a,
    .ikv2-menu-r33 .ikv2-nav-link { width: 100%; justify-content: space-between; padding: 13px 14px; font-size: 14px; }
    .ikv2-submenu-r33 { min-width: 100%; }
    .ikv2-footer-r33 .ikv2-footer-premium-grid { grid-template-columns: 1fr; }
}


/* =========================================================
   HOME_V1_DUAL_VIDEO_CMS_V1
   Separate IKIGAI video and member testimony video sections
   ========================================================= */
.ikv2-video-showcase {
  position: relative;
  overflow: hidden;
  padding: clamp(56px, 7vw, 92px) 0;
}
.ikv2-video-showcase::before,
.ikv2-video-showcase::after {
  content: "";
  position: absolute;
  pointer-events: none;
  border-radius: 999px;
  filter: blur(8px);
}
.ikv2-video-showcase-main {
  background:
    radial-gradient(circle at 8% 8%, rgba(218, 168, 72, .18), transparent 30%),
    linear-gradient(180deg, #fffaf0 0%, #f7f0df 100%);
  border-top: 1px solid rgba(185, 130, 44, .14);
  border-bottom: 1px solid rgba(185, 130, 44, .18);
}
.ikv2-video-showcase-main::before {
  width: 340px;
  height: 340px;
  top: -180px;
  right: -120px;
  background: rgba(214, 166, 81, .14);
}
.ikv2-video-showcase-testimony {
  background:
    radial-gradient(circle at 92% 12%, rgba(239, 201, 125, .14), transparent 28%),
    linear-gradient(145deg, #073f34 0%, #0d5949 58%, #083e35 100%);
  color: #fff;
}
.ikv2-video-showcase-testimony::after {
  width: 430px;
  height: 430px;
  left: -210px;
  bottom: -250px;
  background: rgba(244, 202, 119, .11);
}
.ikv2-video-section-heading {
  position: relative;
  z-index: 1;
  max-width: 760px;
  margin: 0 auto 34px;
  text-align: center;
}
.ikv2-video-section-heading > span {
  display: inline-flex;
  margin-bottom: 12px;
  color: #a8701c;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .22em;
  text-transform: uppercase;
}
.ikv2-video-section-heading h2 {
  margin: 0;
  color: #123c33;
  font-size: clamp(28px, 4vw, 44px);
  line-height: 1.12;
  letter-spacing: -.025em;
}
.ikv2-video-section-heading p {
  max-width: 690px;
  margin: 16px auto 0;
  color: #63726d;
  font-size: 15px;
  line-height: 1.8;
}
.ikv2-video-section-heading-light > span {
  color: #f0c873;
}
.ikv2-video-section-heading-light h2 {
  color: #fff;
}
.ikv2-video-section-heading-light p {
  color: rgba(255, 255, 255, .76);
}
.ikv2-video-showcase-grid {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(18px, 2.4vw, 30px);
}
.ikv2-video-showcase-card {
  overflow: hidden;
  border: 1px solid rgba(172, 123, 43, .18);
  border-radius: 26px;
  background: rgba(255, 255, 255, .94);
  box-shadow: 0 24px 60px rgba(45, 39, 23, .10);
  transition: transform .28s ease, box-shadow .28s ease, border-color .28s ease;
}
.ikv2-video-showcase-card:hover {
  transform: translateY(-5px);
  border-color: rgba(177, 125, 40, .35);
  box-shadow: 0 30px 70px rgba(45, 39, 23, .15);
}
.ikv2-video-showcase-card-testimony {
  border-color: rgba(244, 209, 139, .25);
  background: rgba(255, 255, 255, .97);
  box-shadow: 0 28px 70px rgba(0, 24, 19, .28);
}
.ikv2-video-showcase-card .ikv2-video-cover {
  display: block;
  aspect-ratio: 16 / 9;
  border-radius: 0;
}
.ikv2-video-showcase-card .ikv2-video-cover img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .5s ease;
}
.ikv2-video-showcase-card:hover .ikv2-video-cover img {
  transform: scale(1.035);
}
.ikv2-video-showcase-card .ikv2-video-play {
  width: 68px;
  height: 68px;
  font-size: 24px;
  background: rgba(4, 63, 51, .82);
  border: 1px solid rgba(255, 255, 255, .48);
  box-shadow: 0 12px 32px rgba(0, 0, 0, .28);
}
.ikv2-video-showcase-card .ikv2-video-label {
  inset: auto auto 16px 16px;
  width: auto;
  height: auto;
  margin: 0;
  padding: 8px 12px;
  border-radius: 999px;
  background: rgba(4, 49, 40, .78);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .05em;
  text-transform: uppercase;
}
.ikv2-video-card-copy {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 20px 22px 22px;
}
.ikv2-video-card-copy h3 {
  margin: 0;
  color: #173f36;
  font-size: 17px;
  line-height: 1.35;
}
.ikv2-video-card-copy a {
  flex: 0 0 auto;
  color: #9e6b1b;
  font-size: 12px;
  font-weight: 900;
  text-decoration: none;
}
.ikv2-video-card-copy a:hover {
  color: #073f34;
}
.ikv2-video-section-action {
  position: relative;
  z-index: 1;
  display: flex;
  justify-content: center;
  margin-top: 34px;
}
.ikv2-btn-outline-gold {
  border: 1px solid rgba(167, 112, 27, .35);
  background: rgba(255, 255, 255, .72);
  color: #8f5d13;
  box-shadow: 0 14px 34px rgba(92, 65, 19, .09);
}
.ikv2-btn-outline-gold:hover {
  background: #073f34;
  color: #fff;
}
@media (max-width: 820px) {
  .ikv2-video-showcase-grid {
    grid-template-columns: 1fr;
  }
  .ikv2-video-section-heading {
    margin-bottom: 26px;
  }
}
@media (max-width: 560px) {
  .ikv2-video-showcase {
    padding: 48px 0;
  }
  .ikv2-video-showcase-card {
    border-radius: 20px;
  }
  .ikv2-video-card-copy {
    align-items: flex-start;
    flex-direction: column;
    padding: 17px 18px 20px;
  }
  .ikv2-video-showcase-card .ikv2-video-play {
    width: 58px;
    height: 58px;
    font-size: 21px;
  }
  .ikv2-video-section-action .ikv2-btn {
    width: 100%;
  }
}

/* HOME_V1_VIDEO_TWO_COLUMN_PREMIUM_V1_2_START */
/* Visual-only contract: two premium columns on desktop/tablet, one column on mobile. */
[data-ikv2-video-section="ikigai"],
[data-ikv2-video-section="testimony"] {
  isolation: isolate;
  padding-block: clamp(68px, 7.5vw, 108px);
}
[data-ikv2-video-section="ikigai"] .ikv2-container,
[data-ikv2-video-section="testimony"] .ikv2-container {
  width: min(100% - 40px, 1240px);
  max-width: 1240px;
  margin-inline: auto;
}
[data-ikv2-video-section="ikigai"] .ikv2-video-section-heading,
[data-ikv2-video-section="testimony"] .ikv2-video-section-heading {
  max-width: 820px;
  margin-bottom: clamp(34px, 4vw, 52px);
}
[data-ikv2-video-section="ikigai"] .ikv2-video-section-heading::after,
[data-ikv2-video-section="testimony"] .ikv2-video-section-heading::after {
  content: "";
  display: block;
  width: 82px;
  height: 2px;
  margin: 24px auto 0;
  border-radius: 999px;
  background: linear-gradient(90deg, transparent, #c38a2f 25%, #f1cf8b 50%, #c38a2f 75%, transparent);
  box-shadow: 0 4px 16px rgba(173, 117, 30, .22);
}
[data-ikv2-video-section="ikigai"] .ikv2-video-section-heading > span,
[data-ikv2-video-section="testimony"] .ikv2-video-section-heading > span {
  padding: 8px 14px;
  border: 1px solid rgba(178, 123, 35, .22);
  border-radius: 999px;
  background: rgba(255, 255, 255, .62);
  box-shadow: 0 10px 26px rgba(74, 52, 18, .06);
}
[data-ikv2-video-section="testimony"] .ikv2-video-section-heading > span {
  border-color: rgba(244, 210, 143, .34);
  background: rgba(255, 255, 255, .08);
  box-shadow: 0 12px 30px rgba(0, 21, 17, .22);
}
[data-ikv2-video-section="ikigai"] .ikv2-video-showcase-grid,
[data-ikv2-video-section="testimony"] .ikv2-video-showcase-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: clamp(24px, 3vw, 38px) !important;
  align-items: stretch !important;
  width: 100%;
  max-width: 1180px;
  margin-inline: auto;
}
[data-ikv2-video-section="ikigai"] .ikv2-video-showcase-card,
[data-ikv2-video-section="testimony"] .ikv2-video-showcase-card {
  position: relative;
  display: flex;
  flex-direction: column;
  min-width: 0;
  height: 100%;
  overflow: hidden;
  border-radius: 30px;
  transform: translateZ(0);
  transition: transform .32s ease, box-shadow .32s ease, border-color .32s ease;
}
[data-ikv2-video-section="ikigai"] .ikv2-video-showcase-card {
  border: 1px solid rgba(171, 116, 31, .22);
  background:
    linear-gradient(145deg, rgba(255,255,255,.98), rgba(255,250,239,.94));
  box-shadow:
    0 28px 72px rgba(79, 58, 22, .13),
    inset 0 1px 0 rgba(255,255,255,.92);
}
[data-ikv2-video-section="testimony"] .ikv2-video-showcase-card {
  border: 1px solid rgba(241, 206, 135, .32);
  background:
    linear-gradient(145deg, rgba(255,255,255,.985), rgba(244,249,246,.95));
  box-shadow:
    0 30px 76px rgba(0, 28, 22, .32),
    inset 0 1px 0 rgba(255,255,255,.9);
}
[data-ikv2-video-section="ikigai"] .ikv2-video-showcase-card::before,
[data-ikv2-video-section="testimony"] .ikv2-video-showcase-card::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 3;
  pointer-events: none;
  border-radius: inherit;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.48);
}
[data-ikv2-video-section="ikigai"] .ikv2-video-showcase-card:hover,
[data-ikv2-video-section="testimony"] .ikv2-video-showcase-card:hover {
  transform: translateY(-8px);
}
[data-ikv2-video-section="ikigai"] .ikv2-video-showcase-card:hover {
  border-color: rgba(173, 116, 27, .42);
  box-shadow: 0 38px 90px rgba(79, 58, 22, .19), inset 0 1px 0 rgba(255,255,255,.94);
}
[data-ikv2-video-section="testimony"] .ikv2-video-showcase-card:hover {
  border-color: rgba(246, 211, 141, .58);
  box-shadow: 0 40px 94px rgba(0, 24, 19, .40), inset 0 1px 0 rgba(255,255,255,.94);
}
[data-ikv2-video-section="ikigai"] .ikv2-video-cover,
[data-ikv2-video-section="testimony"] .ikv2-video-cover {
  position: relative;
  flex: 0 0 auto;
  display: block;
  width: 100%;
  aspect-ratio: 16 / 9;
  min-height: 0;
  border: 0;
  border-radius: 0 !important;
  overflow: hidden;
  background: #063f34;
}
[data-ikv2-video-section="ikigai"] .ikv2-video-cover::before,
[data-ikv2-video-section="testimony"] .ikv2-video-cover::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background:
    linear-gradient(180deg, rgba(3, 48, 39, .02) 25%, rgba(3, 48, 39, .60) 100%);
  transition: background .32s ease;
}
[data-ikv2-video-section="ikigai"] .ikv2-video-cover img,
[data-ikv2-video-section="testimony"] .ikv2-video-cover img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transform: scale(1.001);
  transition: transform .7s cubic-bezier(.2,.7,.2,1), filter .35s ease;
}
[data-ikv2-video-section="ikigai"] .ikv2-video-showcase-card:hover .ikv2-video-cover img,
[data-ikv2-video-section="testimony"] .ikv2-video-showcase-card:hover .ikv2-video-cover img {
  transform: scale(1.055);
  filter: saturate(1.04) contrast(1.02);
}
[data-ikv2-video-section="ikigai"] .ikv2-video-play,
[data-ikv2-video-section="testimony"] .ikv2-video-play {
  inset: 50% auto auto 50% !important;
  z-index: 2;
  width: 72px !important;
  height: 72px !important;
  margin: 0 !important;
  transform: translate(-50%, -50%);
  border: 1px solid rgba(255,255,255,.68);
  background: linear-gradient(145deg, rgba(5,82,67,.94), rgba(3,54,45,.94));
  color: #fff;
  font-size: 23px !important;
  box-shadow:
    0 18px 40px rgba(0,0,0,.30),
    0 0 0 8px rgba(255,255,255,.10);
  backdrop-filter: blur(10px);
  transition: transform .3s ease, box-shadow .3s ease, background .3s ease;
}
[data-ikv2-video-section="testimony"] .ikv2-video-play {
  background: linear-gradient(145deg, #d9a646, #a76b16);
  box-shadow: 0 18px 42px rgba(0,0,0,.34), 0 0 0 8px rgba(244,210,141,.14);
}
[data-ikv2-video-section="ikigai"] .ikv2-video-showcase-card:hover .ikv2-video-play,
[data-ikv2-video-section="testimony"] .ikv2-video-showcase-card:hover .ikv2-video-play {
  transform: translate(-50%, -50%) scale(1.08);
  box-shadow: 0 22px 48px rgba(0,0,0,.36), 0 0 0 11px rgba(255,255,255,.12);
}
[data-ikv2-video-section="ikigai"] .ikv2-video-label,
[data-ikv2-video-section="testimony"] .ikv2-video-label {
  inset: auto auto 18px 18px !important;
  z-index: 2;
  width: auto !important;
  height: auto !important;
  margin: 0 !important;
  padding: 9px 13px !important;
  border: 1px solid rgba(255,255,255,.24);
  border-radius: 999px !important;
  background: rgba(3, 48, 39, .78) !important;
  color: #fff;
  font-size: 10px !important;
  font-weight: 900;
  letter-spacing: .10em;
  line-height: 1;
  text-transform: uppercase;
  box-shadow: 0 10px 28px rgba(0,0,0,.20);
  backdrop-filter: blur(10px);
}
[data-ikv2-video-section="testimony"] .ikv2-video-label {
  background: rgba(151, 96, 18, .82) !important;
}
[data-ikv2-video-section="ikigai"] .ikv2-video-card-copy,
[data-ikv2-video-section="testimony"] .ikv2-video-card-copy {
  position: relative;
  z-index: 2;
  flex: 1 1 auto;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 18px;
  min-height: 92px;
  padding: 23px 25px 25px;
}
[data-ikv2-video-section="ikigai"] .ikv2-video-card-copy h3,
[data-ikv2-video-section="testimony"] .ikv2-video-card-copy h3 {
  margin: 0;
  color: #143e35;
  font-size: clamp(16px, 1.5vw, 19px);
  font-weight: 750;
  line-height: 1.4;
  letter-spacing: -.012em;
}
[data-ikv2-video-section="ikigai"] .ikv2-video-card-copy a,
[data-ikv2-video-section="testimony"] .ikv2-video-card-copy a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 38px;
  padding: 9px 13px;
  border: 1px solid rgba(169, 111, 24, .24);
  border-radius: 999px;
  background: rgba(255, 248, 233, .82);
  color: #8d5b14;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .03em;
  white-space: nowrap;
  text-decoration: none;
  transition: color .25s ease, background .25s ease, border-color .25s ease, transform .25s ease;
}
[data-ikv2-video-section="testimony"] .ikv2-video-card-copy a {
  border-color: rgba(9, 77, 63, .18);
  background: rgba(7, 73, 60, .08);
  color: #075347;
}
[data-ikv2-video-section="ikigai"] .ikv2-video-card-copy a:hover,
[data-ikv2-video-section="testimony"] .ikv2-video-card-copy a:hover {
  transform: translateY(-2px);
  border-color: transparent;
  background: #073f34;
  color: #fff;
}
[data-ikv2-video-section="ikigai"] .ikv2-video-section-action,
[data-ikv2-video-section="testimony"] .ikv2-video-section-action {
  margin-top: clamp(34px, 4vw, 48px);
}
[data-ikv2-video-section="ikigai"] .ikv2-video-section-action .ikv2-btn,
[data-ikv2-video-section="testimony"] .ikv2-video-section-action .ikv2-btn {
  min-height: 50px;
  padding-inline: 24px;
  border-radius: 999px;
  font-weight: 850;
  letter-spacing: .01em;
  box-shadow: 0 18px 42px rgba(45, 35, 17, .13);
}
[data-ikv2-video-section="testimony"] .ikv2-video-section-action .ikv2-btn {
  box-shadow: 0 20px 48px rgba(0, 22, 17, .30);
}
@media (min-width: 761px) {
  [data-ikv2-video-section="ikigai"] .ikv2-video-showcase-grid,
  [data-ikv2-video-section="testimony"] .ikv2-video-showcase-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}
@media (max-width: 760px) {
  [data-ikv2-video-section="ikigai"],
  [data-ikv2-video-section="testimony"] {
    padding-block: 54px;
  }
  [data-ikv2-video-section="ikigai"] .ikv2-container,
  [data-ikv2-video-section="testimony"] .ikv2-container {
    width: min(100% - 28px, 1240px);
  }
  [data-ikv2-video-section="ikigai"] .ikv2-video-showcase-grid,
  [data-ikv2-video-section="testimony"] .ikv2-video-showcase-grid {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 22px !important;
  }
  [data-ikv2-video-section="ikigai"] .ikv2-video-showcase-card,
  [data-ikv2-video-section="testimony"] .ikv2-video-showcase-card {
    border-radius: 24px;
  }
  [data-ikv2-video-section="ikigai"] .ikv2-video-card-copy,
  [data-ikv2-video-section="testimony"] .ikv2-video-card-copy {
    grid-template-columns: 1fr;
    align-items: start;
    min-height: 0;
    padding: 19px 20px 21px;
  }
  [data-ikv2-video-section="ikigai"] .ikv2-video-card-copy a,
  [data-ikv2-video-section="testimony"] .ikv2-video-card-copy a {
    justify-self: start;
  }
}
@media (max-width: 420px) {
  [data-ikv2-video-section="ikigai"] .ikv2-video-play,
  [data-ikv2-video-section="testimony"] .ikv2-video-play {
    width: 60px !important;
    height: 60px !important;
    font-size: 20px !important;
  }
  [data-ikv2-video-section="ikigai"] .ikv2-video-section-action .ikv2-btn,
  [data-ikv2-video-section="testimony"] .ikv2-video-section-action .ikv2-btn {
    width: 100%;
  }
}
@media (prefers-reduced-motion: reduce) {
  [data-ikv2-video-section="ikigai"] .ikv2-video-showcase-card,
  [data-ikv2-video-section="testimony"] .ikv2-video-showcase-card,
  [data-ikv2-video-section="ikigai"] .ikv2-video-cover img,
  [data-ikv2-video-section="testimony"] .ikv2-video-cover img,
  [data-ikv2-video-section="ikigai"] .ikv2-video-play,
  [data-ikv2-video-section="testimony"] .ikv2-video-play {
    transition: none !important;
  }
}
/* HOME_V1_VIDEO_TWO_COLUMN_PREMIUM_V1_2_END */

/* HOME_V1_FULL_DESKTOP_TARGET_V2_START */
body.ikigai-home-v2.ikv2-home-v1-desktop-target-v2 {
    --ikv2-target-green: #004b3d;
    --ikv2-target-green-dark: #003d32;
    --ikv2-target-gold: #d99724;
    --ikv2-target-gold-soft: #f1c568;
    --ikv2-target-ivory: #fffaf2;
    --ikv2-target-line: rgba(188, 129, 35, .22);
    background: #fffaf2;
    color: #173e35;
}
body.ikigai-home-v2.ikv2-home-v1-desktop-target-v2 .ikv2-container {
    width: min(1180px, calc(100% - 48px));
}
body.ikigai-home-v2.ikv2-home-v1-desktop-target-v2 .ikv2-header {
    min-height: 78px;
    background: rgba(255, 252, 247, .96);
    border-bottom: 1px solid rgba(204, 146, 47, .18);
    box-shadow: 0 8px 30px rgba(51, 33, 6, .035);
}
body.ikigai-home-v2.ikv2-home-v1-desktop-target-v2 .ikv2-nav-wrap {
    min-height: 78px;
}
body.ikigai-home-v2.ikv2-home-v1-desktop-target-v2 .ikv2-brand-mark {
    width: 54px;
    height: 54px;
}
body.ikigai-home-v2.ikv2-home-v1-desktop-target-v2 .ikv2-brand strong {
    font-size: 22px;
    letter-spacing: .22em;
}
body.ikigai-home-v2.ikv2-home-v1-desktop-target-v2 .ikv2-brand small {
    max-width: 190px;
    color: #a36a16;
    font-size: 9.5px;
    line-height: 1.25;
}
body.ikigai-home-v2.ikv2-home-v1-desktop-target-v2 .ikv2-menu-r33 {
    gap: 20px;
}
body.ikigai-home-v2.ikv2-home-v1-desktop-target-v2 .ikv2-menu-r33 > a,
body.ikigai-home-v2.ikv2-home-v1-desktop-target-v2 .ikv2-nav-link {
    font-size: 12px;
    font-weight: 700;
}
body.ikigai-home-v2.ikv2-home-v1-desktop-target-v2 .ikv2-login {
    min-height: 42px;
    padding-inline: 20px;
    border-radius: 12px;
    background: var(--ikv2-target-green);
    color: #fff;
    box-shadow: 0 12px 26px rgba(0, 75, 61, .16);
}
body.ikigai-home-v2.ikv2-home-v1-desktop-target-v2 .ikv2-lang {
    border-radius: 12px;
    background: #fff;
}
body.ikigai-home-v2.ikv2-home-v1-desktop-target-v2 .ikv2-hero-slider {
    min-height: 610px;
    padding: 0;
    background:
        radial-gradient(circle at 7% 42%, rgba(231, 176, 86, .12), transparent 25%),
        linear-gradient(90deg, #fffaf3 0 44%, #f8efe2 58%, #fffaf4 100%);
    border-bottom: 1px solid rgba(204, 146, 47, .14);
}
body.ikigai-home-v2.ikv2-home-v1-desktop-target-v2 .ikv2-hero-stage,
body.ikigai-home-v2.ikv2-home-v1-desktop-target-v2 .ikv2-hero-slide,
body.ikigai-home-v2.ikv2-home-v1-desktop-target-v2 .ikv2-hero-slider .ikv2-hero-grid {
    min-height: 610px;
}
body.ikigai-home-v2.ikv2-home-v1-desktop-target-v2 .ikv2-hero-slide {
    padding: 0;
}
body.ikigai-home-v2.ikv2-home-v1-desktop-target-v2 .ikv2-hero-slide::before {
    background:
        linear-gradient(90deg, rgba(255,250,243,.99) 0%, rgba(255,250,243,.97) 38%, rgba(255,250,243,.50) 53%, rgba(255,250,243,.04) 72%),
        linear-gradient(180deg, transparent 72%, #fffaf2 100%);
}
body.ikigai-home-v2.ikv2-home-v1-desktop-target-v2 .ikv2-hero-slider .ikv2-hero-grid {
    grid-template-columns: minmax(0, .82fr) minmax(0, 1.18fr);
    gap: 32px;
}
body.ikigai-home-v2.ikv2-home-v1-desktop-target-v2 .ikv2-hero-slider .ikv2-hero-copy {
    max-width: 560px;
    padding: 76px 0 84px;
}
body.ikigai-home-v2.ikv2-home-v1-desktop-target-v2 .ikv2-hero-slider .ikv2-eyebrow {
    margin-bottom: 14px;
    color: #b57416;
    font-size: 13px;
    letter-spacing: .03em;
    text-transform: none;
}
body.ikigai-home-v2.ikv2-home-v1-desktop-target-v2 .ikv2-hero-slider h1 {
    max-width: 540px;
    margin: 0;
    color: var(--ikv2-target-green);
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(46px, 5.2vw, 70px) !important;
    font-weight: 650;
    line-height: .98;
    letter-spacing: -.045em;
}
body.ikigai-home-v2.ikv2-home-v1-desktop-target-v2 .ikv2-hero-slider h2 {
    max-width: 520px;
    margin: 12px 0 18px;
    color: #be7418;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(25px, 2.7vw, 38px) !important;
    font-weight: 560;
    font-style: normal;
    line-height: 1.08;
}
body.ikigai-home-v2.ikv2-home-v1-desktop-target-v2 .ikv2-hero-slider .ikv2-lead {
    max-width: 520px;
    color: rgba(24, 57, 49, .78);
    font-size: 14px;
    line-height: 1.75;
}
body.ikigai-home-v2.ikv2-home-v1-desktop-target-v2 .ikv2-hero-cta {
    gap: 14px;
    margin-top: 24px;
}
body.ikigai-home-v2.ikv2-home-v1-desktop-target-v2 .ikv2-hero-cta .ikv2-btn {
    min-height: 48px;
    border-radius: 11px;
    padding-inline: 20px;
    font-size: 12px;
}
body.ikigai-home-v2.ikv2-home-v1-desktop-target-v2 .ikv2-hero-slider .ikv2-mini-proof {
    display: inline-flex;
    width: auto;
    margin-top: 23px;
    padding: 8px 12px;
    border-radius: 999px;
    background: rgba(255,255,255,.82);
    box-shadow: 0 10px 26px rgba(67, 45, 8, .06);
}
body.ikigai-home-v2.ikv2-home-v1-desktop-target-v2 .ikv2-hero-slider .ikv2-hero-art {
    right: 0;
    width: 60%;
    height: 100%;
}
body.ikigai-home-v2.ikv2-home-v1-desktop-target-v2 .ikv2-hero-photo img {
    width: 100%;
    height: 610px;
    object-fit: cover;
    object-position: center;
    -webkit-mask-image: linear-gradient(90deg, transparent 0%, #000 14%, #000 100%);
    mask-image: linear-gradient(90deg, transparent 0%, #000 14%, #000 100%);
    filter: saturate(.88) contrast(.98) brightness(1.03);
}
body.ikigai-home-v2.ikv2-home-v1-desktop-target-v2 .ikv2-hero-controls {
    left: 50%;
    bottom: 22px;
    transform: translateX(-50%);
    padding: 5px 7px;
    border-radius: 999px;
    background: rgba(255,255,255,.90);
    box-shadow: 0 12px 30px rgba(65, 39, 4, .10);
}
body.ikigai-home-v2.ikv2-home-v1-desktop-target-v2 .ikv2-hero-discovery-card {
    position: absolute;
    z-index: 7;
    right: max(28px, calc((100vw - 1180px) / 2));
    bottom: 70px;
    display: grid;
    grid-template-columns: 52px 1fr;
    align-items: center;
    gap: 13px;
    width: 280px;
    padding: 18px;
    border: 1px solid rgba(242, 196, 92, .28);
    border-radius: 18px;
    background: linear-gradient(135deg, rgba(0,77,62,.96), rgba(0,57,47,.98));
    color: #fff;
    box-shadow: 0 22px 50px rgba(0, 54, 44, .22);
}
body.ikigai-home-v2.ikv2-home-v1-desktop-target-v2 .ikv2-hero-discovery-card .ikv2-hero-discovery-icon {
    display: grid;
    place-items: center;
    width: 52px;
    height: 52px;
    border: 1px solid rgba(243,198,91,.50);
    border-radius: 50%;
    color: #f0bd51;
    font-size: 21px;
}
body.ikigai-home-v2.ikv2-home-v1-desktop-target-v2 .ikv2-hero-discovery-card small,
body.ikigai-home-v2.ikv2-home-v1-desktop-target-v2 .ikv2-hero-discovery-card strong,
body.ikigai-home-v2.ikv2-home-v1-desktop-target-v2 .ikv2-hero-discovery-card a {
    display: block;
}
body.ikigai-home-v2.ikv2-home-v1-desktop-target-v2 .ikv2-hero-discovery-card small {
    color: rgba(255,255,255,.72);
    font-size: 10px;
}
body.ikigai-home-v2.ikv2-home-v1-desktop-target-v2 .ikv2-hero-discovery-card strong {
    margin-top: 3px;
    font-size: 15px;
}
body.ikigai-home-v2.ikv2-home-v1-desktop-target-v2 .ikv2-hero-discovery-card a {
    margin-top: 7px;
    color: #efbd52;
    font-size: 11px;
    font-weight: 800;
}
body.ikigai-home-v2.ikv2-home-v1-desktop-target-v2 .ikv2-home-stats {
    padding: 0;
    border-bottom: 1px solid rgba(196, 136, 39, .15);
    background: rgba(255, 250, 242, .94);
}
body.ikigai-home-v2.ikv2-home-v1-desktop-target-v2 .ikv2-home-stats-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    min-height: 108px;
}
body.ikigai-home-v2.ikv2-home-v1-desktop-target-v2 .ikv2-home-stat {
    position: relative;
    display: grid;
    grid-template-columns: 54px 1fr;
    align-items: center;
    gap: 14px;
    padding: 22px 30px;
}
body.ikigai-home-v2.ikv2-home-v1-desktop-target-v2 .ikv2-home-stat:not(:last-child)::after {
    content: "";
    position: absolute;
    right: 0;
    top: 28px;
    bottom: 28px;
    width: 1px;
    background: rgba(194, 131, 31, .24);
}
body.ikigai-home-v2.ikv2-home-v1-desktop-target-v2 .ikv2-home-stat-icon {
    display: grid;
    place-items: center;
    width: 54px;
    height: 54px;
    border: 1px solid rgba(211, 144, 36, .34);
    border-radius: 50%;
    color: #bd7417;
    font-size: 23px;
}
body.ikigai-home-v2.ikv2-home-v1-desktop-target-v2 .ikv2-home-stat strong {
    display: block;
    color: var(--ikv2-target-green);
    font-family: Georgia, "Times New Roman", serif;
    font-size: 31px;
    line-height: 1;
}
body.ikigai-home-v2.ikv2-home-v1-desktop-target-v2 .ikv2-home-stat span {
    display: block;
    margin-top: 6px;
    color: rgba(18, 58, 49, .70);
    font-size: 11px;
    font-weight: 700;
}
body.ikigai-home-v2.ikv2-home-v1-desktop-target-v2 .ikv2-value-strip {
    padding: 60px 0 30px;
    background: #fffaf2;
}
body.ikigai-home-v2.ikv2-home-v1-desktop-target-v2 .ikv2-value-intro {
    margin-bottom: 30px;
}
body.ikigai-home-v2.ikv2-home-v1-desktop-target-v2 .ikv2-value-intro h2 {
    font-family: Georgia, "Times New Roman", serif;
    font-size: 31px;
    font-weight: 600;
}
body.ikigai-home-v2.ikv2-home-v1-desktop-target-v2 .ikv2-value-card,
body.ikigai-home-v2.ikv2-home-v1-desktop-target-v2 .ikv2-value-premium-grid {
    gap: 18px;
    padding: 0;
    overflow: visible;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}
body.ikigai-home-v2.ikv2-home-v1-desktop-target-v2 .ikv2-value-premium-grid::before {
    display: none;
}
body.ikigai-home-v2.ikv2-home-v1-desktop-target-v2 .ikv2-value-card article {
    min-height: 225px;
    padding: 24px 23px 22px;
    border: 1px solid rgba(200, 139, 39, .18) !important;
    border-radius: 19px;
    background: rgba(255,255,255,.72);
    box-shadow: 0 18px 45px rgba(52, 34, 6, .06);
}
body.ikigai-home-v2.ikv2-home-v1-desktop-target-v2 .ikv2-events {
    padding: 0 0 58px;
    background: #fffaf2;
}
body.ikigai-home-v2.ikv2-home-v1-desktop-target-v2 .ikv2-event-grid-r20 {
    grid-template-columns: .92fr .92fr 1.16fr;
    gap: 0;
    overflow: hidden;
    border: 1px solid rgba(198, 137, 39, .20);
    border-radius: 20px;
    background: #fff;
    box-shadow: 0 18px 46px rgba(52, 34, 6, .07);
}
body.ikigai-home-v2.ikv2-home-v1-desktop-target-v2 .ikv2-zoom-panel-r20,
body.ikigai-home-v2.ikv2-home-v1-desktop-target-v2 .ikv2-event-photo-r20,
body.ikigai-home-v2.ikv2-home-v1-desktop-target-v2 .ikv2-benefit-panel-r20 {
    min-height: 248px;
    border-radius: 0;
    box-shadow: none;
}
body.ikigai-home-v2.ikv2-home-v1-desktop-target-v2 .ikv2-zoom-panel-r20 {
    padding: 28px;
    background: linear-gradient(135deg, #005042, #003d33);
}
body.ikigai-home-v2.ikv2-home-v1-desktop-target-v2 .ikv2-event-photo-r20 img {
    height: 248px;
}
body.ikigai-home-v2.ikv2-home-v1-desktop-target-v2 .ikv2-benefit-panel-r20 {
    padding: 28px 30px;
    background: #fffdf8;
}
body.ikigai-home-v2.ikv2-home-v1-desktop-target-v2 .ikv2-home-journey {
    padding: 0 0 64px;
    background: #fffaf2;
}
body.ikigai-home-v2.ikv2-home-v1-desktop-target-v2 .ikv2-home-section-heading {
    max-width: 780px;
    margin: 0 auto 34px;
    text-align: center;
}
body.ikigai-home-v2.ikv2-home-v1-desktop-target-v2 .ikv2-home-section-heading span {
    display: inline-flex;
    padding: 6px 14px;
    border: 1px solid rgba(201, 139, 40, .24);
    border-radius: 999px;
    color: #b16d14;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
}
body.ikigai-home-v2.ikv2-home-v1-desktop-target-v2 .ikv2-home-section-heading h2 {
    margin: 13px 0 0;
    color: var(--ikv2-target-green);
    font-family: Georgia, "Times New Roman", serif;
    font-size: 29px;
    font-weight: 600;
}
body.ikigai-home-v2.ikv2-home-v1-desktop-target-v2 .ikv2-home-journey-grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 22px;
}
body.ikigai-home-v2.ikv2-home-v1-desktop-target-v2 .ikv2-home-journey-step {
    position: relative;
    text-align: center;
}
body.ikigai-home-v2.ikv2-home-v1-desktop-target-v2 .ikv2-home-journey-step:not(:last-child)::after {
    content: "";
    position: absolute;
    top: 39px;
    left: calc(50% + 45px);
    width: calc(100% - 68px);
    border-top: 1px dashed rgba(188, 124, 24, .48);
}
body.ikigai-home-v2.ikv2-home-v1-desktop-target-v2 .ikv2-home-journey-icon {
    position: relative;
    z-index: 1;
    display: grid;
    place-items: center;
    width: 78px;
    height: 78px;
    margin: 0 auto 15px;
    border: 1px solid rgba(202, 140, 40, .38);
    border-radius: 50%;
    background: #fffaf2;
    color: #bd7517;
    font-size: 28px;
}
body.ikigai-home-v2.ikv2-home-v1-desktop-target-v2 .ikv2-home-journey-step small {
    color: #be7619;
    font-size: 9px;
    font-weight: 800;
}
body.ikigai-home-v2.ikv2-home-v1-desktop-target-v2 .ikv2-home-journey-step h3 {
    min-height: 42px;
    margin: 7px 0 8px;
    color: var(--ikv2-target-green);
    font-size: 13px;
    line-height: 1.35;
}
body.ikigai-home-v2.ikv2-home-v1-desktop-target-v2 .ikv2-home-journey-step p {
    margin: 0;
    color: rgba(25, 55, 48, .66);
    font-size: 10.5px;
    line-height: 1.6;
}
body.ikigai-home-v2.ikv2-home-v1-desktop-target-v2 section[data-ikv2-video-section="ikigai"] {
    padding: 58px 0 48px !important;
    background: #fffaf2;
}
body.ikigai-home-v2.ikv2-home-v1-desktop-target-v2 section[data-ikv2-video-section="testimony"] {
    position: relative;
    padding: 54px 0 48px !important;
    overflow: hidden;
    background:
        radial-gradient(circle at 85% 15%, rgba(28, 126, 99, .30), transparent 30%),
        linear-gradient(135deg, #004b3d, #003d32);
}
body.ikigai-home-v2.ikv2-home-v1-desktop-target-v2 section[data-ikv2-video-section="testimony"]::before,
body.ikigai-home-v2.ikv2-home-v1-desktop-target-v2 section[data-ikv2-video-section="testimony"]::after {
    content: "❧";
    position: absolute;
    color: rgba(220, 167, 62, .22);
    font-size: 170px;
    line-height: 1;
}
body.ikigai-home-v2.ikv2-home-v1-desktop-target-v2 section[data-ikv2-video-section="testimony"]::before {
    left: -28px;
    bottom: -12px;
    transform: rotate(-24deg);
}
body.ikigai-home-v2.ikv2-home-v1-desktop-target-v2 section[data-ikv2-video-section="testimony"]::after {
    right: -24px;
    top: 20px;
    transform: rotate(150deg);
}
body.ikigai-home-v2.ikv2-home-v1-desktop-target-v2 .ikv2-video-section-heading {
    max-width: 800px !important;
    margin: 0 auto 30px !important;
}
body.ikigai-home-v2.ikv2-home-v1-desktop-target-v2 .ikv2-video-section-heading h2 {
    font-family: Georgia, "Times New Roman", serif;
    font-size: 31px !important;
}
body.ikigai-home-v2.ikv2-home-v1-desktop-target-v2 .ikv2-video-showcase-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 24px !important;
    max-width: 1060px !important;
    margin-inline: auto !important;
}
body.ikigai-home-v2.ikv2-home-v1-desktop-target-v2 .ikv2-video-showcase-card {
    overflow: hidden;
    border: 1px solid rgba(193, 132, 35, .22);
    border-radius: 17px;
    background: #fff;
    box-shadow: 0 18px 44px rgba(52, 34, 6, .09);
}
body.ikigai-home-v2.ikv2-home-v1-desktop-target-v2 .ikv2-video-cover {
    aspect-ratio: 16 / 8.4;
    min-height: 0 !important;
}
body.ikigai-home-v2.ikv2-home-v1-desktop-target-v2 .ikv2-video-card-copy {
    min-height: 62px;
    padding: 14px 18px !important;
}
body.ikigai-home-v2.ikv2-home-v1-desktop-target-v2 .ikv2-video-card-copy h3 {
    font-size: 13px;
}
body.ikigai-home-v2.ikv2-home-v1-desktop-target-v2 .ikv2-video-card-copy a {
    min-height: 32px;
    padding: 7px 12px;
    border: 1px solid rgba(195, 131, 29, .28);
    border-radius: 999px;
    color: #9e5f0e;
    font-size: 9px;
}
body.ikigai-home-v2.ikv2-home-v1-desktop-target-v2 .ikv2-video-section-action {
    margin-top: 25px !important;
}
body.ikigai-home-v2.ikv2-home-v1-desktop-target-v2 .ikv2-home-stories-faq {
    position: relative;
    padding: 56px 0 52px;
    overflow: hidden;
    background: #fffaf2;
}
body.ikigai-home-v2.ikv2-home-v1-desktop-target-v2 .ikv2-home-stories-faq-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.8fr) minmax(320px, .82fr);
    gap: 34px;
    align-items: start;
}
body.ikigai-home-v2.ikv2-home-v1-desktop-target-v2 .ikv2-home-subheading span {
    color: #b06c14;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
}
body.ikigai-home-v2.ikv2-home-v1-desktop-target-v2 .ikv2-home-subheading h2 {
    margin: 8px 0 6px;
    color: var(--ikv2-target-green);
    font-family: Georgia, "Times New Roman", serif;
    font-size: 24px;
}
body.ikigai-home-v2.ikv2-home-v1-desktop-target-v2 .ikv2-home-subheading p {
    margin: 0;
    color: rgba(24, 56, 49, .65);
    font-size: 11px;
}
body.ikigai-home-v2.ikv2-home-v1-desktop-target-v2 .ikv2-home-story-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
    margin-top: 20px;
}
body.ikigai-home-v2.ikv2-home-v1-desktop-target-v2 .ikv2-home-story-card {
    overflow: hidden;
    border: 1px solid rgba(197, 136, 39, .18);
    border-radius: 15px;
    background: #fff;
    box-shadow: 0 14px 34px rgba(55, 35, 5, .06);
}
body.ikigai-home-v2.ikv2-home-v1-desktop-target-v2 .ikv2-home-story-card img {
    width: 100%;
    height: 115px;
    object-fit: cover;
}
body.ikigai-home-v2.ikv2-home-v1-desktop-target-v2 .ikv2-home-story-copy {
    padding: 13px;
}
body.ikigai-home-v2.ikv2-home-v1-desktop-target-v2 .ikv2-home-story-copy small {
    color: #9b6a1b;
    font-size: 8px;
}
body.ikigai-home-v2.ikv2-home-v1-desktop-target-v2 .ikv2-home-story-copy h3 {
    margin: 5px 0 6px;
    color: var(--ikv2-target-green);
    font-size: 12px;
    line-height: 1.35;
}
body.ikigai-home-v2.ikv2-home-v1-desktop-target-v2 .ikv2-home-story-copy p {
    min-height: 44px;
    margin: 0;
    color: rgba(24, 56, 49, .65);
    font-size: 9px;
    line-height: 1.5;
}
body.ikigai-home-v2.ikv2-home-v1-desktop-target-v2 .ikv2-home-story-copy a {
    display: inline-flex;
    margin-top: 9px;
    color: #ad6811;
    font-size: 9px;
    font-weight: 800;
}
body.ikigai-home-v2.ikv2-home-v1-desktop-target-v2 .ikv2-home-faq-panel {
    padding: 21px 22px;
    border: 1px solid rgba(195, 132, 32, .22);
    border-radius: 18px;
    background: rgba(255,255,255,.68);
}
body.ikigai-home-v2.ikv2-home-v1-desktop-target-v2 .ikv2-home-faq-list {
    margin-top: 14px;
}
body.ikigai-home-v2.ikv2-home-v1-desktop-target-v2 .ikv2-home-faq-list details {
    border-bottom: 1px solid rgba(189, 126, 28, .18);
}
body.ikigai-home-v2.ikv2-home-v1-desktop-target-v2 .ikv2-home-faq-list summary {
    position: relative;
    padding: 11px 22px 11px 0;
    color: #17483d;
    font-size: 10px;
    font-weight: 700;
    cursor: pointer;
    list-style: none;
}
body.ikigai-home-v2.ikv2-home-v1-desktop-target-v2 .ikv2-home-faq-list summary::after {
    content: "+";
    position: absolute;
    right: 0;
    color: #bd7517;
}
body.ikigai-home-v2.ikv2-home-v1-desktop-target-v2 .ikv2-home-faq-list details[open] summary::after {
    content: "−";
}
body.ikigai-home-v2.ikv2-home-v1-desktop-target-v2 .ikv2-home-faq-list details p {
    margin: 0;
    padding: 0 0 12px;
    color: rgba(24, 56, 49, .64);
    font-size: 9.5px;
    line-height: 1.6;
}
body.ikigai-home-v2.ikv2-home-v1-desktop-target-v2 .ikv2-home-section-button {
    display: flex;
    justify-content: center;
    margin-top: 20px;
}
body.ikigai-home-v2.ikv2-home-v1-desktop-target-v2 .ikv2-cta-inner {
    grid-template-columns: 66px 1fr auto;
    gap: 22px;
    padding: 27px 0;
}
body.ikigai-home-v2.ikv2-home-v1-desktop-target-v2 .ikv2-cta-inner img {
    width: 58px;
}
body.ikigai-home-v2.ikv2-home-v1-desktop-target-v2 .ikv2-cta h2 {
    font-family: Georgia, "Times New Roman", serif;
    font-size: 26px;
}
body.ikigai-home-v2.ikv2-home-v1-desktop-target-v2 .ikv2-footer-premium-grid {
    grid-template-columns: 1.2fr repeat(4, .75fr);
    gap: 38px;
    padding: 46px 0 34px;
}
body.ikigai-home-v2.ikv2-home-v1-desktop-target-v2 .ikv2-footer-social-col {
    grid-column: 1;
}
body.ikigai-home-v2.ikv2-home-v1-desktop-target-v2 .ikv2-footer-bottom-r24 {
    padding: 17px 0 20px;
}
@media (max-width: 1100px) {
    body.ikigai-home-v2.ikv2-home-v1-desktop-target-v2 .ikv2-hero-discovery-card { display: none; }
    body.ikigai-home-v2.ikv2-home-v1-desktop-target-v2 .ikv2-home-stats-grid { grid-template-columns: repeat(2, 1fr); }
    body.ikigai-home-v2.ikv2-home-v1-desktop-target-v2 .ikv2-home-stat:nth-child(2)::after { display: none; }
    body.ikigai-home-v2.ikv2-home-v1-desktop-target-v2 .ikv2-home-journey-grid { grid-template-columns: repeat(3, 1fr); row-gap: 34px; }
    body.ikigai-home-v2.ikv2-home-v1-desktop-target-v2 .ikv2-home-journey-step::after { display: none; }
}
@media (max-width: 900px) {
    body.ikigai-home-v2.ikv2-home-v1-desktop-target-v2 .ikv2-event-grid-r20,
    body.ikigai-home-v2.ikv2-home-v1-desktop-target-v2 .ikv2-home-stories-faq-grid { grid-template-columns: 1fr; }
    body.ikigai-home-v2.ikv2-home-v1-desktop-target-v2 .ikv2-home-story-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 760px) {
    body.ikigai-home-v2.ikv2-home-v1-desktop-target-v2 .ikv2-container { width: min(100% - 28px, 1180px); }
    body.ikigai-home-v2.ikv2-home-v1-desktop-target-v2 .ikv2-home-stats-grid,
    body.ikigai-home-v2.ikv2-home-v1-desktop-target-v2 .ikv2-home-journey-grid,
    body.ikigai-home-v2.ikv2-home-v1-desktop-target-v2 .ikv2-home-story-grid,
    body.ikigai-home-v2.ikv2-home-v1-desktop-target-v2 .ikv2-video-showcase-grid {
        grid-template-columns: 1fr !important;
    }
    body.ikigai-home-v2.ikv2-home-v1-desktop-target-v2 .ikv2-home-stat::after { display: none; }
    body.ikigai-home-v2.ikv2-home-v1-desktop-target-v2 .ikv2-home-stat { padding-inline: 12px; }
    body.ikigai-home-v2.ikv2-home-v1-desktop-target-v2 .ikv2-home-journey-grid { gap: 28px; }
}
/* HOME_V1_FULL_DESKTOP_TARGET_V2_END */

/* HOME_V1_ELEGANT_HERO_FONT_TARGET_ICONS_V2_3_START */

/*
 * Restore the elegant Full Desktop Target V2 composition.
 * Only hero typography is reduced; header, hero height, image ratio,
 * overlays, controls and discovery card remain on the original V2 baseline.
 */
@media (min-width: 1101px) {
    body.ikigai-home-v2.ikv2-home-v1-desktop-target-v2 .ikv2-hero-slider h1 {
        font-size: clamp(43px, 4.15vw, 57px) !important;
        line-height: 1.01 !important;
        letter-spacing: -.038em !important;
        text-wrap: balance;
    }

    body.ikigai-home-v2.ikv2-home-v1-desktop-target-v2 .ikv2-hero-slider h2 {
        font-size: clamp(22px, 2.15vw, 30px) !important;
        line-height: 1.14 !important;
        letter-spacing: -.012em !important;
        text-wrap: balance;
    }
}

/* Shared premium inline SVG contract. */
body.ikigai-home-v2.ikv2-home-v1-desktop-target-v2 .ikv2-target-svg-icon {
    display: grid;
    place-items: center;
    width: 100%;
    height: 100%;
    color: inherit;
}

body.ikigai-home-v2.ikv2-home-v1-desktop-target-v2 .ikv2-target-svg-icon svg {
    display: block;
    width: 100%;
    height: 100%;
    overflow: visible;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.65;
    stroke-linecap: round;
    stroke-linejoin: round;
}

body.ikigai-home-v2.ikv2-home-v1-desktop-target-v2 .ikv2-target-svg-icon svg.is-filled {
    fill: currentColor;
    stroke: currentColor;
    stroke-width: 1.1;
}

/* Statistics — compact circular icons matching the target. */
body.ikigai-home-v2.ikv2-home-v1-desktop-target-v2 .ikv2-home-stat-icon {
    display: grid !important;
    place-items: center !important;
    width: 58px !important;
    height: 58px !important;
    flex: 0 0 58px !important;
    padding: 13px !important;
    border: 1px solid rgba(215, 151, 42, .42) !important;
    border-radius: 50% !important;
    background: rgba(255, 252, 247, .86) !important;
    color: #c47914 !important;
    box-shadow: 0 10px 24px rgba(150, 96, 15, .055) !important;
    font-size: 0 !important;
}

body.ikigai-home-v2.ikv2-home-v1-desktop-target-v2
.ikv2-home-stat:nth-child(2) .ikv2-home-stat-icon {
    color: #b86d10 !important;
}

body.ikigai-home-v2.ikv2-home-v1-desktop-target-v2
.ikv2-home-stat:nth-child(3) .ikv2-home-stat-icon {
    color: #c3841b !important;
}

body.ikigai-home-v2.ikv2-home-v1-desktop-target-v2
.ikv2-home-stat:nth-child(4) .ikv2-home-stat-icon {
    color: #be7a16 !important;
}

/* Community Values — refined square icon tiles matching the target. */
body.ikigai-home-v2.ikv2-home-v1-desktop-target-v2 .ikv2-value-top .ikv2-icon {
    display: grid !important;
    place-items: center !important;
    width: 48px !important;
    height: 48px !important;
    padding: 13px !important;
    border-radius: 16px !important;
    color: #005044 !important;
    font-size: 0 !important;
}

body.ikigai-home-v2.ikv2-home-v1-desktop-target-v2
.ikv2-value-top .ikv2-icon-guided {
    color: #006256 !important;
}

body.ikigai-home-v2.ikv2-home-v1-desktop-target-v2
.ikv2-value-top .ikv2-icon-gold {
    color: #c2760d !important;
}

body.ikigai-home-v2.ikv2-home-v1-desktop-target-v2
.ikv2-value-top .ikv2-icon-heart {
    color: #cb5f59 !important;
}

/* Journey — correct line icons in proportional circular frames. */
body.ikigai-home-v2.ikv2-home-v1-desktop-target-v2 .ikv2-home-journey-icon {
    display: grid !important;
    place-items: center !important;
    width: 66px !important;
    height: 66px !important;
    margin-inline: auto !important;
    padding: 17px !important;
    border: 1px solid rgba(211, 142, 30, .48) !important;
    border-radius: 50% !important;
    background: rgba(255, 252, 247, .76) !important;
    color: #c8780d !important;
    box-shadow: 0 9px 25px rgba(151, 94, 10, .045) !important;
    font-size: 0 !important;
}

@media (max-width: 1100px) {
    body.ikigai-home-v2.ikv2-home-v1-desktop-target-v2 .ikv2-home-stat-icon {
        width: 54px !important;
        height: 54px !important;
        flex-basis: 54px !important;
        padding: 12px !important;
    }

    body.ikigai-home-v2.ikv2-home-v1-desktop-target-v2 .ikv2-home-journey-icon {
        width: 62px !important;
        height: 62px !important;
        padding: 16px !important;
    }
}

/* HOME_V1_ELEGANT_HERO_FONT_TARGET_ICONS_V2_3_END */

/* HOME_V1_CONTENT_EXPANSION_V2_4_START */

body.ikigai-home-v2.ikv2-home-v1-desktop-target-v2
section[data-ikv2-video-section="ikigai"] .ikv2-video-showcase-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    column-gap: 24px !important;
    row-gap: 26px !important;
    align-items: stretch !important;
}

body.ikigai-home-v2.ikv2-home-v1-desktop-target-v2
section[data-ikv2-video-section="ikigai"] .ikv2-video-showcase-card {
    height: 100% !important;
}

body.ikigai-home-v2.ikv2-home-v1-desktop-target-v2 .ikv2-home-stories-faq-grid {
    align-items: stretch !important;
}

body.ikigai-home-v2.ikv2-home-v1-desktop-target-v2 .ikv2-home-stories-panel,
body.ikigai-home-v2.ikv2-home-v1-desktop-target-v2 .ikv2-home-faq-panel {
    display: flex !important;
    flex-direction: column !important;
    min-height: 100% !important;
}

body.ikigai-home-v2.ikv2-home-v1-desktop-target-v2 .ikv2-home-story-grid {
    flex: 1 1 auto !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    align-content: start !important;
}

body.ikigai-home-v2.ikv2-home-v1-desktop-target-v2 .ikv2-home-story-card {
    display: flex !important;
    flex-direction: column !important;
    height: 100% !important;
}

body.ikigai-home-v2.ikv2-home-v1-desktop-target-v2 .ikv2-home-story-copy {
    display: flex !important;
    flex: 1 1 auto !important;
    flex-direction: column !important;
}

body.ikigai-home-v2.ikv2-home-v1-desktop-target-v2 .ikv2-home-story-copy a {
    margin-top: auto !important;
    padding-top: 9px !important;
}

body.ikigai-home-v2.ikv2-home-v1-desktop-target-v2 .ikv2-home-faq-list {
    display: flex !important;
    flex: 1 1 auto !important;
    flex-direction: column !important;
}

body.ikigai-home-v2.ikv2-home-v1-desktop-target-v2
.ikv2-home-stories-panel > .ikv2-home-section-button,
body.ikigai-home-v2.ikv2-home-v1-desktop-target-v2
.ikv2-home-faq-panel > .ikv2-home-section-button {
    margin-top: auto !important;
    padding-top: 20px !important;
}

@media (max-width: 900px) {
    body.ikigai-home-v2.ikv2-home-v1-desktop-target-v2 .ikv2-home-stories-panel,
    body.ikigai-home-v2.ikv2-home-v1-desktop-target-v2 .ikv2-home-faq-panel {
        min-height: 0 !important;
    }
}

@media (max-width: 760px) {
    body.ikigai-home-v2.ikv2-home-v1-desktop-target-v2
    section[data-ikv2-video-section="ikigai"] .ikv2-video-showcase-grid,
    body.ikigai-home-v2.ikv2-home-v1-desktop-target-v2 .ikv2-home-story-grid {
        grid-template-columns: 1fr !important;
    }
}

/* HOME_V1_CONTENT_EXPANSION_V2_4_END */
