
:root{
  --bg:#06090f; --bg2:#0a1018; --panel:rgba(255,255,255,.052);
  --panel-strong:rgba(255,255,255,.085); --line:rgba(255,255,255,.12);
  --text:#f5f1e8; --muted:#9aa7b5; --gold:#d7bd84; --ice:#a9c5d9;
  --green:#a7c1aa; --rose:#c7a0a0; --violet:#b6add5; --max:1180px;
}
*{box-sizing:border-box} html{scroll-behavior:smooth}
body{margin:0;background:
  radial-gradient(circle at 50% -20%,rgba(107,139,164,.16),transparent 36%),
  linear-gradient(180deg,#05080d 0%,#08101a 52%,#06090f 100%);
  color:var(--text);font-family:Inter,Pretendard,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  line-height:1.65;min-height:100vh;overflow-x:hidden}
body::before{content:"";position:fixed;inset:0;pointer-events:none;z-index:-2;opacity:.62;
 background-image:
 radial-gradient(circle at 8% 18%,rgba(255,255,255,.72) 0 1px,transparent 1.25px),
 radial-gradient(circle at 81% 12%,rgba(255,255,255,.55) 0 1px,transparent 1.2px),
 radial-gradient(circle at 28% 64%,rgba(255,255,255,.35) 0 1px,transparent 1.2px),
 radial-gradient(circle at 65% 48%,rgba(255,255,255,.42) 0 1px,transparent 1.2px),
 radial-gradient(circle at 92% 79%,rgba(255,255,255,.28) 0 1px,transparent 1.2px);
 background-size:280px 280px,350px 350px,430px 430px,500px 500px,590px 590px}
a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}button{cursor:pointer;-webkit-user-select:none;user-select:none}
.wrap{width:min(calc(100% - 34px),var(--max));margin:auto}
.eyebrow{font-size:.72rem;letter-spacing:.22em;text-transform:uppercase;color:var(--gold);font-weight:750}
.muted{color:var(--muted)} .serif{font-family:Georgia,"Times New Roman",serif}
.topbar{position:fixed;top:0;left:0;right:0;z-index:80;background:linear-gradient(180deg,rgba(6,9,15,.93),rgba(6,9,15,.45),transparent);backdrop-filter:blur(10px)}
.topbar-inner{height:70px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.brand{display:flex;align-items:center;gap:11px;font-size:.9rem;font-weight:800;letter-spacing:.14em}
.brand-mark{width:28px;height:28px;border:1px solid rgba(215,189,132,.5);border-radius:50%;display:grid;place-items:center;color:var(--gold);box-shadow:0 0 24px rgba(215,189,132,.12)}
.navlinks{display:flex;align-items:center;gap:19px;color:var(--muted);font-size:.88rem}.navlinks a:hover{color:var(--text)}
.card{border:1px solid var(--line);background:linear-gradient(180deg,var(--panel-strong),var(--panel));border-radius:22px;box-shadow:0 24px 90px rgba(0,0,0,.18)}
.btn{border:1px solid rgba(215,189,132,.44);background:rgba(215,189,132,.08);color:var(--text);border-radius:999px;padding:12px 17px;display:inline-flex;align-items:center;gap:9px;transition:.2s}
.btn:hover{transform:translateY(-2px);background:rgba(215,189,132,.14)}
.btn.solid{background:var(--text);color:#11161b;border-color:var(--text);font-weight:750}
section{padding:105px 0}.section-head{display:flex;justify-content:space-between;align-items:end;gap:35px;margin-bottom:38px}
.section-head h2{font-family:Georgia,serif;font-weight:500;font-size:clamp(2.35rem,5vw,4.1rem);line-height:1.04;margin:.12em 0}
.section-head p{max-width:500px;color:var(--muted);margin:0}
.reveal{opacity:0;transform:translateY(16px);transition:opacity .65s,transform .65s}.reveal.on{opacity:1;transform:none}

.hero-actions{display:flex;justify-content:flex-start;gap:10px;flex-wrap:wrap;margin-top:34px}
.world-list{margin-top:18px}
.world-card{padding:22px;min-height:170px;position:relative;overflow:hidden;transition:.2s}
.world-card:hover{transform:translateY(-3px);border-color:rgba(215,189,132,.34)}
.world-card h3{font-family:Georgia,serif;font-size:1.6rem;font-weight:500;margin:8px 0}
.world-card p{color:var(--muted);margin:0;font-size:.92rem}.world-card .status{position:absolute;right:18px;top:17px;font-size:.68rem;letter-spacing:.16em;color:#6e7a85}
.world-card.live .status{color:var(--gold)}.world-card.live{background:linear-gradient(145deg,rgba(215,189,132,.11),var(--panel))}

/* enoch hero */
.world-hero{min-height:96svh;display:grid;place-items:center;padding-top:70px;position:relative;overflow:hidden}
.world-hero .hero-inner{text-align:center;max-width:850px;position:relative;z-index:2}
.world-hero h1{font-family:Georgia,serif;font-weight:500;font-size:clamp(5rem,15vw,10rem);line-height:.78;letter-spacing:-.06em;margin:.15em 0}
.world-hero h1 span{color:var(--gold);font-style:italic}
.world-hero .question{font-family:Georgia,serif;font-size:clamp(1.4rem,3vw,2.15rem);line-height:1.35;margin:28px auto 0;max-width:700px}
.world-hero .verse-ref{color:var(--muted);font-size:.9rem;margin-top:13px}
.path-light{position:absolute;left:50%;bottom:-8%;width:120vw;height:37%;transform:translateX(-50%);background:radial-gradient(ellipse at top,rgba(214,227,210,.12),transparent 60%);pointer-events:none}
.walker{position:absolute;left:50%;bottom:9%;transform:translateX(-50%);width:22px;height:37px;opacity:.6}
.walker i{display:block;background:#eef4df;box-shadow:0 0 12px rgba(238,244,223,.38)}
.walker .head{width:7px;height:7px;border-radius:50%;margin:auto}.walker .body{width:2px;height:16px;margin:3px auto 0}.walker .legs{position:relative}.walker .legs:before,.walker .legs:after{content:"";position:absolute;width:2px;height:13px;background:#eef4df;left:10px;top:0;transform-origin:top}.walker .legs:before{transform:rotate(26deg)}.walker .legs:after{transform:rotate(-26deg)}

/* enoch graph */
.graph-layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:16px}
.graph-card{position:relative;min-height:690px;overflow:hidden;padding:14px}
.graph-toolbar{display:flex;gap:8px;flex-wrap:wrap;padding:8px 8px 16px}
.lens-btn{border:1px solid var(--line);background:rgba(255,255,255,.03);color:var(--muted);padding:8px 11px;border-radius:999px;font-size:.83rem}
.lens-btn.active{color:var(--text);border-color:rgba(215,189,132,.45);background:rgba(215,189,132,.1)}
#enochGraph{width:100%;height:610px;display:block;background:radial-gradient(circle at 50% 48%,rgba(215,189,132,.065),transparent 24%)}
.graph-edge{stroke:rgba(255,255,255,.18);stroke-width:1.3}.graph-edge.promise{stroke:rgba(215,189,132,.54)}.graph-edge.word{stroke:rgba(169,197,217,.4)}
.graph-node{cursor:pointer;transition:opacity .25s}.graph-node circle{fill:#0a1119;stroke:rgba(255,255,255,.23);stroke-width:1.2}.graph-node text{fill:#dfe4e7;font-size:11px;text-anchor:middle}.graph-node .tiny{font-size:8px;fill:#71808b;letter-spacing:.1em}.graph-node.person circle{stroke:rgba(215,189,132,.65)}.graph-node.word circle{stroke:rgba(169,197,217,.65)}.graph-node.scripture circle{stroke:rgba(167,193,170,.65)}.graph-node.event circle{stroke:rgba(182,173,213,.56)}.graph-node.fog circle{stroke:rgba(255,255,255,.12);stroke-dasharray:4 4;fill:rgba(255,255,255,.018)}.graph-node.god circle{stroke:rgba(245,241,232,.6);fill:rgba(245,241,232,.07);filter:drop-shadow(0 0 10px rgba(245,241,232,.15))}
.graph-node.dim,.graph-edge.dim{opacity:.08}.graph-node.selected circle{stroke-width:2.3;filter:drop-shadow(0 0 10px rgba(215,189,132,.28))}
.detail-card{padding:27px;min-height:690px;position:sticky;top:84px}.detail-card h3{font-family:Georgia,serif;font-weight:500;font-size:2rem;line-height:1.1;margin:11px 0}.detail-card p{color:var(--muted)}
.detail-type{display:inline-flex;padding:6px 9px;border-radius:999px;border:1px solid var(--line);font-size:.7rem;letter-spacing:.15em;color:var(--gold)}
.detail-scripture{margin-top:22px;padding:17px;border-radius:15px;background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.08);font-family:Georgia,serif}
.detail-prompt{margin-top:18px;border-top:1px solid var(--line);padding-top:18px;color:#dcd9ce!important}
.graph-help{position:absolute;bottom:18px;left:22px;color:#71808b;font-size:.78rem}

/* journey */
.journey{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}.journey-step{padding:20px 16px;min-height:190px;position:relative}.journey-step .n{font-family:Georgia,serif;color:rgba(215,189,132,.3);font-size:3rem;line-height:1}.journey-step h3{font-family:Georgia,serif;font-weight:500;margin:14px 0 6px}.journey-step p{font-size:.86rem;color:var(--muted);margin:0}

/* walk timeline */
.walk-shell{padding:28px}.age-line{display:flex;justify-content:space-between;align-items:end;gap:20px}.age-big{font-family:Georgia,serif;font-size:clamp(4rem,9vw,7.5rem);color:var(--gold);line-height:.85}
input[type=range]{width:100%;accent-color:#d7bd84}.range-wrap{margin:28px 2px 0}.timeline-bar{height:2px;background:rgba(255,255,255,.13);position:relative;margin:24px 4px}.timeline-fill{height:2px;background:linear-gradient(90deg,var(--gold),#eef2d9);width:0}
.mark{position:absolute;top:50%;transform:translate(-50%,-50%);width:11px;height:11px;border-radius:50%;background:#0b121a;border:2px solid var(--gold)}.mark.m65{left:17.81%}.mark.m365{left:100%}
.walk-copy{min-height:88px;color:#d9dee1;font-size:1.05rem}

/* scripture + fog + mirror */
.portal-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.portal{padding:26px;min-height:260px;position:relative}.portal h3{font-family:Georgia,serif;font-weight:500;font-size:1.8rem;margin:15px 0 8px}.portal p{color:var(--muted)}.portal button{position:absolute;bottom:22px;left:26px;border:0;background:none;color:var(--gold);padding:0}
.portal-open{display:none;margin-top:14px;padding:28px}.portal-open.show{display:block}.quote{font-family:Georgia,serif;font-size:1.13rem;border-left:2px solid rgba(215,189,132,.45);padding-left:17px;color:#e7e4db}
.fog-box{min-height:390px;display:grid;place-items:center;text-align:center;padding:36px;position:relative;overflow:hidden}.fog-box:before{content:"";position:absolute;inset:-20%;background:radial-gradient(circle,rgba(255,255,255,.04),transparent 55%);filter:blur(18px);animation:fog 8s ease-in-out infinite alternate}@keyframes fog{to{transform:translateX(7%) scale(1.07)}}
.fog-box>*{position:relative;z-index:2}.fog-box h3{font-family:Georgia,serif;font-size:clamp(2rem,4vw,3.5rem);font-weight:500;margin:10px 0}.fog-box p{max-width:650px;color:var(--muted)}
.mirror{display:grid;grid-template-columns:.85fr 1.15fr;gap:14px}.mirror-card{padding:28px}.mirror-options{display:flex;gap:9px;flex-wrap:wrap;margin-top:18px}.mirror-opt{border:1px solid var(--line);border-radius:999px;padding:9px 12px;background:rgba(255,255,255,.03);color:var(--muted)}.mirror-opt.active{border-color:rgba(215,189,132,.5);color:var(--text);background:rgba(215,189,132,.09)}
.mirror-answer{min-height:170px;display:flex;align-items:center;color:#dce1e4}.mirror-answer strong{color:var(--gold)}
.footer{padding:65px 0 42px;color:var(--muted);font-size:.86rem}.footer-line{height:1px;background:var(--line);margin-bottom:25px}

@media(max-width:900px){
 .navlinks{display:none}
 .graph-layout{grid-template-columns:1fr}.detail-card{position:relative;top:auto;min-height:auto}
 .journey{grid-template-columns:1fr 1fr}.portal-grid{grid-template-columns:1fr}.mirror{grid-template-columns:1fr}
}
@media(max-width:620px){
 section{padding:80px 0}.section-head{display:block}.section-head p{margin-top:14px}
 .journey{grid-template-columns:1fr}
 .graph-card{padding:8px;min-height:610px}#enochGraph{height:535px}.detail-card{min-height:auto}
}

/* --- OWL KNOWLEDGE GRAPH LANDING --- */
.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}
.kg-hero{padding:145px 0 90px;min-height:780px;display:grid;align-items:center}
.kg-hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:58px;align-items:center}
.kg-hero h1{font-family:Georgia,serif;font-size:clamp(3.7rem,7.5vw,7rem);font-weight:500;line-height:.9;letter-spacing:-.055em;margin:.18em 0}
.kg-hero h1 em{display:inline-block;margin-top:.16em;color:var(--gold);font-weight:400}
.kg-hero .lead{color:#d1d9df;max-width:640px;font-size:1.08rem}
.kg-orbit{min-height:480px;position:relative}
.orbit{position:absolute;left:50%;top:50%;border:1px solid rgba(255,255,255,.09);border-radius:50%;transform:translate(-50%,-50%) rotate(-12deg)}
.orbit-a{width:220px;height:220px}.orbit-b{width:355px;height:265px;transform:translate(-50%,-50%) rotate(27deg)}.orbit-c{width:480px;height:360px;transform:translate(-50%,-50%) rotate(-24deg)}
.orbit-core{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:82px;height:82px;border-radius:50%;display:grid;place-items:center;border:1px solid rgba(215,189,132,.4);font-family:Georgia,serif;color:#e9dfca;background:rgba(215,189,132,.07)}
.star{position:absolute;padding:6px 9px;border-radius:999px;border:1px solid rgba(255,255,255,.12);background:#09111a;color:#9aa8b4;font-size:.72rem;letter-spacing:.04em}
.star.active{color:#fff;border-color:rgba(215,189,132,.7);box-shadow:0 0 28px rgba(215,189,132,.14)}
.s1{left:7%;top:27%}.s2{right:3%;top:18%}.s3{left:18%;bottom:18%}.s4{right:8%;bottom:19%}.s5{left:48%;top:7%}.s6{left:59%;bottom:5%}

.kg-layout{display:grid;grid-template-columns:minmax(0,1fr) 430px;gap:16px}
.kg-stage-card{min-width:0;overflow:hidden}
.kg-controls{padding:16px 16px 12px;border-bottom:1px solid var(--line);display:grid;grid-template-columns:minmax(260px,1fr) auto;gap:10px 14px;align-items:center}
.kg-search-wrap{display:flex;min-width:0}
.kg-search-wrap input{min-width:0;flex:1;border:1px solid var(--line);border-right:0;border-radius:12px 0 0 12px;background:rgba(0,0,0,.2);color:var(--text);padding:11px 13px;outline:none}
.kg-search-wrap input:focus{border-color:rgba(215,189,132,.5)}
.kg-search-btn{border:1px solid rgba(215,189,132,.4);border-radius:0 12px 12px 0;background:rgba(215,189,132,.09);color:var(--gold);padding:0 15px}
.kg-control-actions{display:flex;gap:7px;justify-content:flex-end;flex-wrap:wrap}
.kg-mini{border:1px solid var(--line);background:rgba(255,255,255,.03);color:#a8b2ba;border-radius:10px;padding:9px 11px;font-size:.78rem}.kg-featured{color:var(--gold);border-color:rgba(215,189,132,.35)}
.kg-mini.kg-zoom-compact{padding:5px 7px;font-size:.68rem;line-height:1.1;border-radius:8px;min-height:0}
.kg-canvas-wrap{position:relative;height:720px;background:radial-gradient(circle at 50% 45%,rgba(122,150,171,.06),transparent 40%);touch-action:none}
#knowledgeGraph{width:100%;height:100%;display:block;cursor:grab}#knowledgeGraph.dragging{cursor:grabbing}

/* Landing knowledge graph: true full-screen viewing. */
.kg-stage-card:fullscreen,.kg-stage-card.kg-fullscreen-fallback{width:100vw;height:100vh;max-width:none;margin:0;border:0;border-radius:0;background:#070b11;display:flex;flex-direction:column;overflow:hidden}
.kg-stage-card:fullscreen .kg-controls,.kg-stage-card.kg-fullscreen-fallback .kg-controls{flex:0 0 auto;background:rgba(7,11,17,.96);z-index:3}
.kg-stage-card:fullscreen .kg-canvas-wrap,.kg-stage-card.kg-fullscreen-fallback .kg-canvas-wrap{height:auto!important;min-height:0;flex:1 1 auto}
.kg-stage-card:fullscreen .kg-legend,.kg-stage-card.kg-fullscreen-fallback .kg-legend{max-width:min(92vw,980px)}
.kg-stage-card.kg-fullscreen-fallback{position:fixed;inset:0;z-index:99999}
html.kg-fullscreen-lock,html.kg-fullscreen-lock body{overflow:hidden}
#fullscreenGraph[aria-pressed="true"]{color:var(--gold);border-color:rgba(215,189,132,.5);background:rgba(215,189,132,.08)}
.kg-legend{position:absolute;display:flex;gap:13px;flex-wrap:wrap;padding:9px 11px;border-radius:12px;background:rgba(6,9,15,.8);border:1px solid rgba(255,255,255,.08);color:#7f8d98;font-size:.68rem;backdrop-filter:blur(8px)}
.legend-dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:5px;background:#77848d}.legend-dot.open{background:var(--gold);box-shadow:0 0 8px rgba(215,189,132,.45)}
.legend-line{display:inline-block;width:16px;height:3px;margin:0 5px 2px 0;border-radius:999px;background:#7b8790}.legend-line.family,.legend-line.sibling{background:#4da3ff}.legend-line.spouse{background:#f06ca9}.legend-line.identity{background:#b58cff}
.kg-hint{position:absolute;color:#596772;font-size:.67rem}
.kg-inspector{padding:28px 30px;min-height:720px;position:sticky;top:84px;align-self:start}
.kg-inspector h3{font-family:Georgia,serif;font-size:2.15rem;font-weight:500;line-height:1.05;margin:10px 0 13px}.kg-inspector>p{color:var(--muted)}
.kg-person-meta{display:flex;gap:7px;flex-wrap:wrap;margin:13px 0 20px}.kg-chip{border:1px solid var(--line);border-radius:999px;padding:5px 8px;color:#87949e;font-size:.68rem;letter-spacing:.08em}
.kg-relations{margin-top:22px;border-top:1px solid var(--line);padding-top:17px}.kg-relations h4{font-size:.73rem;letter-spacing:.16em;color:var(--gold);margin:0 0 10px}
.kg-rel{display:flex;justify-content:space-between;gap:12px;padding:9px 0;border-bottom:1px solid rgba(255,255,255,.06);font-size:.84rem}.kg-rel span:first-child{color:#85939f}.kg-rel button{border:0;background:none;color:#e1e5e6;padding:0;text-align:right}
.kg-world-open{margin-top:22px;padding:17px;border-radius:15px;border:1px solid rgba(215,189,132,.3);background:rgba(215,189,132,.07)}.kg-world-open b{display:block;margin-bottom:6px}.kg-world-open p{font-size:.85rem;color:#a8b0b6;margin:0 0 12px}
.kg-coming{margin-top:21px;color:#6f7b85;font-size:.82rem}.deep-step.live{border-color:rgba(215,189,132,.38);background:linear-gradient(145deg,rgba(215,189,132,.1),var(--panel))}
.ontology-manifesto{padding:45px;text-align:center}.ontology-manifesto p{font-family:Georgia,serif;font-size:clamp(1.45rem,3vw,2.25rem);line-height:1.45;margin:12px auto 0;max-width:850px}.ontology-manifesto strong{color:#e9dfca;font-weight:500}

@media(max-width:1180px) and (min-width:981px){
 .kg-layout{grid-template-columns:minmax(0,1fr) 390px}
}
@media(max-width:980px){
 .kg-hero-grid{grid-template-columns:1fr}.kg-orbit{min-height:380px}
 .kg-layout{grid-template-columns:1fr}.kg-inspector{position:relative;top:auto;min-height:auto}
}
@media(max-width:720px){
 .kg-hero{padding-top:120px;min-height:auto}.kg-orbit{display:none}
 .kg-controls{grid-template-columns:1fr}.kg-control-actions{justify-content:flex-start}
 .kg-canvas-wrap{height:590px}.kg-legend{max-width:92%;right:12px}.kg-hint{display:none}
 .ontology-manifesto{padding:30px 20px}
}

/* --- FORCE GRAPH INTERACTION v2.1 --- */
.kg-mini:hover{border-color:rgba(215,189,132,.42);color:#ebe5d9}
#knowledgeGraph.node-dragging{cursor:move}

/* --- FOCUS MODE v2.2 --- */
.kg-focus-badge{display:inline-flex;align-items:center;gap:7px;padding:6px 9px;border:1px solid rgba(215,189,132,.32);border-radius:999px;color:var(--gold);font-size:.68rem;letter-spacing:.12em;margin:4px 0 2px}

.legend-line.ministry{background:#58c98b}

/* --- LIVING PERSON PROFILE v3.0 --- */
.kg-inspector{max-height:calc(100vh - 100px);overflow-y:auto;scrollbar-width:thin}
.profile-section{border-top:1px solid var(--line);margin-top:22px;padding-top:17px}
.profile-section h4{font-size:.7rem;letter-spacing:.16em;color:var(--gold);margin:0 0 12px}
.profile-timeline{position:relative}
.profile-timeline:before{content:"";position:absolute;left:6px;top:13px;bottom:13px;width:1px;background:rgba(215,189,132,.2)}
.profile-event{position:relative;padding:0 0 5px 21px;border-bottom:1px solid rgba(255,255,255,.055)}
.profile-event summary,.profile-statement summary{cursor:pointer;list-style:none;padding:10px 0;display:flex;align-items:flex-start;gap:9px}
.profile-event summary::-webkit-details-marker,.profile-statement summary::-webkit-details-marker{display:none}
.profile-dot{position:absolute;left:2px;top:18px;width:9px;height:9px;border-radius:50%;background:#0b121a;border:2px solid rgba(215,189,132,.75);z-index:2}
.profile-summary-text{display:flex;flex-direction:column;min-width:0}
.profile-summary-text b,.profile-statement summary b{font-size:.9rem;color:#e3e7e8;font-weight:650}
.profile-summary-text small{color:#778690;font-size:.68rem;margin-top:2px}
.profile-event p,.profile-statement p{font-size:.82rem;color:#9aa7b1;margin:2px 0 9px;line-height:1.55}
.profile-ref{font-family:Georgia,serif;font-size:.78rem;color:#d9d3c2;margin:6px 0}
.profile-place,.profile-era{font-size:.72rem;color:#80909b;margin:4px 0}
.profile-evidence{display:inline-flex;border:1px solid rgba(167,193,170,.22);border-radius:999px;padding:3px 7px;color:#93ad97;font-size:.62rem;margin:5px 0 9px}
.profile-statement{border:1px solid rgba(255,255,255,.07);border-radius:12px;padding:0 10px;margin:7px 0;background:rgba(255,255,255,.018)}
.profile-statement summary{justify-content:space-between;gap:10px}
.profile-statement summary span{font-size:.65rem;color:var(--gold);white-space:nowrap}
@media(max-width:980px){.kg-inspector{max-height:none;overflow:visible}}

/* --- ON-DEMAND BIBLEWORLD v2.0 --- */
.kg-load-status{display:flex;align-items:center;gap:7px;color:#71808b;font-size:.66rem;letter-spacing:.09em;grid-column:1/-1}
.kg-load-status span,.lazy-status span{width:7px;height:7px;border-radius:50%;background:#89a98d;box-shadow:0 0 10px rgba(137,169,141,.25)}
.kg-load-status.busy span,.lazy-status span{animation:kgpulse 1.1s infinite alternate}
@keyframes kgpulse{to{opacity:.25;transform:scale(.7)}}
.lazy-status{display:flex;gap:8px;align-items:center;padding:15px 0;color:#71808b;font-size:.78rem;border-top:1px solid var(--line);margin-top:18px}
.person-dis{margin-top:-5px;color:#aab4bb}
.person-lenses{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;margin:11px 0 13px}
.person-lenses button{border:1px solid var(--line);border-radius:9px;background:rgba(255,255,255,.025);color:#7e8b95;padding:8px 5px;font-size:.68rem}
.person-lenses button span{display:block;font-family:Georgia,serif;font-size:1rem;color:#bbc3c8;margin-top:3px}
.person-lenses button.active{color:var(--gold);border-color:rgba(215,189,132,.42);background:rgba(215,189,132,.07)}
.person-lenses button:disabled{opacity:.3}
.profile-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px}
.profile-mini-card{border:1px solid rgba(255,255,255,.07);border-radius:10px;padding:10px;background:rgba(255,255,255,.018)}
.profile-mini-card span{display:block;font-size:.61rem;letter-spacing:.08em;color:#6f7e89;margin-bottom:4px}
.profile-mini-card b{font-size:.8rem;font-weight:550;color:#cbd2d6}
.profile-empty{padding:17px;border:1px dashed rgba(255,255,255,.09);border-radius:11px;color:#6f7e89;font-size:.78rem}

#universe{padding-top:100px}
.universe-layout{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(320px,.95fr);gap:16px;align-items:start}
.universe-clusters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}
.universe-cluster{position:relative;text-align:left;min-height:145px;border:1px solid var(--line);border-radius:16px;padding:17px;background:linear-gradient(145deg,rgba(255,255,255,.032),rgba(255,255,255,.012));color:var(--text);transition:border-color .2s,background .2s,transform .2s}
.universe-cluster:hover,.universe-cluster.active{border-color:rgba(215,189,132,.4);background:rgba(215,189,132,.055)}
.universe-cluster:hover{transform:translateY(-2px)}
.universe-cluster>span{display:block;color:#697985;font-size:.61rem;letter-spacing:.13em;margin-bottom:10px}
.universe-cluster>strong{display:block;font-family:Georgia,serif;font-weight:500;font-size:1.18rem}
.universe-cluster>em{position:absolute;right:15px;top:14px;color:rgba(215,189,132,.7);font-family:Georgia,serif;font-size:1.25rem;font-style:normal}
.universe-cluster>small{display:block;color:#687681;font-size:.7rem;line-height:1.45;margin-top:12px}
.universe-browser{padding:27px;min-height:452px;position:sticky;top:84px}
.universe-browser h3{font-family:Georgia,serif;font-weight:500;font-size:2rem;margin:8px 0 12px}
.universe-browser>p{color:var(--muted)}
.universe-browser-head{display:flex;justify-content:space-between;gap:15px;align-items:end}
.universe-browser-head span{font-size:.68rem;color:#6f7e89}
.universe-search{width:100%;box-sizing:border-box;margin:12px 0;border:1px solid var(--line);border-radius:10px;background:rgba(0,0,0,.18);color:var(--text);padding:11px 12px;outline:none}
.universe-results{display:grid;gap:6px;max-height:620px;overflow:auto;padding-right:3px;scrollbar-width:thin}
.universe-entity{border:1px solid rgba(255,255,255,.065);border-radius:10px;padding:0 10px;background:rgba(255,255,255,.015)}
.universe-entity summary{cursor:pointer;list-style:none;padding:10px 0;display:flex;justify-content:space-between;gap:12px;align-items:center}
.universe-entity summary::-webkit-details-marker{display:none}
.universe-entity summary>span{min-width:0}
.universe-entity summary b{display:block;font-size:.83rem}
.universe-entity summary small{display:block;color:#697984;font-size:.6rem;margin-top:2px}
.universe-entity summary em{font-family:Georgia,serif;color:#938c7c;font-size:.68rem;font-style:normal;text-align:right}
.universe-entity>p{color:#8997a1;font-size:.78rem;line-height:1.5;margin:5px 0 10px}
.entity-en{font-family:Georgia,serif;color:#b2bac0!important}
.translation-note{border-left:2px solid rgba(215,189,132,.28);padding:7px 9px;color:#8d989f;font-size:.7rem;line-height:1.45;margin:7px 0}
.catalog-more{text-align:center;padding:12px;color:#66747f;font-size:.72rem}

@media(max-width:980px){
  .universe-layout{grid-template-columns:1fr}
  .universe-browser{position:relative;top:auto}
}
@media(max-width:720px){
  .person-lenses{grid-template-columns:repeat(3,minmax(0,1fr))}
  .profile-grid{grid-template-columns:1fr}
  .universe-clusters{grid-template-columns:1fr 1fr}
}
@media(max-width:420px){
  .person-lenses{grid-template-columns:1fr 1fr}
  .universe-clusters{grid-template-columns:1fr}
}


/* --- EXTENSIBLE PERSON WORLD CARDS v4.0 --- */
.world-card-grid{display:grid}
.person-world-card{display:flex;flex-direction:column;min-height:220px;text-decoration:none}
.person-world-card.planned{opacity:.76}
.world-card-topline{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-right:58px}
.world-person-chip{display:inline-flex;align-items:center;border:1px solid rgba(255,255,255,.09);border-radius:999px;padding:4px 8px;color:#83919b;font-size:.62rem;letter-spacing:.08em}
.person-world-card h3{margin-top:14px}
.person-world-card p{flex:1;line-height:1.6}
.world-card-cta{display:inline-flex;margin-top:22px;color:var(--gold);font-size:.78rem;letter-spacing:.04em}
.world-card-cta.muted{color:#66747f}
.world-mannam-tags{display:flex;flex-direction:column;gap:7px;margin-top:15px;padding-top:13px;border-top:1px solid rgba(255,255,255,.07)}
.world-mannam-tag-row{display:flex;align-items:flex-start;gap:8px;min-width:0}
.world-mannam-tag-source{flex:0 0 auto;padding-top:4px;color:#7f8c96;font-size:.58rem;letter-spacing:.04em;white-space:nowrap}
.world-mannam-tag-list{display:flex;flex-wrap:wrap;gap:5px;min-width:0}
.world-mannam-tag{display:inline-flex;align-items:center;max-width:100%;border:1px solid rgba(169,197,217,.28);background:rgba(169,197,217,.065);border-radius:999px;padding:3px 7px;color:#b6cad7;font-size:.61rem;line-height:1.25;white-space:normal;word-break:keep-all}
.world-mannam-tag-row.word .world-mannam-tag{border-color:rgba(215,189,132,.31);background:rgba(215,189,132,.07);color:#d8c69f}
.world-mannam-tag-row.word .world-mannam-tag-source{color:#a89672}
.world-card-loading{grid-column:1/-1}
@media(max-width:560px){
  .person-world-card{min-height:190px}
  .world-mannam-tag-row{display:block}
  .world-mannam-tag-source{display:block;padding:0 0 5px}
  .world-mannam-tag{font-size:.58rem;padding:3px 6px}
}

/* --- LANGUAGE SWITCHER v4.1 --- */
.topbar-actions{display:flex;align-items:center;gap:18px;min-width:0}
.lang-switcher{display:inline-flex;align-items:center;gap:3px;padding:3px;border:1px solid rgba(255,255,255,.12);border-radius:999px;background:rgba(3,7,12,.48);white-space:nowrap}
.lang-btn{appearance:none;border:0;border-radius:999px;background:transparent;color:#7f8c96;padding:6px 10px;font-size:.72rem;line-height:1.2;transition:.18s}
.lang-btn:hover{color:var(--text)}
.lang-btn.active{background:rgba(215,189,132,.14);color:var(--gold);box-shadow:inset 0 0 0 1px rgba(215,189,132,.24)}
html[lang="en"] body{letter-spacing:0}
@media(max-width:900px){
  .topbar-actions{margin-left:auto}
  .topbar .lang-switcher{display:inline-flex}
}
@media(max-width:520px){
  .topbar-inner{gap:10px}
  .brand{font-size:.78rem;letter-spacing:.08em;min-width:0}
  .brand>span:last-child{display:flex;align-items:center;min-width:0}
  .brand a:first-child{display:inline}
  .brand>span:last-child>span{display:none}
  .topbar-actions{gap:8px}
  .lang-btn{padding:6px 8px;font-size:.68rem}
}

/* --- ENOCH LARGE TITLE SINGLE-LINE PATCH v1.0 --- */
/* Keep the major Enoch page titles on one line without changing the landing page. */
.world-hero h1,
.world-hero ~ section .section-head h2,
.world-hero ~ section .fog-box h3{
  white-space:nowrap;
  text-wrap:nowrap;
}

/* Long bilingual section titles scale down smoothly before they need to wrap. */
@media(max-width:900px){
  .world-hero ~ section .section-head h2{
    font-size:clamp(1.65rem,6.4vw,3.25rem);
    letter-spacing:-.035em;
  }
}

@media(max-width:620px){
  .world-hero h1{
    font-size:clamp(3.35rem,20vw,6rem);
    letter-spacing:-.07em;
  }
  .world-hero ~ section .section-head h2{
    font-size:clamp(1.05rem,5.25vw,2rem);
    line-height:1.08;
    letter-spacing:-.045em;
  }
  .world-hero ~ section .fog-box h3{
    font-size:clamp(1.35rem,7vw,2.35rem);
    letter-spacing:-.025em;
  }
}

@media(max-width:390px){
  .world-hero ~ section .section-head h2{
    font-size:clamp(.98rem,4.85vw,1.3rem);
    letter-spacing:-.055em;
  }
}

/* --- ABRAHAM PROMISE WORLD v1.0 --- */
.abraham-hero h1{font-size:clamp(3.6rem,10vw,7.2rem);line-height:.86}
.abraham-hero h1 span{display:block;margin-top:.12em;font-size:.56em;letter-spacing:.02em}
.promise-stars{position:absolute;inset:0;pointer-events:none;opacity:.62}
.promise-stars i{position:absolute;width:3px;height:3px;border-radius:50%;background:#f2e7bd;box-shadow:0 0 13px rgba(242,231,189,.65)}
.promise-stars i:nth-child(1){left:12%;top:23%}.promise-stars i:nth-child(2){left:22%;top:37%;width:2px;height:2px}.promise-stars i:nth-child(3){left:31%;top:18%}.promise-stars i:nth-child(4){left:42%;top:31%;width:2px;height:2px}.promise-stars i:nth-child(5){left:53%;top:16%}.promise-stars i:nth-child(6){left:64%;top:34%;width:2px;height:2px}.promise-stars i:nth-child(7){left:74%;top:20%}.promise-stars i:nth-child(8){left:86%;top:39%;width:2px;height:2px}.promise-stars i:nth-child(9){left:18%;top:66%;width:2px;height:2px}.promise-stars i:nth-child(10){left:36%;top:72%}.promise-stars i:nth-child(11){left:68%;top:69%}.promise-stars i:nth-child(12){left:82%;top:61%;width:2px;height:2px}
@media(max-width:620px){.abraham-hero h1{font-size:clamp(2.45rem,12.2vw,4rem);letter-spacing:-.055em}.abraham-hero h1 span{font-size:.58em}}
.graph-node.place circle{stroke:rgba(205,183,126,.42);stroke-dasharray:2 3}

/* --- KNOWLEDGE GRAPH INFO OVERLAP FIX v1.0 --- */
/* Keep the relationship legend and graph interaction help on separate rows. */
.kg-legend{
  left:16px;
  right:16px;
  bottom:48px;
  max-width:none;
  width:auto;
  box-sizing:border-box;
  row-gap:7px;
  pointer-events:none;
}
.kg-hint{
  left:16px;
  right:16px;
  bottom:14px;
  width:auto;
  box-sizing:border-box;
  padding:5px 8px;
  border-radius:8px;
  background:rgba(6,9,15,.68);
  text-align:right;
  white-space:nowrap;
  pointer-events:none;
}
@media(max-width:900px){
  .kg-legend{
    left:12px;
    right:12px;
    bottom:14px;
    max-width:none;
  }
  .kg-hint{display:none}
}

/* --- DEEP WORLD 3-STEP GUIDE --- */
/* Render the guide as a slim process bar, visually separate from person cards. */
.deep-world-demo{
  display:grid;
  grid-template-columns:minmax(0,1fr) 24px minmax(0,1fr) 24px minmax(0,1fr);
  align-items:stretch;
  gap:4px;
  margin:0 0 18px;
  padding:7px 10px;
  border-top:1px solid rgba(255,255,255,.075);
  border-bottom:1px solid rgba(255,255,255,.075);
  background:rgba(255,255,255,.012);
}
.deep-step.card,
.deep-step.card.live{
  min-height:0;
  padding:5px 8px;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
}
.deep-step span{
  display:inline-grid;
  place-items:center;
  width:20px;
  height:20px;
  margin:0 6px 0 0;
  border:1px solid rgba(255,255,255,.14);
  border-radius:50%;
  font-family:inherit;
  font-size:.64rem;
  line-height:1;
  color:#7d8a94;
  vertical-align:middle;
}
.deep-step b{
  display:inline;
  margin:0;
  font-family:inherit;
  font-size:.78rem;
  line-height:1.15;
  letter-spacing:.02em;
  color:#bcc5ca;
  vertical-align:middle;
}
.deep-step p{
  margin:3px 0 0 27px;
  font-size:.66rem;
  line-height:1.28;
  color:#687680;
}
.deep-step.live{
  position:relative;
}
.deep-step.live:after{
  content:"";
  position:absolute;
  left:8px;
  right:8px;
  bottom:-7px;
  height:1px;
  background:rgba(215,189,132,.58);
}
.deep-step.live span{
  border-color:rgba(215,189,132,.48);
  color:var(--gold);
  background:rgba(215,189,132,.07);
}
.deep-step.live b{color:#e6dcc7}
.deep-arrow{
  display:grid;
  place-items:center;
  align-self:center;
  font-size:.78rem;
  color:#4f5b64;
  opacity:.8;
}

@media(max-width:720px){
  .deep-world-demo{
    grid-template-columns:1fr;
    gap:0;
    padding:4px 8px;
  }
  .deep-step.card,
  .deep-step.card.live{
    padding:7px 5px;
  }
  .deep-step p{
    margin-left:27px;
    font-size:.65rem;
  }
  .deep-arrow{
    display:none;
  }
  .deep-step.live:after{
    left:5px;
    right:5px;
    bottom:0;
  }
}

/* --- BIBLEWORLD 15-CLUSTER GRID + MATCHED BROWSER HEIGHT v1.0 --- */
/* 15 ontology categories: 3 columns × 5 rows on desktop. */
@media(min-width:981px){
  .universe-layout{
    grid-template-columns:minmax(0,1.08fr) minmax(330px,.92fr);
    align-items:start;
  }
  .universe-clusters{
    grid-template-columns:repeat(3,minmax(0,1fr));
    grid-template-rows:repeat(5,112px);
    gap:9px;
    height:596px;
  }
  .universe-cluster{
    min-height:0;
    height:112px;
    box-sizing:border-box;
    padding:12px 13px;
    border-radius:13px;
    overflow:hidden;
  }
  .universe-cluster>span{
    margin-bottom:5px;
    padding-right:34px;
    font-size:.54rem;
    line-height:1.15;
  }
  .universe-cluster>strong{
    padding-right:28px;
    font-size:1rem;
    line-height:1.18;
  }
  .universe-cluster>em{
    right:11px;
    top:10px;
    font-size:1rem;
  }
  .universe-cluster>small{
    margin-top:6px;
    font-size:.62rem;
    line-height:1.3;
    display:-webkit-box;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:2;
    overflow:hidden;
  }
  .universe-browser{
    height:596px;
    min-height:0;
    max-height:596px;
    box-sizing:border-box;
    display:flex;
    flex-direction:column;
    overflow:hidden;
    padding:22px;
  }
  .universe-browser-head{flex:0 0 auto}
  .universe-search{flex:0 0 auto}
  .universe-results{
    flex:1 1 auto;
    min-height:0;
    max-height:none;
    overflow:auto;
  }
}

@media(max-width:980px){
  .universe-clusters{height:auto}
  .universe-cluster{min-height:118px}
  .universe-browser{
    height:auto;
    max-height:none;
    min-height:360px;
    overflow:visible;
  }
  .universe-results{max-height:520px;overflow:auto}
}

/* --- GLOBAL MAJOR TITLE SINGLE-LINE v2.0 --- */
/* Keep major section headings on one line. Shrink the type before allowing overflow. */
.section-head h2,
.kg-hero h1,
.fog-box h3,
.universe-browser h3,
.kg-inspector h3,
.detail-card h3{
  white-space:nowrap;
  text-wrap:nowrap;
  word-break:keep-all;
  overflow-wrap:normal;
}

/* Give the heading enough room beside the section description on wide screens. */
@media(min-width:621px){
  .section-head{gap:22px}
  .section-head h2{
    flex:1 1 auto;
    min-width:0;
    font-size:clamp(1.85rem,3.9vw,3.7rem);
    letter-spacing:-.045em;
  }
  .section-head p{
    flex:0 1 430px;
  }
}

/* On tablets the title scales down instead of dropping the last word. */
@media(max-width:900px){
  .section-head h2,
  .world-hero ~ section .section-head h2{
    font-size:clamp(1.4rem,5.2vw,2.7rem);
    line-height:1.06;
    letter-spacing:-.05em;
  }
  .kg-hero h1{
    font-size:clamp(2.65rem,9.5vw,5.4rem);
  }
}

/* Phones: preserve a single line by reducing only the large-title type. */
@media(max-width:620px){
  .section-head h2,
  .world-hero ~ section .section-head h2{
    font-size:clamp(.92rem,4.65vw,1.65rem);
    line-height:1.08;
    letter-spacing:-.055em;
  }
  .fog-box h3,
  .world-hero ~ section .fog-box h3{
    font-size:clamp(1.08rem,5.8vw,2rem);
  }
  .kg-hero h1{
    font-size:clamp(2.15rem,10.8vw,3.9rem);
    letter-spacing:-.065em;
  }
  .universe-browser h3,
  .kg-inspector h3,
  .detail-card h3{
    font-size:clamp(1.25rem,6.2vw,1.9rem);
    letter-spacing:-.035em;
  }
}

@media(max-width:390px){
  .section-head h2,
  .world-hero ~ section .section-head h2{
    font-size:clamp(.84rem,4.35vw,1.12rem);
  }
}


/* --- TEXT SELECTION / COPY --- */
/* Keep ordinary page text selectable without turning card drags into navigation. */
body,
main,
section,
.card,
h1,h2,h3,h4,h5,h6,
p,span,strong,b,em,small,
.eyebrow,
.kg-legend,
.kg-hint,
.section-head,
.world-card,
.person-world-card,
.universe-cluster,
.universe-browser,
.universe-entity,
.universe-entity summary,
details,
details summary,
.kg-inspector,
.kg-inspector *:not(button):not(input):not(select):not(textarea){
  -webkit-user-select:text;
  user-select:text;
}
input,textarea,select{
  -webkit-user-select:auto;
  user-select:auto;
}
a:not(.btn),
details summary,
.person-world-card,
a.person-world-card *{
  -webkit-user-drag:none;
}

/* --- HERO TITLE LINE GAP --- */
@media(max-width:620px){
  .kg-hero h1 em{margin-top:.13em;}
}
#deepWorldCards .person-world-card{
  min-width:0;
  width:100%;
}

/* --- DEEP WORLD PEOPLE CARDS: 3 / 2 COLUMNS --- */
/* Desktop and tablet: 3 cards per row. Mobile: 2 cards per row. */
#deepWorldCards.world-card-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:14px;
}
@media(max-width:620px){
  #deepWorldCards.world-card-grid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:9px;
  }
}


/* --- DAVID HEART WORLD v1.0 --- */
#davidGraph,#abrahamGraph,#adamGraph,#josephGraph{width:100%;height:610px;display:block;background:radial-gradient(circle at 50% 48%,rgba(215,189,132,.065),transparent 24%)}
.david-hero h1{font-size:clamp(3.7rem,10.5vw,7.7rem);line-height:.86}
.david-hero h1 span{display:block;margin-top:.12em;font-size:.56em;letter-spacing:.035em}
.david-harp{position:absolute;left:50%;bottom:9%;width:112px;height:145px;transform:translateX(-50%);opacity:.2;border-left:2px solid #eadcb8;border-bottom:2px solid #eadcb8;border-radius:0 0 0 85px;pointer-events:none}
.david-harp:before{content:"";position:absolute;left:12px;top:4px;width:72px;height:128px;border-right:2px solid #eadcb8;border-radius:0 70% 70% 0;transform:rotate(10deg)}
.david-harp i{position:absolute;bottom:10px;width:1px;background:rgba(234,220,184,.9);transform-origin:bottom}
.david-harp i:nth-child(1){left:20px;height:90px;transform:rotate(5deg)}
.david-harp i:nth-child(2){left:35px;height:101px;transform:rotate(7deg)}
.david-harp i:nth-child(3){left:50px;height:111px;transform:rotate(8deg)}
.david-harp i:nth-child(4){left:65px;height:120px;transform:rotate(9deg)}
.david-harp i:nth-child(5){left:80px;height:126px;transform:rotate(10deg)}
.david-journey{grid-template-columns:repeat(6,1fr)}
.david-stage-big{font-size:clamp(3.7rem,8vw,6.7rem)}
.broken-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
.broken-card{padding:25px;min-height:235px}
.broken-card>span{font-size:.7rem;letter-spacing:.16em;color:var(--gold)}
.broken-card h3{font-family:Georgia,serif;font-size:1.55rem;font-weight:500;margin:15px 0 8px}
.broken-card p{color:var(--muted);margin:0 0 18px}
.broken-card small{color:#74818b;letter-spacing:.04em}
.messiah-line{margin-top:14px;padding:28px;text-align:center}
.messiah-line p{max-width:820px;margin:10px auto 0;font-family:Georgia,serif;font-size:clamp(1.15rem,2vw,1.45rem);line-height:1.7;color:#ddd9cf}
.messiah-line strong{color:var(--gold);font-weight:500}
@media(max-width:1100px){.david-journey{grid-template-columns:repeat(3,1fr)}}
@media(max-width:900px){.david-journey{grid-template-columns:1fr 1fr}.broken-grid{grid-template-columns:1fr}}
@media(max-width:620px){.david-hero h1{font-size:clamp(2.55rem,12.4vw,4.1rem);letter-spacing:-.055em}.david-hero h1 span{font-size:.6em}.david-journey{grid-template-columns:1fr}#davidGraph,#abrahamGraph,#adamGraph,#josephGraph{height:535px}.david-harp{transform:translateX(-50%) scale(.78)}}

/* Adam & Joseph Deep Worlds */
.adam-hero h1,.joseph-hero h1{font-size:clamp(3.7rem,10.5vw,7.7rem);line-height:.86}
.adam-hero h1 span,.joseph-hero h1 span{display:block;margin-top:.12em;font-size:.56em;letter-spacing:.035em}
.adam-orbit{position:absolute;left:50%;bottom:10%;width:150px;height:150px;transform:translateX(-50%);opacity:.16;pointer-events:none}
.adam-orbit:before,.adam-orbit:after{content:"";position:absolute;border:1px solid #eadcb8;border-radius:50%;inset:12px}
.adam-orbit:after{inset:38px}
.adam-orbit i{position:absolute;left:50%;top:50%;width:8px;height:8px;border-radius:50%;background:#eadcb8;transform:translate(-50%,-50%);box-shadow:0 0 26px rgba(234,220,184,.7)}
.joseph-stars{position:absolute;left:50%;bottom:9%;width:190px;height:120px;transform:translateX(-50%);opacity:.18;pointer-events:none}
.joseph-stars i{position:absolute;width:5px;height:5px;background:#eadcb8;transform:rotate(45deg);box-shadow:0 0 18px rgba(234,220,184,.7)}
.joseph-stars i:nth-child(1){left:12%;top:56%}.joseph-stars i:nth-child(2){left:29%;top:18%}.joseph-stars i:nth-child(3){left:48%;top:48%}.joseph-stars i:nth-child(4){left:67%;top:12%}.joseph-stars i:nth-child(5){left:83%;top:60%}.joseph-stars i:nth-child(6){left:56%;top:83%}
.deep-six{grid-template-columns:repeat(6,1fr)}
.deep-stage-big{font-size:clamp(3.7rem,8vw,6.7rem)}
.interpretation-note{margin-top:18px;padding:16px 18px;border-left:2px solid rgba(215,189,132,.4);background:rgba(255,255,255,.018);font-size:.92rem;color:var(--muted)}
@media(max-width:1100px){.deep-six{grid-template-columns:repeat(3,1fr)}}
@media(max-width:900px){.deep-six{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.adam-hero h1,.joseph-hero h1{font-size:clamp(2.55rem,12.4vw,4.1rem);letter-spacing:-.055em}.adam-hero h1 span,.joseph-hero h1 span{font-size:.6em}.deep-six{grid-template-columns:1fr}.adam-orbit,.joseph-stars{transform:translateX(-50%) scale(.8)}}

/* --- SHARED PERSON WORLD ENGINE v1.0 --- */
.person-world-page .world-hero{min-height:82svh}
.person-world-page .world-hero h1{font-size:clamp(3.5rem,9vw,7.6rem);line-height:.88;text-transform:uppercase}
.person-world-page .world-hero h1 span{display:block;font-size:.42em;margin-top:.22em;letter-spacing:.08em;color:var(--gold);font-style:normal}
.person-world-page .world-hero .question{max-width:830px}
.person-world-page #personWorldGraph{width:100%;height:610px;display:block;background:radial-gradient(circle at 50% 48%,rgba(215,189,132,.065),transparent 25%)}
.person-world-page .pw-journal{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.person-world-page .pw-moment{padding:26px;min-height:250px;position:relative;overflow:hidden}
.person-world-page .pw-moment-no{position:absolute;right:19px;top:11px;font-family:Georgia,serif;font-size:3.3rem;color:rgba(215,189,132,.12)}
.person-world-page .pw-moment h3{font-family:Georgia,serif;font-size:1.65rem;font-weight:500;line-height:1.15;margin:15px 0 10px;max-width:85%}
.person-world-page .pw-moment p{color:var(--muted);margin:0}
.person-world-page .pw-moment-prompt{margin-top:18px;padding-top:15px;border-top:1px solid var(--line);color:#d9d3c5;font-size:.88rem}
.person-world-page .pw-profile-grid{display:grid;grid-template-columns:1.05fr 1fr 1fr;gap:14px}
.person-world-page .pw-profile-card{padding:26px;min-height:310px}
.person-world-page .pw-profile-card h3{font-family:Georgia,serif;font-weight:500;font-size:2rem;margin:12px 0 8px}
.person-world-page .pw-profile-card>p{color:var(--muted)}
.person-world-page .pw-meta{display:flex;gap:7px;flex-wrap:wrap;margin:16px 0}
.person-world-page .pw-meta span{border:1px solid var(--line);border-radius:999px;padding:5px 9px;color:#95a1aa;font-size:.7rem}
.person-world-page .pw-profile-list details{border-bottom:1px solid rgba(255,255,255,.07);padding:8px 0}
.person-world-page .pw-profile-list summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:12px;align-items:flex-start}
.person-world-page .pw-profile-list summary::-webkit-details-marker{display:none}
.person-world-page .pw-profile-list summary b{font-size:.88rem;font-weight:600}
.person-world-page .pw-profile-list summary small{color:#75828c;font-size:.66rem;text-align:right}
.person-world-page .pw-profile-list details p{font-size:.8rem;color:var(--muted);margin:8px 0 3px}
.person-world-page .pw-relation{display:flex;justify-content:space-between;gap:12px;padding:11px 0;border-bottom:1px solid rgba(255,255,255,.07);font-size:.84rem}
.person-world-page .pw-relation span{color:#7d8b95}.person-world-page .pw-relation b{font-weight:600;text-align:right}
.person-world-page .pw-horizon{padding:34px;display:grid;grid-template-columns:minmax(0,1.3fr) minmax(260px,.7fr);gap:28px}
.person-world-page .pw-horizon .pw-horizon-body{font-family:Georgia,serif;font-size:clamp(1.15rem,2vw,1.45rem);line-height:1.72;color:#dedbd2}
.person-world-page .pw-horizon-refs{color:var(--gold);font-size:.84rem;letter-spacing:.02em;margin-top:18px}
.person-world-page .interpretation-note{margin-top:0}
.person-world-page .mirror-options{display:flex;gap:9px;flex-wrap:wrap;margin-bottom:14px}
.person-world-page .mirror-answer{min-height:190px;padding:28px;display:grid;place-items:center;font-family:Georgia,serif;font-size:1.15rem;line-height:1.7}
.person-world-page .mirror-answer>div{max-width:820px}
.person-world-page footer{padding:45px 0 70px;text-align:center;color:#66747e;font-size:.78rem}
@media(max-width:980px){
 .person-world-page .pw-profile-grid{grid-template-columns:1fr 1fr}.person-world-page .pw-profile-grid>:first-child{grid-column:1/-1}
 .person-world-page .pw-horizon{grid-template-columns:1fr}
}
@media(max-width:760px){
 .person-world-page .pw-journal,.person-world-page .pw-profile-grid{grid-template-columns:1fr}.person-world-page .pw-profile-grid>:first-child{grid-column:auto}
 .person-world-page .graph-layout{grid-template-columns:1fr}.person-world-page .detail-card{position:relative;top:auto;min-height:auto}
 .person-world-page #personWorldGraph{height:520px}
 .person-world-page .pw-moment{min-height:220px}
}
@media(max-width:560px){
 .person-world-page .world-hero{min-height:76svh;padding-top:100px}.person-world-page .world-hero h1{font-size:clamp(2.5rem,12vw,4.2rem)}
 .person-world-page .pw-horizon{padding:23px}.person-world-page .pw-moment,.person-world-page .pw-profile-card{padding:21px}
}

/* 2026-08-30 · shared Person World expansion */
.person-world-page .pw-hero h1 .pw-hero-name{display:block;font-size:1em;line-height:.9;letter-spacing:-.045em;color:var(--text);font-style:normal}
.person-world-page .pw-hero h1 #heroTheme{display:block;font-size:.34em;line-height:1.05;margin-top:.35em;letter-spacing:.11em;color:var(--gold);font-style:normal}
.person-world-page .pw-hero-orbit{position:absolute;right:7vw;top:50%;width:min(34vw,470px);aspect-ratio:1;transform:translateY(-48%);opacity:.62;pointer-events:none}
.person-world-page .pw-hero-orbit i{position:absolute;inset:12%;border:1px solid rgba(215,189,132,.13);border-radius:50%;animation:slowspin 36s linear infinite}
.person-world-page .pw-hero-orbit i:nth-child(2){inset:26%;border-color:rgba(116,146,164,.13);animation-direction:reverse;animation-duration:28s}
.person-world-page .pw-hero-orbit i:nth-child(3){inset:42%;background:radial-gradient(circle,rgba(215,189,132,.12),transparent 62%);border-color:rgba(215,189,132,.2);animation-duration:19s}
.person-world-page .pw-return-section{padding-top:18px}
.person-world-page .ontology-manifesto .btn{margin-top:20px}
.person-world-page .graph-node.person circle{stroke:rgba(215,189,132,.52)}
.person-world-page .graph-node.event circle{stroke:rgba(112,155,176,.48)}
.person-world-page .graph-node.word circle{stroke:rgba(172,143,203,.48)}
.person-world-page .graph-node.dim{opacity:.14}
.person-world-page .graph-node.selected circle{stroke-width:2.4;filter:drop-shadow(0 0 9px rgba(215,189,132,.26))}
.person-world-page .pw-edges line{stroke:rgba(255,255,255,.12);stroke-width:1.1}
.person-world-page .pw-edges line.relation{stroke:rgba(215,189,132,.18)}
.person-world-page .pw-edges line.word{stroke:rgba(111,153,176,.2)}
.person-world-page .pw-moment .eyebrow{max-width:78%;line-height:1.45}
.person-world-page.ontology-person-world .pw-horizon{border-color:rgba(255,255,255,.09)}
.person-world-page.curated-person-world .pw-horizon{border-color:rgba(215,189,132,.18)}
.person-world-page.jesus-world-page .world-hero{background:radial-gradient(circle at 72% 42%,rgba(215,189,132,.12),transparent 28%),radial-gradient(circle at 28% 64%,rgba(112,155,176,.08),transparent 32%)}
.person-world-page.jesus-world-page .pw-hero-orbit{opacity:.9}
.person-world-page.jesus-world-page .pw-hero-orbit i{border-color:rgba(215,189,132,.25)}
.person-world-page.jesus-world-page .pw-horizon{box-shadow:0 0 0 1px rgba(215,189,132,.09),0 28px 80px rgba(0,0,0,.22)}
#deepWorldCards [data-world-person="Jesus"]{border-color:rgba(215,189,132,.42);background:radial-gradient(circle at 80% 10%,rgba(215,189,132,.12),transparent 34%),rgba(255,255,255,.025)}
#deepWorldCards [data-world-person="Jesus"] .status{color:var(--gold)}
@media(max-width:900px){.person-world-page .pw-hero-orbit{right:-13vw;width:60vw;opacity:.35}}
@media(max-width:620px){.person-world-page .pw-hero h1 #heroTheme{font-size:.42em}.person-world-page .pw-hero-orbit{display:none}}

/* --- Deep World selectable text + desktop return line v5 --- */
/* Reading text remains selectable; graph/control surfaces stay interactive. */
.world-hero,
.world-hero p,
.world-hero h1,
.world-hero h2,
.world-hero h3,
.world-hero span,
.world-hero strong,
.world-hero em,
.world-hero ~ section,
.world-hero ~ section .card,
.world-hero ~ section p,
.world-hero ~ section h1,
.world-hero ~ section h2,
.world-hero ~ section h3,
.world-hero ~ section h4,
.world-hero ~ section span,
.world-hero ~ section strong,
.world-hero ~ section em,
.world-hero ~ section small,
.world-hero ~ section .eyebrow,
.world-hero ~ section .detail-scripture,
.world-hero ~ section .detail-prompt,
.world-hero ~ section .interpretation-note,
.world-hero ~ section .pw-horizon-body,
.world-hero ~ section .pw-horizon-refs,
.world-hero ~ section .pw-moment,
.world-hero ~ section .pw-profile-card,
.world-hero ~ section details,
.world-hero ~ section details > * {
  -webkit-user-select:text !important;
  user-select:text !important;
  -webkit-touch-callout:default;
}
.world-hero button,
.world-hero input,
.world-hero textarea,
.world-hero select,
.world-hero svg,
.world-hero svg *,
.world-hero ~ section button,
.world-hero ~ section input,
.world-hero ~ section textarea,
.world-hero ~ section select,
.world-hero ~ section svg,
.world-hero ~ section svg * {
  -webkit-user-select:none !important;
  user-select:none !important;
}

/* Desktop only: closing sentence stays on one line. Mobile/tablet can wrap. */
@media (min-width:901px){
  .pw-return-section .ontology-manifesto p{
    max-width:none;
    white-space:nowrap;
    text-wrap:nowrap;
    font-size:clamp(1.18rem,1.8vw,1.85rem);
  }
}
@media (max-width:900px){
  .pw-return-section .ontology-manifesto p{
    white-space:normal;
    text-wrap:wrap;
  }
}


/* Bilingual dedicated-world hero title: keep the person name in the base style while only the theme uses the accent span style. */
.world-hero h1 .hero-name-plain{color:inherit!important;font-style:inherit!important;display:inline!important;margin:0!important;font-size:1em!important;letter-spacing:inherit!important}


/* --- DEEP WORLD PERSON SEARCH v18 --- */
.deep-world-demo{
  grid-template-columns:minmax(0,.86fr) 24px minmax(0,.86fr) 24px minmax(360px,1.42fr);
}
.deep-step-with-search{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(180px,220px);
  align-items:center;
  gap:12px;
}
.deep-step-copy{min-width:0}
.deep-person-search{position:relative;min-width:0;padding-bottom:15px}
.deep-person-search input{
  width:100%;
  min-width:0;
  height:34px;
  border:1px solid rgba(255,255,255,.14);
  border-radius:999px;
  background:rgba(4,8,13,.64);
  color:var(--text);
  padding:0 31px 0 12px;
  outline:none;
  font-size:.72rem;
  line-height:1;
  transition:border-color .18s,background .18s,box-shadow .18s;
}
.deep-person-search input::placeholder{color:#697782}
.deep-person-search input:focus{
  border-color:rgba(215,189,132,.58);
  background:rgba(9,14,21,.9);
  box-shadow:0 0 0 3px rgba(215,189,132,.08);
}
.deep-person-search button{
  position:absolute;
  right:5px;
  top:4px;
  width:26px;
  height:26px;
  border:0;
  border-radius:50%;
  background:transparent;
  color:#8b98a1;
  font-size:1rem;
  line-height:1;
  padding:0;
}
.deep-person-search button:hover{color:var(--text);background:rgba(255,255,255,.06)}
.deep-person-search small{
  position:absolute;
  left:12px;
  bottom:0;
  color:#6f7d87;
  font-size:.59rem;
  line-height:1;
  white-space:nowrap;
}
.deep-world-search-empty{
  grid-column:1/-1;
  padding:24px;
  text-align:center;
  color:var(--muted);
  border:1px dashed rgba(255,255,255,.12);
  border-radius:18px;
}
@media(max-width:1040px){
  .deep-world-demo{grid-template-columns:minmax(0,1fr) 20px minmax(0,1fr) 20px minmax(0,1.25fr)}
  .deep-step-with-search{grid-template-columns:1fr;gap:7px}
  .deep-person-search{margin-left:27px;max-width:260px}
}
@media(max-width:720px){
  .deep-world-demo{grid-template-columns:1fr}
  .deep-person-search{margin:4px 0 0 27px;max-width:none}
}
.deep-person-search input::-webkit-search-cancel-button{-webkit-appearance:none;display:none}

/* --- PERSON PAGE SECTION HEADING WRAP v21 --- */
/* Person-page section titles are allowed to wrap naturally at every viewport.
   Desktop uses a stable two-column grid so long titles never squeeze or overlap
   the smaller explanatory text. */
.world-hero ~ section .section-head h2{
  white-space:normal;
  text-wrap:balance;
  word-break:keep-all;
  overflow-wrap:normal;
}
@media (min-width:901px){
  .world-hero ~ section .section-head{
    display:grid;
    grid-template-columns:minmax(0,1.05fr) minmax(320px,.95fr);
    gap:clamp(28px,3.5vw,48px);
    align-items:start;
  }
  .world-hero ~ section .section-head > div:first-child{
    min-width:0;
    width:auto;
    max-width:680px;
  }
  .world-hero ~ section .section-head h2{
    max-width:100%;
    margin:.12em 0 0;
    font-size:clamp(1.75rem,2.7vw,2.55rem);
    line-height:1.12;
    letter-spacing:-.035em;
    white-space:normal;
    text-wrap:balance;
    word-break:keep-all;
    overflow-wrap:normal;
  }
  .world-hero ~ section .section-head > p{
    min-width:0;
    max-width:540px;
    line-height:1.65;
    align-self:start;
    padding-top:.2rem;
  }
}

@media (min-width:901px) and (max-width:1080px){
  .world-hero ~ section .section-head{
    grid-template-columns:minmax(0,1fr) minmax(280px,.9fr);
    gap:24px;
  }
  .world-hero ~ section .section-head > div:first-child{
    max-width:none;
  }
  .world-hero ~ section .section-head h2{
    font-size:clamp(1.55rem,2.4vw,2.05rem);
    line-height:1.14;
  }
}


/* --- TOPBAR LANGUAGE SWITCH BOUNDS v22 --- */
/* Keep the language switcher inside the shared content width when English
   navigation labels become longer. The navigation collapses a little earlier
   on medium-width desktop screens instead of pushing the switcher outward. */
.topbar-inner{min-width:0}
.topbar .brand{min-width:0;flex:0 1 auto}
.topbar .brand>span:last-child{min-width:0}
.topbar-actions{min-width:0;max-width:100%;flex:1 1 auto;justify-content:flex-end}
.topbar .navlinks{min-width:0}
.topbar .lang-switcher{flex:0 0 auto;max-width:100%}
@media(max-width:1120px){
  .topbar .navlinks{display:none}
}
@media(max-width:520px){
  .topbar .lang-switcher{padding:2px;gap:2px}
  .topbar .lang-btn{padding:5px 7px;font-size:.66rem}
}
