/* Scoped additions only: the original homepage stylesheet remains unchanged. */
.perspectives { background:var(--bg); }
.perspectives [hidden] { display:none!important; }
.perspective-switch { position:sticky; top:56px; z-index:20; background:rgba(0,0,0,.94); backdrop-filter:blur(20px); border-bottom:1px solid var(--border); }
.perspective-switch>.container { display:flex; align-items:center; gap:24px; padding-top:18px; padding-bottom:18px; }
.perspective-switch .roles-bar { margin:0; gap:8px; }
.perspective-switch>.container>span { font-size:13px; color:var(--text-muted); white-space:nowrap; }
.perspective-skip { margin-left:auto; font-size:13px; color:var(--text-secondary); text-decoration:none; white-space:nowrap; }
.perspective-screen { min-height:calc(100svh - 130px); display:flex; align-items:center; padding:110px 0; scroll-margin-top:150px; }
.perspective-screen:nth-child(even) { background:var(--bg-elevated); }
.perspective-screen .section-title { text-align:left; margin:16px 0 26px; }
.perspective-intro { text-align:center; }
.perspective-intro .section-title { text-align:center; font-size:clamp(36px,5vw,64px); }
.perspective-headline { font-size:clamp(22px,3vw,36px); font-weight:600; line-height:1.5; margin-bottom:24px; }
.perspective-copy { font-size:18px; font-weight:300; line-height:1.9; color:var(--text-secondary); max-width:690px; }
.perspective-intro .perspective-copy { margin:0 auto; }
.perspective-outline { display:flex; flex-wrap:wrap; justify-content:center; gap:14px; margin-top:54px; }
.perspective-outline a { display:flex; gap:12px; padding:16px 22px; color:var(--text-secondary); font-size:14px; border:1px solid var(--border); background:var(--bg-card); border-radius:12px; text-decoration:none; }
.perspective-outline span { color:var(--accent); }
.perspective-grid { display:grid; grid-template-columns:1.1fr 1fr; align-items:center; gap:80px; }
.perspective-detail { padding:40px; border:1px solid var(--border); border-radius:20px; background:var(--bg-card); }
.perspective-flow { list-style:none; margin:24px 0 32px; padding:0; }
.perspective-flow li { font-size:22px; line-height:1.6; font-weight:500; text-align:center; }
.perspective-flow li+li:before { content:'↓'; display:block; color:var(--accent); opacity:.7; font-size:17px; margin:12px 0; }
.perspective-features { display:flex; flex-wrap:wrap; gap:8px; padding-top:24px; border-top:1px solid var(--border); }
.perspective-features span { border-radius:8px; padding:9px 12px; font-size:14px; color:var(--text-secondary); background:var(--bg-card-hover); }
.perspective-end { text-align:center; padding:60px 24px; }
.perspectives a:focus-visible,.perspectives button:focus-visible { outline:2px solid var(--accent); outline-offset:4px; }
@media(max-width:900px) {
.perspective-switch>.container { flex-wrap:wrap; gap:12px; }
.perspective-switch>.container>span { display:none; }
.perspective-skip { margin-left:0; }
.perspective-grid { grid-template-columns:1fr; gap:38px; }
.perspective-screen { min-height:80svh; padding:85px 0; scroll-margin-top:210px; }
.perspective-detail { padding:28px; }
.perspective-switch .role-btn { padding:9px 13px; font-size:13px; }
.perspective-copy { font-size:16px; }
}
@media(prefers-reduced-motion:reduce) { .perspectives * { scroll-behavior:auto; } }

