
/* GematriaRTM Portal + Guide UX — presentation only. Scientific engine unchanged. */
.portal-home,.guide-home{background:var(--x-bg);color:var(--x-text)}
.portal-home main,.guide-home main{overflow:hidden}
.portal-eyebrow,.guide-kicker{display:inline-flex;align-items:center;gap:8px;font-size:11px;font-weight:900;letter-spacing:.12em;text-transform:uppercase;color:var(--premium-cyan)}
.portal-hero{position:relative;padding:82px 0 68px;background:radial-gradient(circle at 78% 15%,rgba(75,225,212,.13),transparent 30rem),radial-gradient(circle at 15% 0,rgba(114,167,255,.16),transparent 34rem),linear-gradient(180deg,#07111d 0%,#0c1725 72%,var(--x-bg) 100%);color:#f3f8ff}
.portal-hero:after{content:"";position:absolute;inset:auto 0 0;height:1px;background:linear-gradient(90deg,transparent,rgba(114,167,255,.24),transparent)}
.portal-hero-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(360px,.85fr);gap:56px;align-items:center}
.portal-hero-copy h1{font-size:clamp(46px,6vw,78px);line-height:.98;letter-spacing:-.055em;max-width:900px;margin:14px 0 20px}.portal-hero-copy h1 em{font-style:normal;color:var(--premium-cyan)}
.portal-hero-copy>p{max-width:760px;color:#aebfd3;font-size:17px;line-height:1.8;margin:0}
.portal-hero-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:30px}.portal-btn{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:0 18px;border:1px solid var(--x-line2);border-radius:12px;background:var(--x-surface);color:var(--x-text);font-weight:900;font-size:13px;box-shadow:var(--x-shadow-sm);transition:.18s ease}.portal-btn:hover{transform:translateY(-2px);border-color:var(--x-blue)}.portal-btn.primary{background:linear-gradient(135deg,#2f73ef,#765fe0);border-color:transparent;color:#fff;box-shadow:0 14px 32px rgba(72,91,214,.25)}
.portal-text-link{font-weight:850;color:#d8e8f8;font-size:13px;padding:12px 4px}.portal-text-link:hover{color:#fff}
.portal-proof{display:flex;gap:8px;flex-wrap:wrap;margin-top:24px}.portal-proof span{border:1px solid rgba(165,193,224,.17);background:rgba(11,22,36,.7);padding:7px 10px;border-radius:999px;color:#9eb0c5;font-size:10px;font-weight:800}
.portal-architecture{position:relative;border:1px solid rgba(114,167,255,.22);border-radius:24px;background:linear-gradient(145deg,rgba(15,29,47,.93),rgba(7,15,26,.9));padding:26px;box-shadow:0 34px 80px rgba(0,0,0,.28);overflow:hidden}.portal-architecture:before{content:"";position:absolute;inset:-35% -15% auto auto;width:270px;height:270px;border-radius:50%;background:radial-gradient(circle,rgba(75,225,212,.13),transparent 68%)}
.architecture-head{display:flex;justify-content:space-between;gap:20px;align-items:center;color:#8197b0;font-size:10px;font-weight:900;letter-spacing:.12em}.architecture-head b{color:var(--premium-gold);font-size:10px}.architecture-flow{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin:40px 0 20px;position:relative;z-index:2}.architecture-flow span{min-height:76px;border:1px solid rgba(114,167,255,.2);border-radius:14px;background:rgba(15,31,50,.85);display:grid;place-items:center;text-align:center;color:#dbe8f7;font-size:11px;font-weight:900;padding:8px}.architecture-flow span:nth-child(3){border-color:rgba(75,225,212,.36);color:var(--premium-cyan)}.architecture-line{height:1px;background:linear-gradient(90deg,rgba(114,167,255,.15),rgba(75,225,212,.65),rgba(114,167,255,.15));margin:2px 5% 18px}.portal-architecture p{margin:0;color:#8fa3bc;font-size:11px;line-height:1.7}
.portal-section{padding:76px 0}.portal-section-soft{background:color-mix(in srgb,var(--x-surface2) 88%,var(--x-bg));border-block:1px solid var(--x-line)}.portal-section-head{max-width:760px;margin-bottom:30px}.portal-section-head>span{font-size:10px;font-weight:900;letter-spacing:.12em;text-transform:uppercase;color:var(--x-blue)}.portal-section-head h2,.portal-rtm-copy h2,.portal-research-inner h2{font-size:clamp(31px,4vw,48px);letter-spacing:-.04em;margin:8px 0 10px}.portal-section-head p,.portal-rtm-copy>p,.portal-research-inner p{color:var(--x-muted);font-size:14px;line-height:1.8;margin:0}
.portal-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:14px}.portal-card{position:relative;overflow:hidden;border:1px solid var(--x-line);border-radius:22px;background:linear-gradient(145deg,var(--x-surface),var(--x-surface2));min-height:260px;padding:26px;display:flex;flex-direction:column;justify-content:space-between;box-shadow:var(--x-shadow-sm);transition:.2s ease;color:var(--x-text)}.portal-card:hover{transform:translateY(-4px);border-color:color-mix(in srgb,var(--x-blue) 55%,var(--x-line));box-shadow:var(--x-shadow)}.portal-card h2{font-size:30px;letter-spacing:-.035em;margin:4px 0 10px}.portal-card p{max-width:620px;color:var(--x-muted);font-size:13px;line-height:1.75;margin:0}.portal-tag{align-self:flex-start;border:1px solid var(--x-line);padding:6px 9px;border-radius:999px;font-size:9px;font-weight:900;color:var(--x-muted);background:color-mix(in srgb,var(--x-surface) 78%,transparent)}.portal-kicker{display:block;color:var(--x-subtle);font-size:10px;font-weight:850;margin-bottom:2px}.portal-open{display:flex;align-items:center;gap:7px;font-size:12px;font-weight:900;color:var(--x-blue);margin-top:22px}.portal-open b{font-size:16px}.portal-watermark{position:absolute;inset-inline-end:18px;top:6px;font-size:116px;font-weight:950;line-height:1;color:color-mix(in srgb,var(--x-blue) 8%,transparent);pointer-events:none}.portal-rtm{grid-column:span 7;min-height:330px;border-color:rgba(132,112,255,.24);background:radial-gradient(circle at 95% 10%,rgba(115,94,226,.12),transparent 22rem),linear-gradient(145deg,var(--x-surface),var(--x-surface2))}.portal-rtm .portal-open{color:var(--x-violet)}.portal-gematria{grid-column:span 5;min-height:330px;border-color:rgba(75,225,212,.25);background:radial-gradient(circle at 95% 8%,rgba(75,225,212,.11),transparent 22rem),linear-gradient(145deg,var(--x-surface),var(--x-surface2))}.portal-gematria .portal-open{color:var(--x-cyan)}.portal-tanakh,.portal-wikidata,.portal-guide{grid-column:span 4}.portal-research{grid-column:1/-1;min-height:220px;background:radial-gradient(circle at 92% 10%,rgba(244,195,106,.10),transparent 22rem),linear-gradient(145deg,var(--x-surface),var(--x-surface2));border-color:rgba(244,195,106,.22)}.portal-research .portal-open{color:#b47a18}.portal-guide{border-color:rgba(114,167,255,.25)}
.portal-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.portal-steps article{border:1px solid var(--x-line);border-radius:18px;background:var(--x-surface);padding:22px;min-height:190px}.portal-steps article>span{display:inline-grid;place-items:center;width:38px;height:38px;border-radius:12px;background:var(--x-soft);color:var(--x-blue);font-size:11px;font-weight:950}.portal-steps h3{font-size:17px;margin:24px 0 8px}.portal-steps p{font-size:12px;line-height:1.7;color:var(--x-muted);margin:0}
.portal-rtm-grid{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:46px;align-items:start}.portal-note{margin:22px 0;padding:16px 18px;border:1px solid rgba(75,225,212,.23);border-radius:14px;background:color-mix(in srgb,var(--x-cyan) 5%,var(--x-surface))}.portal-note b{font-size:11px;color:var(--x-cyan)}.portal-note p{font-size:12px;line-height:1.7;color:var(--x-muted);margin:6px 0 0}.portal-principles{display:grid;grid-template-columns:1fr 1fr;gap:12px}.portal-principles article{border:1px solid var(--x-line);border-radius:18px;background:var(--x-surface);padding:20px}.portal-principles h3{font-size:15px;margin:0 0 8px}.portal-principles p{font-size:11px;line-height:1.7;color:var(--x-muted);margin:0}.portal-research-band{padding:56px 0 70px}.portal-research-inner{border:1px solid rgba(244,195,106,.22);border-radius:24px;background:linear-gradient(135deg,color-mix(in srgb,var(--premium-gold) 6%,var(--x-surface)),var(--x-surface));padding:30px;display:grid;grid-template-columns:1fr auto;gap:30px;align-items:center}.portal-research-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.portal-research-actions a{border:1px solid var(--x-line);border-radius:10px;padding:10px 12px;background:var(--x-surface2);font-size:11px;font-weight:900;color:var(--x-text)}
/* Guide */
.guide-hero{padding:70px 0 46px;background:radial-gradient(circle at 82% 0,rgba(75,225,212,.10),transparent 28rem),radial-gradient(circle at 20% 0,rgba(114,167,255,.10),transparent 32rem);border-bottom:1px solid var(--x-line)}.guide-hero h1{font-size:clamp(44px,6vw,70px);letter-spacing:-.05em;margin:10px 0 14px}.guide-hero>div>p{max-width:840px;color:var(--x-muted);font-size:15px;line-height:1.8}.guide-quick-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:34px}.guide-quick-grid article{border:1px solid var(--x-line);border-radius:17px;background:var(--x-surface);padding:18px}.guide-quick-grid h3{font-size:15px;margin:0 0 7px}.guide-quick-grid p{font-size:11px;line-height:1.65;color:var(--x-muted);min-height:54px}.guide-quick-grid a{font-size:11px;font-weight:900;color:var(--x-blue)}
.guide-shell{display:grid;grid-template-columns:220px minmax(0,1fr);gap:44px;padding-top:50px;padding-bottom:80px}.guide-toc{position:sticky;top:142px;align-self:start;border:1px solid var(--x-line);border-radius:16px;background:var(--x-surface);padding:16px}.guide-toc strong{display:block;font-size:11px;margin-bottom:10px}.guide-toc a{display:block;border-radius:9px;padding:8px 9px;color:var(--x-muted);font-size:11px;font-weight:780}.guide-toc a:hover{background:var(--x-soft);color:var(--x-text)}.guide-content{min-width:0}.guide-section{scroll-margin-top:145px;padding:18px 0 52px;border-bottom:1px solid var(--x-line)}.guide-section h2{font-size:clamp(28px,4vw,42px);letter-spacing:-.035em;margin:7px 0 14px}.guide-section>p{font-size:14px;line-height:1.85;color:var(--x-muted);max-width:900px}.guide-callout{border:1px solid rgba(75,225,212,.22);background:color-mix(in srgb,var(--x-cyan) 5%,var(--x-surface));border-radius:14px;padding:16px 18px;margin-top:18px}.guide-callout.warning{border-color:rgba(244,195,106,.30);background:color-mix(in srgb,var(--premium-gold) 6%,var(--x-surface))}.guide-callout b{font-size:11px}.guide-callout p{color:var(--x-muted);font-size:12px;line-height:1.75;margin:6px 0 0}.concept-grid{display:grid;grid-template-columns:1fr 1fr;gap:11px}.concept-grid article,.reading-grid article{border:1px solid var(--x-line);border-radius:15px;background:var(--x-surface);padding:17px}.concept-grid h3,.reading-grid h3{font-size:14px;margin:0 0 7px}.concept-grid p,.reading-grid p{font-size:11px;line-height:1.72;color:var(--x-muted);margin:0}.workflow-list{display:grid;gap:9px}.workflow-list article{display:grid;grid-template-columns:45px 1fr;gap:15px;border:1px solid var(--x-line);border-radius:15px;background:var(--x-surface);padding:16px}.workflow-list article>span{display:grid;place-items:center;width:38px;height:38px;border-radius:11px;background:var(--x-soft);color:var(--x-blue);font-size:10px;font-weight:950}.workflow-list h3{font-size:14px;margin:1px 0 5px}.workflow-list p{font-size:11px;color:var(--x-muted);line-height:1.7;margin:0}.guide-inline-actions{margin-top:18px}.tool-guide-list{display:grid;gap:9px}.tool-guide-list article{display:grid;grid-template-columns:1fr auto;gap:18px;align-items:center;border:1px solid var(--x-line);border-radius:15px;background:var(--x-surface);padding:17px}.tool-guide-list h3{font-size:15px;margin:0 0 5px}.tool-guide-list p{font-size:11px;line-height:1.7;color:var(--x-muted);margin:0}.tool-guide-list a{white-space:nowrap;font-size:11px;font-weight:900;color:var(--x-blue)}.reading-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.faq-list{display:grid;gap:8px}.faq-list details{border:1px solid var(--x-line);border-radius:13px;background:var(--x-surface);padding:0 15px}.faq-list summary{cursor:pointer;padding:15px 0;font-size:12px;font-weight:900}.faq-list p{color:var(--x-muted);font-size:11px;line-height:1.75;padding:0 0 15px;margin:0}.guide-finish{margin-top:50px;border:1px solid rgba(114,167,255,.25);border-radius:22px;background:linear-gradient(145deg,color-mix(in srgb,var(--x-blue) 5%,var(--x-surface)),var(--x-surface));padding:26px}.guide-finish h2{font-size:30px;margin:0 0 8px}.guide-finish p{color:var(--x-muted);font-size:12px}.guide-finish>div{display:flex;gap:9px;flex-wrap:wrap;margin-top:16px}
/* Make the generic research strip fit the new Guide destination. */
.research-link[href$="/guides/"]::before{content:"?";display:inline-grid;place-items:center;width:15px;height:15px;border:1px solid rgba(114,167,255,.28);border-radius:50%;font-size:9px;color:var(--premium-cyan)}
@media(max-width:1050px){.portal-hero-grid{grid-template-columns:1fr}.portal-architecture{max-width:760px}.portal-rtm{grid-column:span 12}.portal-gematria{grid-column:span 12}.portal-tanakh,.portal-wikidata,.portal-guide{grid-column:span 4}.portal-steps{grid-template-columns:1fr 1fr}.portal-rtm-grid{grid-template-columns:1fr}.guide-shell{grid-template-columns:1fr}.guide-toc{position:static;display:flex;flex-wrap:wrap;gap:5px}.guide-toc strong{width:100%}.guide-toc a{border:1px solid var(--x-line)}}
@media(max-width:760px){.portal-hero{padding:55px 0 48px}.portal-hero-copy h1{font-size:48px}.architecture-flow{grid-template-columns:1fr 1fr}.architecture-flow span:last-child{grid-column:1/-1}.portal-grid{display:block}.portal-card{margin-bottom:12px;min-height:240px}.portal-rtm,.portal-gematria{min-height:275px}.portal-steps,.portal-principles,.guide-quick-grid,.concept-grid,.reading-grid{grid-template-columns:1fr}.portal-research-inner{grid-template-columns:1fr}.portal-research-actions{justify-content:flex-start}.guide-hero{padding-top:46px}.guide-shell{padding-top:30px}.tool-guide-list article{grid-template-columns:1fr}.guide-section{padding-bottom:40px}}
@media(max-width:520px){.portal-hero-copy h1{font-size:40px}.portal-hero-copy>p{font-size:14px}.portal-section{padding:54px 0}.portal-steps{grid-template-columns:1fr}.portal-architecture{padding:18px}.portal-watermark{font-size:88px}.guide-hero h1{font-size:42px}.guide-toc{overflow-x:auto;flex-wrap:nowrap}.guide-toc strong{display:none}.guide-toc a{white-space:nowrap}}

/* ============================================================
   Portal polish v2 — contrast, CTA clarity, spacing & a11y.
   Presentation-only. Scientific engine / Search Contract unchanged.
   ============================================================ */
/* Keep the hero dark all the way through. The previous light-mode fade
   into --x-bg reduced contrast exactly where the CTA row sits. */
.portal-hero{
  background:
    radial-gradient(circle at 78% 15%,rgba(75,225,212,.16),transparent 30rem),
    radial-gradient(circle at 15% 0,rgba(114,167,255,.18),transparent 34rem),
    linear-gradient(180deg,#07111d 0%,#0b1726 58%,#0d1a2a 100%)!important;
  border-bottom:1px solid rgba(114,167,255,.16);
}
.portal-hero:after{height:72px;inset:auto 0 -72px;background:linear-gradient(180deg,rgba(13,26,42,.07),transparent);pointer-events:none}
.portal-hero-copy h1{color:#f5f8fd!important;text-wrap:balance;text-shadow:0 1px 0 rgba(0,0,0,.12)}
.portal-hero-copy h1 em{color:#4fe2d6!important}
.portal-hero-copy>p{color:#c3d1e1!important;font-weight:520;max-width:780px}
.portal-hero .portal-eyebrow{color:#66e9df!important}
.portal-hero-actions{position:relative;z-index:3}
/* Explicit hero button palette: do not inherit light/dark theme tokens here. */
.portal-hero .portal-btn:not(.primary){
  background:#f7fbff!important;
  color:#102034!important;
  border-color:#d9e5f2!important;
  box-shadow:0 10px 28px rgba(0,0,0,.18)!important;
}
.portal-hero .portal-btn:not(.primary):hover{
  background:#ffffff!important;
  color:#07111d!important;
  border-color:#8eb8ee!important;
}
.portal-hero .portal-btn.primary{color:#fff!important;box-shadow:0 15px 36px rgba(70,83,214,.34)!important}
.portal-hero .portal-text-link{
  color:#e3eef9!important;
  border:1px solid rgba(180,205,232,.22);
  background:rgba(12,27,44,.48);
  border-radius:11px;
  padding:11px 13px;
}
.portal-hero .portal-text-link:hover{color:#fff!important;background:rgba(25,48,73,.72);border-color:rgba(114,167,255,.42)}
.portal-proof span{color:#b8c7d8!important;background:rgba(9,20,34,.82);border-color:rgba(165,193,224,.24)}
.portal-architecture{border-color:rgba(114,167,255,.30);background:linear-gradient(145deg,rgba(17,34,54,.98),rgba(7,15,26,.96));box-shadow:0 30px 72px rgba(0,0,0,.34)}
.architecture-head{color:#a5b8cd!important}.architecture-head b{color:#ffd071!important}
.architecture-flow span{color:#edf5ff!important;border-color:rgba(135,181,237,.28);background:rgba(17,36,58,.92)}
.architecture-flow span:nth-child(3){color:#5ce7dc!important;border-color:rgba(75,225,212,.52);background:rgba(16,48,58,.70)}
.portal-architecture p{color:#b5c5d6!important;font-size:12px}

/* Stronger card hierarchy without making the page noisy. */
.portal-section-head h2,.portal-rtm-copy h2,.portal-research-inner h2{color:var(--x-text)!important}
.portal-section-head p,.portal-rtm-copy>p,.portal-research-inner p{color:color-mix(in srgb,var(--x-muted) 90%,var(--x-text))!important}
.portal-card{isolation:isolate}
.portal-card>div,.portal-card>.portal-tag,.portal-card>.portal-open{position:relative;z-index:2}
.portal-card h2{color:var(--x-text)!important}
.portal-card p{color:color-mix(in srgb,var(--x-muted) 90%,var(--x-text))!important;font-size:13.5px}
.portal-kicker{color:color-mix(in srgb,var(--x-subtle) 82%,var(--x-text))!important}
.portal-tag{color:color-mix(in srgb,var(--x-muted) 88%,var(--x-text))!important}
.portal-open{width:max-content;padding:8px 10px;border-radius:10px;background:color-mix(in srgb,currentColor 8%,transparent)}
.portal-card:focus-visible,.portal-btn:focus-visible,.portal-text-link:focus-visible,.portal-research-actions a:focus-visible{outline:3px solid color-mix(in srgb,var(--x-blue) 58%,transparent);outline-offset:3px}

/* Refine vertical rhythm on wide screens. */
.portal-section{padding:68px 0}
.portal-section-head{margin-bottom:26px}
.portal-steps article{min-height:176px}
.portal-research-band{padding:50px 0 64px}

/* Dark-theme matching for the portal while keeping hero CTA contrast fixed. */
html[data-theme="dark"] .portal-card p,
html[data-theme="dark"] .portal-section-head p,
html[data-theme="dark"] .portal-rtm-copy>p,
html[data-theme="dark"] .portal-research-inner p{color:#aebdd0!important}
html[data-theme="dark"] .portal-open{background:rgba(114,167,255,.07)}

@media(max-width:760px){
  .portal-hero{padding:52px 0 46px}
  .portal-hero-copy h1{line-height:1.03}
  .portal-hero-actions{gap:9px}
  .portal-hero .portal-btn{min-height:44px}
  .portal-architecture p{font-size:11px}
}

/* ============================================================
   V3 · V10 scientific-language alignment
   Presentation/text only. No RTM engine or statistical logic changed.
   ============================================================ */
.portal-note.scope-note{margin-top:12px;border-color:rgba(244,195,106,.30);background:color-mix(in srgb,var(--premium-gold) 6%,var(--x-surface))}
.portal-note.scope-note b{color:color-mix(in srgb,var(--premium-gold) 82%,var(--x-text))}
.guide-callout.model-level{border-color:rgba(114,167,255,.28);background:color-mix(in srgb,var(--x-blue) 5%,var(--x-surface))}
#concepts .concept-grid article{min-height:132px}
#model-scope .reading-grid article,#controls .concept-grid article{min-height:150px}
@media(max-width:760px){#concepts .concept-grid article,#model-scope .reading-grid article,#controls .concept-grid article{min-height:0}}

/* V53: beginner-first terminology — technical labels are visually secondary */
.guide-section h3 small,.concept-grid h3 small,.reading-grid h3 small{font-size:.72em;font-weight:500;opacity:.70;unicode-bidi:isolate;}
.plain-language-note{margin:10px 0 18px;line-height:1.75;opacity:.92;}
