:root {
  --black: #050505;
  --panel: rgba(14, 13, 10, 0.94);
  --gold: #d4af37;
  --gold-light: #f0cf70;
  --gold-dark: #7d611d;
  --white: #f7f5ef;
  --muted: #aaa69c;
  --line: rgba(212, 175, 55, 0.48);
  --serif: "Cinzel", Georgia, serif;
  --sans: "Montserrat", Arial, sans-serif;
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  min-width: 320px;
  color: var(--white);
  background:
    radial-gradient(circle at 50% 30%, rgba(212, 175, 55, 0.065), transparent 27rem),
    repeating-linear-gradient(115deg, transparent 0 5rem, rgba(255,255,255,0.009) 5.05rem 5.1rem),
    var(--black);
  font-family: var(--sans);
  overflow-x: hidden;
}
button, a { font: inherit; }
button:focus-visible, a:focus-visible { outline: 2px solid var(--gold-light); outline-offset: 4px; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.skip-link { position: fixed; z-index: 100; top: .75rem; left: .75rem; padding: .7rem 1rem; color: #000; background: var(--gold-light); transform: translateY(-160%); }
.skip-link:focus { transform: translateY(0); }

.site-header {
  width: min(94rem, calc(100% - 3rem));
  min-height: 4.6rem;
  margin: 0 auto;
  border-bottom: 1px solid var(--line);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 2rem;
}
.brand-home { display: inline-flex; align-items: center; gap: .75rem; color: var(--white); text-decoration: none; }
.brand-home img { width: 2.35rem; height: 2.35rem; }
.brand-wordmark { font: 600 1.22rem/1 var(--serif); letter-spacing: .08em; }
.brand-wordmark sup { color: var(--gold); font-size: .45em; }
.brand-wordmark small { display: block; margin-top: .32rem; color: var(--gold); font: 600 .48rem/1 var(--sans); letter-spacing: .48em; }
.site-nav { display: flex; align-items: center; gap: clamp(1.2rem, 2.5vw, 3rem); }
.site-nav a { position: relative; padding: 1.65rem 0; color: #d6d3ca; font: 500 .72rem/1 var(--sans); letter-spacing: .16em; text-decoration: none; text-transform: uppercase; }
.site-nav a::after { content: ""; position: absolute; right: 0; bottom: 1.08rem; left: 0; height: 1px; background: var(--gold-light); transform: scaleX(0); transition: transform 180ms ease; }
.site-nav a:hover { color: var(--white); }
.site-nav a:hover::after { transform: scaleX(1); }
.site-nav .nav-solara { margin-left: -.25rem; border: 1px solid rgba(155,99,255,.55); padding: .62rem .78rem; color: #c79bff; background: rgba(91,41,160,.07); }
.site-nav .nav-solara::after { display: none; }
.site-nav .nav-solara:hover, .site-nav .nav-solara:focus-visible { border-color: #c79bff; color: var(--white); background: rgba(155,99,255,.13); }
.nav-toggle { display: none; }

@media (max-width: 1180px) and (min-width: 901px) {
  .site-header { gap: 1rem; }
  .site-nav { gap: clamp(.65rem, 1.15vw, 1.1rem); }
  .site-nav a { font-size: .6rem; letter-spacing: .09em; }
  .site-nav .nav-solara { padding: .58rem .65rem; }
}

.search-return { position: fixed; z-index: 80; left: 1rem; bottom: 1rem; border: 1px solid rgba(212,175,55,.55); padding: .65rem .85rem; color: var(--gold-light); background: rgba(5,5,5,.94); box-shadow: 0 .55rem 1.4rem rgba(0,0,0,.38); font-size: .56rem; font-weight: 600; letter-spacing: .14em; line-height: 1; text-decoration: none; text-transform: uppercase; transition: color 180ms ease, border-color 180ms ease, transform 180ms ease; }
.search-return:hover, .search-return:focus-visible { border-color: var(--gold-light); color: var(--white); transform: translateY(-2px); }

main { width: min(94rem, calc(100% - 3rem)); margin: 0 auto; }
.ecosystem-intro { padding: clamp(1.75rem, 4vh, 3.8rem) 1rem clamp(1.25rem, 2.5vh, 2.2rem); text-align: center; }
.eyebrow, .detail-audience, .guidance-card p, .behind-section > div > p { margin: 0; color: var(--gold-light); font-size: .72rem; letter-spacing: .24em; line-height: 1.6; text-transform: uppercase; }
.ecosystem-intro h1 { margin: .5rem 0 .6rem; font: 600 clamp(1.65rem, 2.7vw, 2.65rem)/1.08 var(--serif); letter-spacing: .075em; }
.ecosystem-intro h1 sup, .guidance-card h2 sup { color: var(--gold); font-size: .38em; vertical-align: super; }
.ecosystem-intro > p:last-child { margin: 0 auto; max-width: 51rem; color: #d5d2ca; font-size: clamp(.95rem, 1.2vw, 1.08rem); line-height: 1.65; }

.worlds-section { position: relative; }
.world-map { position: relative; display: grid; grid-template-columns: repeat(12, 1fr); grid-template-rows: repeat(4, minmax(5.15rem, auto)); gap: .72rem 1.15rem; min-height: 23rem; padding: .4rem 0; isolation: isolate; }
.world {
  position: relative;
  z-index: 2;
  min-width: 0;
  border: 1px solid var(--line);
  background: linear-gradient(135deg, rgba(18,17,13,.96), rgba(5,5,5,.94));
  clip-path: polygon(.9rem 0, calc(100% - .9rem) 0, 100% .9rem, 100% calc(100% - .9rem), calc(100% - .9rem) 100%, .9rem 100%, 0 calc(100% - .9rem), 0 .9rem);
  transition: border-color 180ms ease, box-shadow 180ms ease, transform 180ms ease;
}
.world::before, .world::after { content: ""; position: absolute; z-index: 3; top: calc(50% - .42rem); width: .85rem; height: .85rem; border: 1px solid var(--gold-dark); transform: rotate(45deg); background: var(--black); }
.world::before { left: -.48rem; }
.world::after { right: -.48rem; }
.world:hover, .world.is-active { border-color: var(--gold-light); box-shadow: 0 0 1.5rem rgba(212,175,55,.13), inset 0 0 2rem rgba(212,175,55,.03); transform: translateY(-2px); }
.world-number { position: absolute; top: .7rem; left: .85rem; color: rgba(240,207,112,.65); font: 500 .62rem/1 var(--serif); letter-spacing: .14em; }
.world-trigger { width: 100%; min-height: 100%; border: 0; padding: 1.45rem 1rem 1rem; color: var(--white); background: transparent; cursor: pointer; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; text-decoration: none; }
.world-title { font: 600 clamp(.88rem, 1.25vw, 1.12rem)/1.35 var(--serif); letter-spacing: .08em; }
.world-verb { margin-top: .48rem; color: var(--muted); font-size: .7rem; letter-spacing: .1em; }
.explore-label, .story-label { margin-top: .75rem; border-bottom: 1px solid var(--gold-dark); padding: .3rem .1rem; color: var(--gold-light); font-size: .64rem; font-style: normal; letter-spacing: .22em; }
.explore-label i, .story-label i { display: inline-block; font-style: normal; transition: transform 180ms ease; }
.world-trigger:hover .explore-label i { transform: translateX(.3rem); }
.world-education { grid-column: 5 / 9; grid-row: 1; }
.world-facilitation { grid-column: 1 / 4; grid-row: 2; }
.world-ai { grid-column: 10 / 13; grid-row: 2; }
.world-consulting { grid-column: 1 / 4; grid-row: 3; }
.world-creation { grid-column: 10 / 13; grid-row: 3; }
.world-training { grid-column: 5 / 9; grid-row: 4; }
.emblem-core { position: absolute; z-index: 1; top: 50%; left: 50%; width: 6.1rem; height: 6.1rem; transform: translate(-50%, -42%); display: grid; place-items: center; }
.emblem-core img { width: 4.7rem; filter: drop-shadow(0 0 .65rem rgba(212,175,55,.22)); }
.ecosystem-subtitle { max-width: 51rem; margin: .6rem auto 0; font-family: var(--serif) !important; font-size: clamp(.72rem, 1vw, .88rem) !important; letter-spacing: .18em !important; color: var(--gold-light) !important; line-height: 1.7 !important; text-transform: uppercase; }
.core-ring { position: absolute; inset: 0; border: 1px solid var(--line); transform: rotate(45deg); transition: transform 420ms ease; }
.world-map:has(.world:hover) .core-ring { transform: rotate(135deg); }
.path { position: absolute; z-index: 0; height: 1px; background: linear-gradient(90deg, transparent, var(--gold-dark), var(--gold), var(--gold-dark), transparent); transform-origin: center; }
.path-a { top: 37%; left: 18%; width: 33%; transform: rotate(8deg); }
.path-b { top: 37%; right: 18%; width: 33%; transform: rotate(-8deg); }
.path-c { bottom: 37%; left: 18%; width: 33%; transform: rotate(-8deg); }
.path-d { right: 18%; bottom: 37%; width: 33%; transform: rotate(8deg); }
.path-e { top: 10%; left: 38%; width: 24%; transform: rotate(90deg); }
.path-f { bottom: 10%; left: 38%; width: 24%; transform: rotate(90deg); }
.mobile-detail { display: none; }

.ecosystem-page { min-height: 100svh; display: flex; flex-direction: column; }
.ecosystem-page main { flex: 1; display: flex; flex-direction: column; justify-content: center; }
.ecosystem-page .ecosystem-intro { padding-top: clamp(1.25rem, 3vh, 2.6rem); }
.ecosystem-page .map-only { padding-bottom: clamp(1rem, 4vh, 3rem); }
.ecosystem-page .map-only .world-map { min-height: clamp(18rem, 42vh, 26rem); }
.ecosystem-page .world-trigger { padding: .95rem .85rem .72rem; }
.ecosystem-page .world-verb { margin-top: .3rem; }
.ecosystem-page .explore-label { margin-top: .42rem; }
.ecosystem-page .site-footer { margin-top: auto; }

.detail-stage { position: relative; margin-top: 1.2rem; border-top: 1px solid var(--gold-dark); border-bottom: 1px solid rgba(212,175,55,.22); background: linear-gradient(90deg, transparent, rgba(212,175,55,.035) 20% 80%, transparent); }
.world-detail { min-height: 9.4rem; padding: 1.5rem clamp(1rem, 2.5vw, 2.4rem); display: grid; grid-template-columns: 1.25fr .9fr; gap: 1rem 3rem; align-items: center; animation: detailIn 280ms ease both; }
.world-detail[hidden] { display: none; }
@keyframes detailIn { from { opacity: 0; transform: translateY(.35rem); } to { opacity: 1; transform: translateY(0); } }
.world-detail h2, .guidance-card h2, .behind-section h2, .behind-section h3 { margin: 0; font-family: var(--serif); font-weight: 600; }
.world-detail h2 { margin-top: .28rem; font-size: clamp(1.15rem, 1.8vw, 1.65rem); letter-spacing: .04em; }
.world-detail > div:first-child > p:last-child, .experience-note p { margin: .6rem 0 0; color: #d2cfc6; font-size: .9rem; line-height: 1.65; }
.experience-note { border-left: 1px solid var(--line); padding-left: 1.5rem; }
.experience-note > span { color: var(--gold-light); font: 600 .64rem/1 var(--sans); letter-spacing: .2em; }
.example-list { grid-column: 1 / -1; display: flex; flex-wrap: wrap; gap: .55rem; }
.example-list span { border: 1px solid rgba(212,175,55,.28); padding: .42rem .72rem; color: #c8c4ba; font-size: .7rem; letter-spacing: .06em; text-transform: uppercase; }

.guidance-row { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; padding: clamp(1.5rem, 3vh, 2.6rem) 0; }
.guidance-card { min-height: 6.5rem; border: 1px solid rgba(212,175,55,.38); padding: 1.2rem 1.4rem; display: flex; align-items: center; justify-content: space-between; gap: 1.25rem; background: rgba(8,8,7,.76); clip-path: polygon(.7rem 0, 100% 0, 100% calc(100% - .7rem), calc(100% - .7rem) 100%, 0 100%, 0 .7rem); }
.guidance-card p { margin-bottom: .25rem; font-size: .59rem; }
.guidance-card h2 { font-size: clamp(1rem, 1.5vw, 1.35rem); letter-spacing: .08em; }
.future-label { max-width: 11rem; color: var(--muted); font-size: .58rem; letter-spacing: .13em; line-height: 1.55; text-align: right; }
.mini-emblem { flex: 0 0 auto; width: 1.5rem; height: 1.5rem; border: 2px solid var(--gold); transform: rotate(45deg); }

.behind-section { position: relative; min-height: 8rem; border-top: 1px solid rgba(212,175,55,.32); padding: 1.5rem clamp(1rem, 2.5vw, 2rem); display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 1.5rem; overflow: hidden; }
.behind-emblem img { width: 3.6rem; opacity: .8; }
.behind-section h2 { font-size: clamp(1rem, 1.7vw, 1.45rem); letter-spacing: .09em; }
.behind-section h3 { margin-top: .4rem; color: #c5c1b8; font-size: .85rem; letter-spacing: .08em; }
.behind-section .story-label { margin: 0; }
.behind-line { position: absolute; right: -3rem; width: 13rem; height: 13rem; border: 1px solid rgba(212,175,55,.18); transform: rotate(45deg); }

.site-footer { width: min(94rem, calc(100% - 3rem)); margin: 1.5rem auto 0; border-top: 1px solid rgba(212,175,55,.36); padding: 1.15rem 0 1.4rem; display: flex; align-items: center; justify-content: space-between; gap: 1rem; color: #8f8b82; font-size: .58rem; letter-spacing: .13em; line-height: 1.6; }
.site-footer p { margin: 0; }
.site-footer strong { color: var(--gold); font-weight: 600; }
.legal-links { display: flex; flex-wrap: wrap; justify-content: center; gap: .8rem; }

.role-page { min-height: 100svh; display: flex; flex-direction: column; }
.role-page main { flex: 1; display: grid; place-items: center; }
.role-placeholder { width: min(58rem, 100%); padding: clamp(3rem, 10vh, 7rem) 1rem; text-align: center; }
.role-placeholder .role-number { display: block; margin-bottom: 1rem; color: var(--gold-light); font: 500 .72rem/1 var(--serif); letter-spacing: .2em; }
.role-placeholder h1 { margin: 0; font: 600 clamp(2rem, 6vw, 4.8rem)/1.12 var(--serif); letter-spacing: .07em; }
.role-placeholder > p { max-width: 37rem; margin: 1.2rem auto 2rem; color: #c8c5bc; font-size: clamp(.95rem, 1.4vw, 1.08rem); line-height: 1.7; }
.return-map { display: inline-flex; align-items: center; gap: .7rem; border: 1px solid var(--gold-dark); padding: .85rem 1.2rem; color: var(--gold-light); font-size: .68rem; letter-spacing: .16em; text-decoration: none; text-transform: uppercase; }
.return-map:hover { border-color: var(--gold-light); background: rgba(212,175,55,.06); }

/* Reusable split-frame interior page */
.split-page main { width: min(94rem, calc(100% - 3rem)); }
.split-shell {
  position: relative; flex: 1;
  min-height: clamp(35rem, calc(100svh - 11rem), 48rem);
  margin-top: clamp(1.2rem, 3vh, 2.5rem); margin-bottom: clamp(1rem, 2.5vh, 2rem);
  border: 1px solid rgba(212,175,55,.38);
  background: linear-gradient(128deg, rgba(20,18,13,.94), rgba(6,6,5,.98) 43%, rgba(13,12,9,.95));
  clip-path: polygon(1.1rem 0, calc(100% - 1.1rem) 0, 100% 1.1rem, 100% calc(100% - 1.1rem), calc(100% - 1.1rem) 100%, 1.1rem 100%, 0 calc(100% - 1.1rem), 0 1.1rem);
  display: grid; grid-template-columns: minmax(19rem, 38%) 3.8rem minmax(0, 1fr); overflow: hidden;
  animation: splitFrameIn 600ms ease both;
}
.split-shell::before, .split-shell::after { content: ""; position: absolute; width: 11rem; height: 11rem; border: 1px solid rgba(212,175,55,.12); transform: rotate(45deg); pointer-events: none; }
.split-shell::before { top: -7rem; left: -6rem; }
.split-shell::after { right: -7rem; bottom: -6rem; }
@keyframes splitFrameIn { from { opacity: 0; transform: translateY(.55rem); } to { opacity: 1; transform: translateY(0); } }

.identity-frame { position: relative; z-index: 1; padding: clamp(1.5rem, 3vw, 3rem); display: flex; flex-direction: column; }
.portrait-frame { position: relative; width: min(16rem, 75%); aspect-ratio: 4 / 3.35; margin-bottom: clamp(1.4rem, 3vh, 2.4rem); border-bottom: 1px solid var(--gold-dark); overflow: hidden; isolation: isolate; }
.portrait-frame::after { content: none; }
.portrait-frame img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 24%; filter: grayscale(1) contrast(1.08) brightness(.97); mix-blend-mode: screen; transform: scale(1.035); -webkit-mask-image: radial-gradient(ellipse 62% 76% at 49% 44%, #000 44%, rgba(0,0,0,.88) 59%, transparent 86%); mask-image: radial-gradient(ellipse 62% 76% at 49% 44%, #000 44%, rgba(0,0,0,.88) 59%, transparent 86%); }
.portrait-corner { position: absolute; z-index: 2; width: 1.8rem; height: 1.8rem; border-color: var(--gold-light); pointer-events: none; }
.portrait-corner-one { top: 0; left: 0; border-top: 1px solid; border-left: 1px solid; }
.portrait-corner-two { right: 0; bottom: 0; border-right: 1px solid; border-bottom: 1px solid; }
.split-eyebrow { margin: 0 0 .65rem; color: var(--gold-light); font-size: .62rem; font-weight: 600; letter-spacing: .24em; line-height: 1.5; text-transform: uppercase; }
.identity-copy h1 { margin: 0; font: 600 clamp(1.6rem, 2.3vw, 2.45rem)/.98 var(--serif); letter-spacing: .065em; }
.identity-role { margin: .9rem 0 0; color: var(--gold-light); font: 500 .73rem/1.5 var(--serif); letter-spacing: .14em; text-transform: uppercase; }
.identity-role sup, .story-panel h3 sup { color: var(--gold); font-size: .55em; }
.identity-intro { max-width: 31rem; margin: 1.15rem 0 0; color: #cbc8bf; font-size: clamp(.83rem, 1vw, .94rem); line-height: 1.75; }
.identity-actions { margin-top: auto; padding-top: 1.6rem; display: flex; flex-wrap: wrap; gap: .75rem 1.25rem; }
.identity-actions a { color: #aaa69c; font-size: .58rem; letter-spacing: .15em; text-decoration: none; text-transform: uppercase; }
.identity-actions a:hover { color: var(--gold-light); }

.split-divider { position: relative; z-index: 2; display: grid; grid-template-rows: 1fr auto 1fr; justify-items: center; gap: .8rem; padding: 1.4rem 0; }
.split-divider span { width: 1px; height: 100%; background: linear-gradient(transparent, var(--gold-dark)); }
.split-divider span:last-child { background: linear-gradient(var(--gold-dark), transparent); }
.split-divider img { width: 2.55rem; filter: drop-shadow(0 0 .6rem rgba(212,175,55,.18)); animation: dividerReveal 900ms 220ms ease both; }
@keyframes dividerReveal { from { opacity: 0; transform: rotate(-25deg) scale(.7); } to { opacity: 1; transform: rotate(0) scale(1); } }

.story-frame { position: relative; z-index: 1; min-width: 0; padding: clamp(1.7rem, 3.3vw, 3.3rem) clamp(1.5rem, 3.5vw, 3.8rem) clamp(1.4rem, 2.5vw, 2.5rem) clamp(1rem, 2vw, 2rem); display: flex; flex-direction: column; }
.story-heading { display: flex; justify-content: space-between; align-items: end; gap: 1rem; }
.story-heading h2 { margin: 0; font: 600 clamp(1.4rem, 2.3vw, 2.2rem)/1.2 var(--serif); letter-spacing: .035em; }
.tab-instruction { margin: 0 0 .2rem; color: #807d75; font-size: .54rem; letter-spacing: .18em; text-transform: uppercase; }
.story-tabs { margin-top: clamp(1.4rem, 3.5vh, 2.6rem); border-bottom: 1px solid rgba(212,175,55,.25); display: grid; grid-template-columns: repeat(4, 1fr); }
.story-tab { position: relative; min-height: 3.8rem; border: 0; border-right: 1px solid rgba(212,175,55,.16); padding: .7rem .55rem; color: #8f8b82; background: rgba(0,0,0,.16); cursor: pointer; font-size: clamp(.55rem, .75vw, .68rem); letter-spacing: .1em; text-transform: uppercase; transition: color 180ms ease, background 180ms ease; }
.story-tab:first-child { border-left: 1px solid rgba(212,175,55,.16); }
.story-tab::after { content: ""; position: absolute; right: 0; bottom: -1px; left: 0; height: 2px; background: var(--gold-light); transform: scaleX(0); transition: transform 220ms ease; }
.story-tab span { display: block; margin-bottom: .35rem; color: rgba(240,207,112,.65); font: 500 .53rem/1 var(--serif); }
.story-tab:hover { color: #d9d6ce; background: rgba(212,175,55,.035); }
.story-tab[aria-selected="true"] { color: var(--white); background: rgba(212,175,55,.075); }
.story-tab[aria-selected="true"]::after { transform: scaleX(1); }
.story-panels { flex: 1; display: grid; align-items: center; min-height: 19rem; }
.story-panel { padding: clamp(1.4rem, 3vh, 2.3rem) .25rem; animation: panelReveal 300ms ease both; }
.story-panel[hidden] { display: none; }
@keyframes panelReveal { from { opacity: 0; transform: translateX(.45rem); } to { opacity: 1; transform: translateX(0); } }
.panel-kicker { margin: 0 0 .65rem; color: var(--gold-light); font-size: .58rem; font-weight: 600; letter-spacing: .2em; line-height: 1.6; }
.story-panel h3 { max-width: 42rem; margin: 0; font: 600 clamp(1.15rem, 1.45vw, 1.55rem)/1.22 var(--serif); letter-spacing: .025em; }
.story-panel > p:not(.panel-kicker):not(.coming-path) { max-width: 46rem; margin: 1rem 0 0; color: #cbc8bf; font-size: clamp(.88rem, 1.1vw, 1rem); line-height: 1.75; }
.role-chips { margin-top: 1.35rem; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: .45rem; }
.role-chips a { position: relative; min-height: 3rem; border: 1px solid rgba(212,175,55,.3); padding: .5rem .95rem .5rem .55rem; color: #bebbb2; background: rgba(0,0,0,.12); display: grid; place-items: center; font-size: .5rem; letter-spacing: .075em; line-height: 1.35; text-align: center; text-decoration: none; text-transform: uppercase; transition: border-color 180ms ease, color 180ms ease, background 180ms ease, transform 180ms ease; }
.role-chips a::after { content: "↗"; position: absolute; top: .24rem; right: .32rem; color: rgba(240,207,112,.58); font-size: .55rem; transition: transform 180ms ease, color 180ms ease; }
.role-chips a:hover, .role-chips a:focus-visible { border-color: var(--gold-light); color: var(--white); background: rgba(212,175,55,.07); transform: translateY(-2px); }
.role-chips a:hover::after, .role-chips a:focus-visible::after { color: var(--gold-light); transform: translate(.1rem, -.1rem); }
.gold-list { margin: 1.1rem 0 0; padding: 0; list-style: none; display: grid; gap: .62rem; }
.gold-list li { position: relative; padding-left: 1.3rem; color: #bdb9b0; font-size: .8rem; line-height: 1.55; }
.gold-list li::before { content: ""; position: absolute; top: .45rem; left: .1rem; width: .42rem; height: .42rem; border: 1px solid var(--gold); transform: rotate(45deg); }
.process-line { margin: 1.5rem 0 0; padding: 0; list-style: none; display: grid; grid-template-columns: repeat(4, 1fr); }
.process-line li { position: relative; min-width: 0; border-top: 1px solid var(--gold-dark); padding: 1rem .65rem 0 0; }
.process-line li::before { content: ""; position: absolute; top: -.28rem; left: 0; width: .5rem; height: .5rem; background: var(--gold); transform: rotate(45deg); }
.process-line span { color: var(--gold-light); font: 500 .52rem/1 var(--serif); }
.process-line strong, .process-line small { display: block; }
.process-line strong { margin-top: .45rem; color: var(--white); font: 600 .7rem/1.3 var(--serif); letter-spacing: .08em; text-transform: uppercase; }
.process-line small { margin-top: .28rem; color: #8f8b82; font-size: .58rem; line-height: 1.45; }
.coming-path { margin: 1.35rem 0 0; display: flex; align-items: center; gap: .9rem; }
.coming-path strong, .coming-path small { display: block; }
.coming-path strong { color: #d5d2ca; font: 500 .72rem/1.5 var(--serif); letter-spacing: .07em; text-transform: uppercase; }
.coming-path small { margin-top: .25rem; color: #8f8b82; font-size: .66rem; }
.mini-diamond { flex: 0 0 auto; width: 1.35rem; height: 1.35rem; border: 1px solid var(--gold); transform: rotate(45deg); }
.panel-progress { display: flex; gap: .42rem; align-items: center; }
.panel-progress span { width: 1.35rem; height: 1px; background: rgba(212,175,55,.24); transition: width 180ms ease, background 180ms ease; }
.panel-progress span.is-current { width: 3rem; background: var(--gold-light); }
.contact-detail { margin-top: 1.5rem; }
.contact-link { display: inline-flex; flex-direction: column; gap: .35rem; border: 1px solid rgba(212,175,55,.35); padding: 1.1rem 1.6rem; color: var(--white); text-decoration: none; transition: border-color 180ms ease, background 180ms ease; }
.contact-link:hover { border-color: var(--gold-light); background: rgba(212,175,55,.06); }
.contact-label { color: var(--gold-light); font: 600 .56rem/1 var(--sans); letter-spacing: .22em; text-transform: uppercase; }
.contact-value { font: 500 clamp(1rem, 1.5vw, 1.3rem)/1.3 var(--serif); letter-spacing: .04em; }
.split-footer { margin-top: 0; }
.split-footer .legal-links span, .split-footer .legal-links a { color: #8f8b82; text-decoration: none; }
.split-footer .legal-links a:hover { color: var(--gold-light); }

/* Shared identity treatment for the five professional worlds */
.role-identity .role-emblem-stage { position: relative; width: min(13rem, 70%); aspect-ratio: 1; margin: 0 0 clamp(1.5rem, 3vh, 2.4rem); display: grid; place-items: center; }
.role-emblem-stage::before, .role-emblem-stage::after { content: ""; position: absolute; border: 1px solid rgba(212,175,55,.26); transform: rotate(45deg); }
.role-emblem-stage::before { inset: 15%; }
.role-emblem-stage::after { inset: 28%; border-color: rgba(212,175,55,.12); }
.role-emblem-stage img { position: relative; z-index: 1; width: 52%; filter: drop-shadow(0 0 .8rem rgba(212,175,55,.18)); transition: transform 420ms ease; }
.role-emblem-stage:hover img { transform: rotate(90deg) scale(.94); }
.role-page-number { display: block; margin-bottom: .7rem; color: var(--gold-light); font: 500 .62rem/1.4 var(--serif); letter-spacing: .22em; }
.role-identity h1 { margin: 0; font: 600 clamp(1.15rem, 1.45vw, 1.55rem)/1.12 var(--serif); letter-spacing: .06em; }
.role-identity h1.long-title { font-size: clamp(1.02rem, 1.25vw, 1.35rem); line-height: 1.16; }
.role-purpose-label { margin: .85rem 0 0; color: var(--gold-light); font: 500 .68rem/1.5 var(--serif); letter-spacing: .13em; text-transform: uppercase; }
.role-purpose { max-width: 31rem; margin: 1rem 0 0; color: #cbc8bf; font-size: clamp(.82rem, 1vw, .92rem); line-height: 1.7; }
.section-summary { margin-top: 1.25rem; display: grid; grid-template-columns: repeat(3, 1fr); gap: .55rem; }
.section-summary span { min-height: 2.7rem; border-left: 1px solid var(--gold-dark); padding: .45rem .55rem; color: #aaa69c; display: flex; align-items: center; font-size: .62rem; letter-spacing: .055em; line-height: 1.45; text-transform: uppercase; }
.role-story .story-panel > p:not(.panel-kicker):not(.coming-path) { max-width: 44rem; }
.role-story .story-panels { min-height: 18rem; }
.role-story .story-panel h3 { font-size: clamp(1.15rem, 1.45vw, 1.55rem); line-height: 1.25; }
.story-tabs.six-tabs { grid-template-columns: repeat(3, 1fr); }
.six-tabs .story-tab:nth-child(n+4) { border-top: 1px solid rgba(212,175,55,.16); }
.service-map { margin-top: 1.25rem; display: grid; grid-template-columns: repeat(3, 1fr); gap: .45rem; }
.service-map a { min-height: 3rem; border: 1px solid rgba(212,175,55,.27); padding: .6rem .7rem; color: #bdb9b0; background: rgba(0,0,0,.12); display: flex; align-items: center; justify-content: space-between; gap: .45rem; font-size: .56rem; letter-spacing: .08em; line-height: 1.4; text-decoration: none; text-transform: uppercase; transition: color 180ms ease, border-color 180ms ease, background 180ms ease; }
.service-map a::after { content: "→"; color: var(--gold-light); }
.service-map a:hover, .service-map a:focus-visible { border-color: var(--gold-light); color: var(--white); background: rgba(212,175,55,.06); }
.service-list { margin: 1.1rem 0 0; padding: 0; list-style: none; display: grid; grid-template-columns: 1fr 1fr; gap: .55rem 1rem; }
.service-list li { border-left: 1px solid var(--gold-dark); padding: .35rem 0 .35rem .7rem; }
.service-list strong, .service-list span { display: block; }
.service-list strong { color: #ddd9d0; font: 500 .64rem/1.4 var(--serif); letter-spacing: .06em; text-transform: uppercase; }
.service-list span { margin-top: .18rem; color: #918d84; font-size: .6rem; line-height: 1.45; }
.offer-grid { margin: 1.1rem 0 0; display: grid; grid-template-columns: 1fr 1fr; gap: .55rem 1rem; }
.offer-item { border-left: 1px solid var(--gold-dark); padding: .35rem 0 .35rem .7rem; }
.offer-item strong, .offer-item span { display: block; }
.offer-item strong { color: #ddd9d0; font: 500 .64rem/1.4 var(--serif); letter-spacing: .06em; text-transform: uppercase; }
.offer-item span { margin-top: .18rem; color: #918d84; font-size: .6rem; line-height: 1.45; }
.scope-note { margin-top: 1rem !important; border-top: 1px solid rgba(212,175,55,.2); padding-top: .7rem; color: #969289 !important; font-size: .68rem !important; line-height: 1.55 !important; }
.panel-cta { margin-top: 1rem; display: inline-flex; border-bottom: 1px solid var(--gold-dark); padding: .35rem 0; color: var(--gold-light); font-size: .6rem; letter-spacing: .14em; text-decoration: none; text-transform: uppercase; }
.panel-cta:hover { border-color: var(--gold-light); color: var(--white); }

/* Progressive disclosure for the five World service areas */
.role-page .service-map, .role-page .panel-progress { display: none; }
.role-page .story-tabs.six-tabs { margin-top: clamp(1.25rem, 3vh, 2rem); border: 0; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .65rem; }
.role-page .service-launcher .story-tab { min-height: 4.5rem; border: 1px solid rgba(212,175,55,.28); padding: .85rem 2.4rem .85rem 1rem; color: #bbb7ae; background: rgba(0,0,0,.14); text-align: left; }
.role-page .service-launcher .story-tab:first-child { border-left: 1px solid rgba(212,175,55,.28); }
.role-page .service-launcher .story-tab:nth-child(n+4) { border-top: 1px solid rgba(212,175,55,.28); }
.role-page .service-launcher .story-tab::after { content: "↗"; top: 50%; right: 1rem; bottom: auto; left: auto; width: auto; height: auto; color: var(--gold-light); background: transparent; font-size: .82rem; transform: translateY(-50%); transition: transform 180ms ease, color 180ms ease; }
.role-page .service-launcher .story-tab:hover, .role-page .service-launcher .story-tab:focus-visible { border-color: var(--gold-light); color: var(--white); background: rgba(212,175,55,.065); }
.role-page .service-launcher .story-tab:hover::after, .role-page .service-launcher .story-tab:focus-visible::after { color: var(--white); transform: translate(.16rem, calc(-50% - .16rem)); }
.role-page .service-launcher .story-tab span { margin-bottom: .45rem; }
.role-page .role-story .story-panels { min-height: 0; }
.role-page .role-story .story-panel[data-panel="overview"] { padding-top: clamp(1.5rem, 3vh, 2.2rem); padding-bottom: .5rem; }

.service-dialog { width: min(68rem, calc(100% - 2rem)); max-width: none; max-height: calc(100svh - 2rem); border: 1px solid rgba(212,175,55,.58); padding: 0; color: var(--white); background: #070706; box-shadow: 0 0 5rem rgba(0,0,0,.75), 0 0 2rem rgba(212,175,55,.08); }
.service-dialog::backdrop { background: rgba(0,0,0,.84); backdrop-filter: blur(.35rem); }
.service-dialog-shell { position: relative; max-height: calc(100svh - 2rem); display: grid; grid-template-rows: auto minmax(0, 1fr) auto; overflow: hidden; }
.service-dialog-shell::before { content: ""; position: absolute; inset: .55rem; border: 1px solid rgba(212,175,55,.1); pointer-events: none; }
.service-dialog-close { position: absolute; z-index: 4; top: .8rem; right: 1rem; border: 0; padding: .25rem .45rem; color: #bdb8ae; background: transparent; cursor: pointer; font-size: 1.6rem; line-height: 1; }
.service-dialog-close:hover, .service-dialog-close:focus-visible { color: var(--gold-light); }
.service-dialog-header { border-bottom: 1px solid rgba(212,175,55,.18); padding: 1.25rem clamp(1.4rem, 4vw, 3.5rem); background: linear-gradient(90deg, rgba(212,175,55,.055), transparent 60%); }
.service-dialog-world { margin: 0; padding-right: 2.2rem; color: #918c81; font-size: .56rem; letter-spacing: .18em; line-height: 1.5; text-transform: uppercase; }
.service-dialog-content { position: relative; overflow-y: auto; padding: clamp(2rem, 5vw, 4rem) clamp(1.4rem, 6vw, 5rem) clamp(1.8rem, 4vw, 3.2rem); scrollbar-color: var(--gold-dark) #0a0907; }
.service-dialog-content .panel-kicker { font-size: .62rem; }
.service-dialog-content h3 { max-width: 52rem; margin: 0; font: 600 clamp(1.15rem, 1.45vw, 1.55rem)/1.2 var(--serif); letter-spacing: .025em; }
.service-dialog-content > p:not(.panel-kicker) { max-width: 53rem; margin: 1.15rem 0 0; color: #cbc8bf; font-size: clamp(.86rem, 1.2vw, 1rem); line-height: 1.8; }
.service-dialog .service-list, .service-dialog .offer-grid { margin-top: 1.8rem; gap: 1rem 1.8rem; }
.service-dialog .service-list li, .service-dialog .offer-item { border-left-color: var(--gold); padding: .55rem 0 .55rem 1rem; }
.service-dialog .service-list strong, .service-dialog .offer-item strong { font-size: .68rem; line-height: 1.5; }
.service-dialog .service-list span, .service-dialog .offer-item span { margin-top: .3rem; color: #aaa69d; font-size: .68rem; line-height: 1.6; }
.service-dialog .scope-note { margin-top: 1.5rem !important; padding-top: 1rem; font-size: .72rem !important; }
.service-dialog-actions { border-top: 1px solid rgba(212,175,55,.18); padding: 1rem clamp(1.4rem, 4vw, 3.5rem); display: flex; justify-content: space-between; align-items: center; gap: 1rem; background: rgba(212,175,55,.025); }
.service-dialog-actions button { border: 0; padding: .45rem 0; color: #8f8a80; background: transparent; cursor: pointer; font-size: .56rem; letter-spacing: .13em; text-transform: uppercase; }
.service-dialog-actions a { border-bottom: 1px solid var(--gold-dark); padding: .45rem 0; color: var(--gold-light); font-size: .58rem; letter-spacing: .13em; text-decoration: none; text-transform: uppercase; }
.service-dialog-actions button:hover, .service-dialog-actions button:focus-visible, .service-dialog-actions a:hover, .service-dialog-actions a:focus-visible { color: var(--white); }

/* Meet Yolandie: concise profile with progressive professional detail */
.career-markers { margin-top: 1.25rem; border-top: 1px solid rgba(212,175,55,.2); padding-top: 1rem; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .55rem; }
.career-markers span { min-width: 0; border-left: 1px solid var(--gold-dark); padding-left: .55rem; color: #88847b; font-size: .46rem; letter-spacing: .08em; line-height: 1.45; text-transform: uppercase; }
.career-markers strong { display: block; margin-bottom: .22rem; color: var(--gold-light); font: 600 .8rem/1 var(--serif); letter-spacing: .08em; }
.meet-story { justify-content: center; }
.meet-overview { max-width: 46rem; }
.meet-overview h2 { margin: .65rem 0 0; font: 600 clamp(1.15rem, 1.45vw, 1.55rem)/1.12 var(--serif); letter-spacing: .025em; }
.meet-overview > p:last-child { max-width: 43rem; margin: 1rem 0 0; color: #c4c0b7; font-size: clamp(.82rem, 1vw, .94rem); line-height: 1.75; }
.meet-chapter-grid { margin-top: clamp(1.5rem, 4vh, 2.7rem); display: grid; grid-template-columns: 1fr 1fr; gap: .75rem; }
.meet-chapter-grid button { position: relative; min-height: 7rem; border: 1px solid rgba(212,175,55,.27); padding: 1.1rem 2.6rem 1rem 1.1rem; color: #bab6ad; background: rgba(0,0,0,.14); display: flex; align-items: flex-start; flex-direction: column; cursor: pointer; text-align: left; transition: border-color 180ms ease, color 180ms ease, background 180ms ease, transform 180ms ease; }
.meet-chapter-grid button::after { content: "↗"; position: absolute; top: 1rem; right: 1rem; color: var(--gold-light); font-size: .82rem; }
.meet-chapter-grid button:hover, .meet-chapter-grid button:focus-visible { border-color: var(--gold-light); color: var(--white); background: rgba(212,175,55,.06); transform: translateY(-2px); }
.meet-chapter-grid span { color: rgba(240,207,112,.68); font: 500 .56rem/1 var(--serif); }
.meet-chapter-grid strong { margin-top: .65rem; color: #e2ded5; font: 500 .78rem/1.35 var(--serif); letter-spacing: .08em; text-transform: uppercase; }
.meet-chapter-grid small { margin-top: .4rem; color: #88847b; font-size: .58rem; line-height: 1.5; }
.meet-dialog .gold-list { grid-template-columns: 1fr; }
.meet-dialog .gold-list li { font-size: .8rem; }

.directory-intro { position: relative; padding: clamp(2rem, 5vw, 4.5rem) 1rem 2rem; text-align: center; }
.directory-intro h1 { margin: .55rem 0 .6rem; font: 600 clamp(1.8rem, 4vw, 3.8rem)/1.08 var(--serif); letter-spacing: .08em; }
.directory-intro > p:last-child { max-width: 49rem; margin: 0 auto; color: #c8c5bc; line-height: 1.65; }
.back-to-map { position: absolute; top: 1.25rem; left: 0; color: var(--gold-light); font-size: .66rem; letter-spacing: .16em; text-decoration: none; }
.back-to-map:hover { text-decoration: underline; text-underline-offset: .35rem; }
.world-directory { border-top: 1px solid rgba(212,175,55,.3); }
.directory-detail { scroll-margin-top: 1rem; padding: clamp(2rem, 4vw, 3.6rem) clamp(1rem, 3vw, 2.8rem); border-bottom: 1px solid rgba(212,175,55,.28); background: linear-gradient(110deg, rgba(212,175,55,.035), transparent 55%); }
.directory-detail:target { background: linear-gradient(110deg, rgba(212,175,55,.095), transparent 62%); box-shadow: inset .22rem 0 0 var(--gold); }
.directory-grid { display: grid; grid-template-columns: 1.25fr .9fr; gap: clamp(2rem, 5vw, 5rem); align-items: center; margin-top: .55rem; }
.directory-role { display: block; margin-bottom: .7rem; color: var(--gold-light); font: 600 .68rem/1.4 var(--sans); letter-spacing: .18em; }
.directory-detail h2 { margin: 0; font: 600 clamp(1.25rem, 2.3vw, 2rem)/1.25 var(--serif); letter-spacing: .035em; }
.directory-detail .directory-grid > div:first-child > p, .directory-detail .experience-note p { color: #d2cfc6; font-size: clamp(.9rem, 1.2vw, 1rem); line-height: 1.7; }
.directory-detail .example-list { margin-top: 1.4rem; }

@media (max-width: 900px) {
  .site-header, main, .site-footer { width: min(100% - 2rem, 54rem); }
  .site-header { min-height: 4.15rem; }
  .nav-toggle { position: relative; z-index: 12; width: 2.65rem; height: 2.65rem; border: 1px solid rgba(212,175,55,.42); background: transparent; display: grid; place-content: center; gap: .27rem; }
  .nav-toggle > span:not(.sr-only) { width: 1.15rem; height: 1px; background: var(--gold-light); }
  .site-nav { position: absolute; z-index: 10; top: 4.15rem; right: 1rem; left: 1rem; border: 1px solid var(--gold-dark); padding: .5rem 1rem; background: rgba(5,5,5,.98); display: none; flex-direction: column; align-items: stretch; gap: 0; }
  .site-nav.is-open { display: flex; }
  .site-nav a { padding: 1rem 0; border-bottom: 1px solid rgba(212,175,55,.18); }
  .site-nav .nav-solara { margin: .5rem 0; border: 1px solid rgba(155,99,255,.55); padding: .85rem; text-align: center; }
  .world-map { grid-template-columns: 1fr 1fr; grid-template-rows: repeat(3, minmax(7rem, auto)); }
  .world-education, .world-facilitation, .world-ai, .world-consulting, .world-creation, .world-training { grid-column: auto; grid-row: auto; align-self: stretch; min-height: 0; }
  .emblem-core { display: none; }
  .path-a { top: 17%; left: 25%; width: 50%; transform: none; }
  .path-b { top: 50%; right: 25%; width: 50%; transform: none; }
  .path-c { bottom: 17%; left: 25%; width: 50%; transform: none; }
  .path-d, .path-e, .path-f { display: none; }
  .world::before, .world::after { display: none; }
  .world-detail { grid-template-columns: 1fr; gap: 1rem; }
  .experience-note { padding-left: 0; border-left: 0; border-top: 1px solid rgba(212,175,55,.25); padding-top: 1rem; }
  .guidance-card { align-items: flex-start; flex-direction: column; }
  .future-label { max-width: none; text-align: left; }
  .site-footer { flex-direction: column; text-align: center; }
  .directory-grid { grid-template-columns: 1fr; gap: 1.25rem; }
  .split-page main { width: min(100% - 2rem, 54rem); }
  .split-shell { min-height: 0; grid-template-columns: minmax(14rem, 42%) 2.8rem minmax(0, 1fr); }
  .identity-frame { padding: 1.6rem; }
  .portrait-frame { width: min(13rem, 92%); }
  .story-frame { padding: 1.8rem 1.4rem 1.5rem .6rem; }
  .story-heading { display: block; }
  .tab-instruction { margin-top: .55rem; }
  .story-tabs { grid-template-columns: 1fr 1fr; border: 1px solid rgba(212,175,55,.2); }
  .story-tab { border-bottom: 1px solid rgba(212,175,55,.16); }
  .story-panels { min-height: 24rem; }
  .process-line { grid-template-columns: 1fr 1fr; gap: 1.1rem 0; }
  .role-chips { grid-template-columns: 1fr 1fr; }
  .role-chips a:last-child { grid-column: 1 / -1; }
  .section-summary { grid-template-columns: 1fr; }
  .section-summary span { min-height: 0; }
  .story-tabs.six-tabs { grid-template-columns: 1fr 1fr; }
  .service-map { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 600px) {
  body.has-modal-overlay .site-header { visibility: hidden; pointer-events: none; }
  .site-header, main, .site-footer { width: calc(100% - 1.2rem); }
  .ecosystem-intro { padding: 1.65rem .5rem 1.25rem; }
  .ecosystem-intro h1 { font-size: clamp(1.65rem, 8.7vw, 2.35rem); letter-spacing: .045em; }
  .eyebrow { font-size: .58rem; }
  .ecosystem-intro > p:last-child { font-size: .9rem; }
  .world-map { display: block; min-height: 0; padding: 0; }
  .path, .emblem-core { display: none; }
  .world, .world-creation { width: 100%; margin-bottom: .58rem; clip-path: none; transform: none; }
  .world:hover, .world.is-active { transform: none; }
  .world-number { top: 1.23rem; left: 1rem; }
  .world-trigger { min-height: 4.65rem; padding: .8rem 2.8rem .8rem 3.2rem; align-items: flex-start; text-align: left; }
  .world-trigger::after { content: "+"; position: absolute; right: 1.1rem; color: var(--gold-light); font-size: 1.25rem; font-weight: 300; }
  .world.is-active .world-trigger::after { content: "−"; }
  .world-title { font-size: .88rem; }
  .world-verb { margin-top: .2rem; font-size: .62rem; }
  .explore-label { display: none; }
  .mobile-detail { padding: 0 1rem; color: #d0cdc4; font-size: .82rem; line-height: 1.6; }
  .world.is-active .mobile-detail { display: block; padding-bottom: 1rem; }
  .mobile-detail .mobile-audience { color: var(--gold-light); font-size: .58rem; letter-spacing: .14em; text-transform: uppercase; }
  .mobile-detail p { margin: .45rem 0; }
  .mobile-detail strong { color: var(--white); font-weight: 500; }
  .detail-stage { display: none; }
  .guidance-row { grid-template-columns: 1fr; padding: 1rem 0; }
  .guidance-card { min-height: 5.7rem; padding: 1rem; }
  .behind-section { grid-template-columns: auto 1fr; gap: .85rem; padding: 1.2rem .65rem; }
  .behind-emblem img { width: 2.65rem; }
  .behind-section h2 { font-size: .9rem; }
  .behind-section h3 { font-size: .72rem; }
  .behind-section .story-label { grid-column: 2; justify-self: start; }
  .legal-links { gap: .55rem; }
  .ecosystem-page main { justify-content: flex-start; }
  .ecosystem-page .map-only .world-map { min-height: 0; }
  .ecosystem-page .world-trigger::after { content: "→"; }
  .ecosystem-page .world.is-active .world-trigger::after { content: "→"; }
  .directory-intro { padding-top: 4.4rem; }
  .back-to-map { top: 1.3rem; left: .5rem; }
  .directory-detail { scroll-margin-top: .5rem; padding: 1.8rem .85rem; }
  .split-page main { width: calc(100% - 1.2rem); }
  .split-shell { margin-top: .75rem; grid-template-columns: 1fr; clip-path: polygon(.7rem 0, 100% 0, 100% calc(100% - .7rem), calc(100% - .7rem) 100%, 0 100%, 0 .7rem); }
  .identity-frame { display: grid; grid-template-columns: 6.2rem 1fr; gap: 1rem; padding: 1.15rem; }
  .portrait-frame { grid-row: 1; width: 100%; aspect-ratio: 3 / 4; margin: 0; }
  .identity-copy { grid-row: 1; }
  .identity-copy h1 { font-size: clamp(1.55rem, 8vw, 2.25rem); }
  .identity-intro { grid-column: 1 / -1; font-size: .8rem; }
  .identity-actions { grid-column: 1 / -1; margin-top: 0; padding-top: .5rem; justify-content: space-between; }
  .split-divider { height: 2.8rem; padding: 0 1.15rem; grid-template-columns: 1fr auto 1fr; grid-template-rows: 1fr; align-items: center; gap: .65rem; }
  .split-divider span { width: 100%; height: 1px; background: linear-gradient(90deg, transparent, var(--gold-dark)); }
  .split-divider span:last-child { background: linear-gradient(90deg, var(--gold-dark), transparent); }
  .split-divider img { width: 2rem; }
  .story-frame { padding: 1rem 1.15rem 1.4rem; }
  .story-heading h2 { font-size: 1.35rem; }
  .story-tabs { margin-top: 1.15rem; }
  .story-tab { min-height: 3.45rem; font-size: .57rem; }
  .story-panels { min-height: 24rem; align-items: start; }
  .story-panel { padding-top: 1.5rem; }
  .story-panel h3 { font-size: 1.35rem; }
  .story-panel > p:not(.panel-kicker):not(.coming-path) { font-size: .83rem; }
  .role-chips { grid-template-columns: 1fr 1fr; }
  .role-chips a { min-height: 2.75rem; font-size: .53rem; }
  .role-chips a:last-child { grid-column: 1 / -1; }
  .process-line { grid-template-columns: 1fr 1fr; }
  .split-footer { gap: .65rem; }
  .identity-frame.role-identity { display: grid; grid-template-columns: 5.4rem 1fr; align-items: center; }
  .role-identity .role-emblem-stage { grid-column: 1; width: 5rem; margin: 0; }
  .role-identity-copy { grid-column: 2; }
  .role-identity h1, .role-identity h1.long-title { font-size: clamp(1.35rem, 6.5vw, 1.9rem); }
  .role-purpose { grid-column: 1 / -1; margin-top: .4rem; font-size: .8rem; }
  .role-identity .identity-actions { grid-column: 1 / -1; }
  .role-story .story-panels { min-height: 20rem; }
  .service-list { grid-template-columns: 1fr; }
  .offer-grid { grid-template-columns: 1fr; }
  .service-map { grid-template-columns: 1fr; }
  .role-page .story-tabs.six-tabs { grid-template-columns: 1fr; }
  .role-page .service-launcher .story-tab { min-height: 4.2rem; }
  .service-dialog { width: 100%; height: 100svh; max-height: none; margin: 0; border-width: 0; }
  .service-dialog-shell { height: 100svh; max-height: none; }
  .service-dialog-content { padding: 2.3rem 1.2rem 1.8rem; }
  .service-dialog-content h3 { font-size: 1.25rem; }
  .service-dialog .service-list, .service-dialog .offer-grid { grid-template-columns: 1fr; }
  .service-dialog-actions { padding: .9rem 1.2rem; align-items: flex-start; flex-direction: column-reverse; }
  .career-markers { grid-template-columns: 1fr 1fr 1fr; }
  .meet-chapter-grid { grid-template-columns: 1fr; }
  .meet-chapter-grid button { min-height: 6.2rem; }
}

@media (max-height: 760px) and (min-width: 901px) {
  .site-header { min-height: 3.75rem; }
  .ecosystem-intro { padding-top: 1.2rem; padding-bottom: 1rem; }
  .ecosystem-intro h1 { font-size: clamp(1.65rem, 2.5vw, 2.35rem); }
  .world-map { grid-template-rows: repeat(4, minmax(4.45rem, auto)); gap: .5rem 1rem; min-height: 19.3rem; }
  .ecosystem-page .world-trigger { padding: .68rem .72rem .5rem; }
  .ecosystem-page .world-verb { margin-top: .18rem; }
  .ecosystem-page .explore-label { margin-top: .24rem; padding-top: .2rem; padding-bottom: .2rem; }
  .world-detail { min-height: 8.2rem; padding-top: 1rem; padding-bottom: 1rem; }
  .split-shell { min-height: 30.5rem; margin-top: .85rem; margin-bottom: .65rem; }
  .identity-frame { padding: 1.45rem 2.1rem; }
  .portrait-frame { width: 12.5rem; margin-bottom: 1rem; }
  .identity-copy h1 { font-size: 2.1rem; }
  .identity-intro { margin-top: .75rem; font-size: .8rem; line-height: 1.55; }
  .identity-actions { padding-top: .8rem; }
  .story-frame { padding-top: 1.7rem; padding-bottom: 1.25rem; }
  .story-tabs { margin-top: 1.2rem; }
  .story-panels { min-height: 14rem; }
  .story-panel { padding-top: 1.1rem; padding-bottom: 1rem; }
  .site-footer.split-footer { padding-top: .65rem; padding-bottom: .75rem; }
  .role-identity .role-emblem-stage { width: 8.5rem; margin-bottom: .8rem; }
  .role-identity h1 { font-size: 1.45rem; }
  .role-identity h1.long-title { font-size: 1.2rem; }
  .role-purpose { margin-top: .6rem; font-size: .77rem; line-height: 1.5; }
  .role-story .story-panels { min-height: 13rem; }
  .six-tabs .story-tab { min-height: 2.7rem; padding: .35rem .5rem; }
  .role-story .story-panel { padding-top: .7rem; padding-bottom: .55rem; }
  .role-story .story-panel h3 { font-size: 1.15rem; }
  .role-story .story-panel > p:not(.panel-kicker):not(.coming-path):not(.scope-note) { margin-top: .6rem; font-size: .78rem; line-height: 1.55; }
  .service-list { margin-top: .65rem; gap: .25rem .75rem; }
  .service-list li { padding-top: .2rem; padding-bottom: .2rem; }
  .service-list strong { font-size: .59rem; }
  .service-list span { font-size: .54rem; }
  .offer-grid { margin-top: .65rem; gap: .25rem .75rem; }
  .offer-item { padding-top: .2rem; padding-bottom: .2rem; }
  .offer-item strong { font-size: .59rem; }
  .offer-item span { font-size: .54rem; }
  .service-map { margin-top: .7rem; }
  .service-map a { min-height: 2.35rem; }
  .panel-cta { margin-top: .55rem; }
}

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