/* Landing invitation: the original black / blue / gradient visual language. */
#journey[hidden] { display:none!important; }
.entry-hero { flex-direction:column; justify-content:center; padding:90px 0 40px; gap:40px; min-height:100svh; }
.entry-hero .hero-inner { padding:0 28px; margin:0 auto; }
.entry-hero .hero-title { font-size:clamp(40px,5vw,68px); }
.entry-hero .hero-sub { margin-bottom:22px; }
.entry-hero .hero-label { margin-bottom:16px; }
.entry-hero .scroll-indicator { display:none; }
.entry-choices { position:relative; z-index:2; width:100%; max-width:1280px; padding:0 28px; margin:0 auto; scroll-margin-top:85px; }
.entry-question { display:flex; align-items:baseline; justify-content:space-between; gap:16px; margin-bottom:20px; }
.entry-question h2 { font-size:22px; font-weight:500; letter-spacing:-.02em; }
.entry-question>span { color:var(--text-muted); font-size:14px; }
.entry-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; }
.entry-card { display:flex; flex-direction:column; align-items:flex-start; gap:12px; text-align:left; padding:25px 22px; border-radius:20px; border:1px solid var(--border); background:var(--bg-card); color:var(--text); font:inherit; cursor:pointer; transition:transform .25s,border-color .25s,background .25s; }
.entry-card:hover,.entry-card:focus-visible { transform:translateY(-5px); border-color:var(--accent); background:var(--bg-card-hover); box-shadow:0 10px 35px #2997ff12; }
.entry-card:focus-visible { outline:2px solid var(--accent); outline-offset:4px; }
.entry-role { font-size:13px; color:var(--accent); letter-spacing:.04em; }
.entry-card strong { font-size:21px; letter-spacing:-.03em; line-height:1.4; }
.entry-description { font-size:14px; color:var(--text-secondary); line-height:1.7; }
.entry-tags { font-size:12px; color:var(--text-muted); line-height:1.8; }
.entry-action { display:flex; justify-content:space-between; width:100%; margin-top:auto; padding-top:20px; color:var(--accent); font-size:14px; }
.entry-return { display:block; width:max-content; margin:0 auto 26px; color:var(--text-secondary); font-size:14px; text-decoration:none; }
.perspectives { scroll-margin-top:56px; }
@media(max-width:1023px) {
.entry-hero .hero-text { text-align:left; }
.entry-hero .hero-actions { justify-content:flex-start; }
.entry-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
.entry-hero .hero-inner { grid-template-columns:1fr; }
}
@media(max-width:600px) {
.entry-hero { padding-top:90px; gap:32px; }
.entry-choices,.entry-hero .hero-inner { padding-left:20px; padding-right:20px; }
.entry-question { align-items:flex-start; flex-direction:column; gap:8px; }
.entry-card { padding:20px 15px; gap:10px; }
.entry-card strong { font-size:18px; }
.entry-tags { display:none; }
.entry-action { padding-top:12px; }
}
@media(prefers-reduced-motion:reduce) { .entry-card { transition:none; } .entry-card:hover { transform:none; } }
/* Invite exploration through light and a clear forward action. */
.entry-card { position:relative; isolation:isolate; overflow:hidden; --card-color:41,151,255; --spot-x:50%; --spot-y:0%; transition:transform .3s ease,border-color .3s ease,background .3s ease,box-shadow .3s ease; }
.entry-card[data-role="cio"] { --card-color:119,112,255; }
.entry-card[data-role="ceo"] { --card-color:185,90,242; }
.entry-card[data-role="business"] { --card-color:67,185,225; }
.entry-card::before { content:''; position:absolute; inset:0; z-index:-1; pointer-events:none; background:radial-gradient(280px circle at var(--spot-x) var(--spot-y),rgba(var(--card-color),.18),transparent 75%); opacity:.3; transition:opacity .3s ease; }
.entry-card::after { content:''; position:absolute; top:0; left:20%; right:20%; height:1px; pointer-events:none; background:linear-gradient(90deg,transparent,rgba(var(--card-color),.85),transparent); opacity:.55; transition:left .3s,right .3s,opacity .3s; }
.entry-card .entry-role { color:rgb(var(--card-color)); }
.entry-card .entry-action { align-items:center; color:rgb(var(--card-color)); }
.entry-card .entry-action>span { display:grid; place-items:center; width:32px; height:32px; border:1px solid rgba(var(--card-color),.25); border-radius:50%; background:rgba(var(--card-color),.07); font-size:18px; transition:transform .3s,background .3s,color .3s; }
.entry-card:hover,.entry-card:focus-visible { border-color:rgba(var(--card-color),.65); box-shadow:0 16px 42px #0008,0 0 30px rgba(var(--card-color),.09); }
.entry-card:hover::before,.entry-card:focus-visible::before { opacity:1; }
.entry-card:hover::after,.entry-card:focus-visible::after { left:5%; right:5%; opacity:1; }
.entry-card:hover .entry-action>span,.entry-card:focus-visible .entry-action>span { transform:translate(3px,-3px); background:rgb(var(--card-color)); color:white; }
.entry-card:active { transform:translateY(-1px) scale(.985); }
@media(hover:none) {
.entry-card::before { opacity:.55; }
.entry-card:hover { transform:none; }
}
@media(prefers-reduced-motion:reduce) {
.entry-card,.entry-card::before,.entry-card::after,.entry-card .entry-action>span { transition:none; }
.entry-card:hover,.entry-card:active,.entry-card:focus-visible,.entry-card:hover .entry-action>span,.entry-card:focus-visible .entry-action>span { transform:none; }
}

/* A quiet invitation, then an expansive editorial story. */
#shared-content[hidden],#site-footer[hidden] { display:none!important; }
.entry-hero { min-height:100svh; padding:110px 0 38px; gap:70px; justify-content:space-between; }
.entry-hero .hero-inner { margin:auto; }
.entry-hero .hero-title { font-size:clamp(58px,7vw,98px); font-weight:300; }
.entry-hero .hero-actions { display:none; }
.entry-choices { margin-top:auto; }
.entry-question h2 { font-size:18px; color:var(--text-secondary); font-weight:400; }
.entry-question>span { font-size:13px; }
.entry-card { padding:24px; gap:15px; min-height:142px; border-radius:18px; background:linear-gradient(160deg,#111,#080808); }
.entry-card strong { font-size:19px; font-weight:500; padding-right:18px; }
.entry-card .entry-role { color:var(--text-secondary); font-size:13px; }
.entry-card .entry-action { position:absolute; bottom:20px; right:20px; width:auto; padding:0; font-size:22px; }
.entry-card:hover strong,.entry-card:focus-visible strong { color:rgb(var(--card-color)); }
.perspective-screen { min-height:90svh; padding:140px 0; }
.perspective-screen .section-title { font-size:clamp(38px,5.5vw,76px); line-height:1.14; letter-spacing:-.045em; }
.perspective-intro .section-title { font-size:clamp(44px,7vw,96px); }
.perspective-intro .perspective-copy { max-width:660px; font-size:21px; }
.perspective-outline a { border:0; background:transparent; border-radius:0; padding:12px; }
.perspective-outline a:hover { color:var(--accent); }
.perspective-detail { border:0; background:transparent; border-radius:0; padding:35px 0; }
.perspective-detail>.section-label { display:none; }
.perspective-copy { font-size:20px; line-height:1.85; }
.chapter-1 .perspective-grid,.chapter-3 .perspective-grid { grid-template-columns:1fr; text-align:center; gap:32px; }
.chapter-1 .section-title,.chapter-3 .section-title { text-align:center; }
.chapter-1 .perspective-copy,.chapter-3 .perspective-copy { margin:0 auto; }
.chapter-1 .perspective-flow { display:flex; align-items:center; justify-content:center; gap:30px; flex-wrap:wrap; }
.chapter-1 .perspective-flow li { font-size:clamp(24px,3vw,42px); color:var(--text); }
.chapter-1 .perspective-flow li+li:before { display:inline; content:'→'; margin-right:30px; color:var(--accent); }
.chapter-1 .perspective-features,.chapter-3 .perspective-features { justify-content:center; border:0; }
.chapter-2 .perspective-detail { padding:45px; border:1px solid var(--border); border-radius:28px; background:radial-gradient(ellipse at top,#2997ff0c,transparent 65%),var(--bg-card); }
.chapter-2 .perspective-flow li { font-size:28px; }
.chapter-3 .perspective-flow { display:flex; justify-content:center; gap:18px; flex-wrap:wrap; }
.chapter-3 .perspective-flow li { flex:1; min-width:160px; padding:38px 24px; border-radius:22px; background:var(--bg-card); border:1px solid var(--border); font-size:24px; }
.chapter-3 .perspective-flow li+li:before { display:none; }
.chapter-4 .perspective-grid>div:first-child { order:2; }
.chapter-4 .perspective-flow li { background:var(--gradient); background-clip:text; -webkit-background-clip:text; color:transparent; font-size:32px; font-weight:600; }
.perspective-features span { background:transparent; color:var(--text-secondary); font-size:15px; }
@media(max-width:900px) {
.entry-hero { padding-top:100px; gap:48px; }
.perspective-screen { min-height:75svh; padding:85px 0; }
.perspective-copy,.perspective-intro .perspective-copy { font-size:17px; }
.chapter-4 .perspective-grid>div:first-child { order:0; }
.chapter-1 .perspective-flow { gap:18px; }
.chapter-1 .perspective-flow li+li:before { margin-right:18px; }
}
@media(max-width:600px) {
.entry-card { padding:20px 15px; min-height:132px; }
.entry-card strong { font-size:16px; }
.entry-hero { gap:38px; }
.entry-hero .hero-title { font-size:56px; }
.entry-question>span { font-size:12px; }
.chapter-2 .perspective-detail { padding:26px; }
}
