/* hallmark: custom atmospheric; 章节动效延续首页珊瑚色与暗色空间。 */
/* critique: 每个章节保留独立阅读层次，背景动效不遮挡内容。 */
.portal-home { --chapter-bg:#101014; --chapter-alt:#181519; --chapter-text:#f8f3ed; --chapter-muted:#c0b8b2; --chapter-line:rgba(245,203,181,.25); --chapter-card:rgba(24,21,23,.72); --chapter-accent:#ff9476; --chapter-gold:#ffc881; --chapter-glow:rgba(232,94,58,.18); --chapter-tile:#211c1f; --chapter-footer:#0c0c10; --chapter-ink:#161215; --chapter-focus:#ffd5b3; }
.portal-home .world-action-explore { background:var(--chapter-gold); border-color:var(--chapter-gold); color:var(--chapter-bg); font-weight:700; box-shadow:0 0 35px var(--chapter-glow); }
.portal-home .hero-stage .world-action-primary { background:var(--world-glass); border-color:var(--world-line); color:var(--world-fg); }
.portal-home .chapter { position:relative; isolation:isolate; overflow:hidden; color:var(--chapter-text); border-color:var(--chapter-line); background:var(--chapter-bg); }
.portal-home #experience,.portal-home #projects,.portal-home #about { background:var(--chapter-alt); }
.portal-home .chapter::before { content:''; position:absolute; inset:0; z-index:0; pointer-events:none; background:radial-gradient(ellipse at 78% 34%,var(--chapter-glow),transparent 50%); }
.portal-home .chapter > .wrap { position:relative; z-index:2; }
.portal-home .chapter-visual { position:absolute; inset:0; width:100%; height:100%; z-index:1; pointer-events:none; opacity:.88; }
.portal-home .experience-intro h2,.portal-home .sec-head h2 { color:var(--chapter-text); text-wrap:balance; }
.portal-home .experience-intro p,.portal-home .section-note,.portal-home .experience-row p,.portal-home #projects .service-desc,.portal-home .about-body,.portal-home #about .stat-l { color:var(--chapter-muted); }
.portal-home .experience-intro a,.portal-home #about .btn-link { color:var(--chapter-gold); }
.portal-home .experience-row { border-color:var(--chapter-line); background:linear-gradient(180deg,rgba(255,255,255,.035),transparent); padding:0 18px; transition:border-color .3s,background .3s; }
.portal-home .experience-row:hover,.portal-home .experience-row[open] { border-color:var(--chapter-accent); background:rgba(255,130,90,.07); }
.portal-home .experience-row summary { color:var(--chapter-text); }
.portal-home .experience-index,.portal-home .experience-toggle { color:var(--chapter-accent); }
.portal-home #projects .services-grid .service-item,.portal-home #services .services-grid .service-item,.portal-home #tools .tools-preview-link { position:relative; overflow:hidden; background:var(--chapter-card); border:1px solid var(--chapter-line); color:var(--chapter-text); transition:transform .35s cubic-bezier(.2,.7,.2,1),border-color .3s,box-shadow .3s; }
.portal-home #services .services-grid .service-item { padding:36px; }
.portal-home #projects .services-grid .service-item { padding:38px; }
.portal-home #projects .services-grid .service-item::before,.portal-home #services .service-item::before,.portal-home #tools .tools-preview-link::before { content:''; position:absolute; inset:0; pointer-events:none; background:radial-gradient(350px circle at var(--spot-x,50%) var(--spot-y,50%),rgba(255,145,98,.16),transparent 68%); opacity:0; transition:opacity .3s; }
.portal-home #projects .service-item:hover::before,.portal-home #services .service-item:hover::before,.portal-home #tools .tools-preview-link:hover::before { opacity:1; }
.portal-home #projects .service-item:hover,.portal-home #services .service-item:hover,.portal-home #tools .tools-preview-link:hover { transform:translateY(-7px); border-color:var(--chapter-accent); box-shadow:0 18px 60px rgba(0,0,0,.2); }
.portal-home #projects .service-name,.portal-home #services .service-name { color:var(--chapter-text); }
.portal-home #projects .service-num,.portal-home #projects .service-price,.portal-home #services .service-num,.portal-home #services .service-price,.portal-home #tools .tools-preview-label { color:var(--chapter-accent); }
.portal-home #tools .tools-preview-title,.portal-home #tools .tools-preview-cta { color:var(--chapter-text); }
.portal-home #about .stat-cell { border-color:var(--chapter-line); }
.portal-home #about .stat-n { color:var(--chapter-text); }
.portal-home #about .stat-cta { color:var(--chapter-bg); }
.portal-home .chapter-progress { position:fixed; right:20px; top:50%; z-index:90; display:flex; flex-direction:column; gap:10px; transform:translateY(-50%); }
.portal-home .chapter-progress a { display:block; width:7px; height:7px; border-radius:50%; background:var(--chapter-muted); opacity:.45; box-shadow:0 0 0 4px transparent; transition:opacity .2s,box-shadow .2s,background .2s; }
.portal-home .chapter-progress a:hover,.portal-home .chapter-progress a.is-current { opacity:1; background:var(--chapter-accent); box-shadow:0 0 0 4px var(--chapter-glow); }
.portal-home .chapter-progress a:focus-visible { outline:2px solid var(--chapter-gold); outline-offset:6px; }
@media (max-width:1100px) { .portal-home .chapter-progress { display:none; } }
@media (max-width:820px) { .portal-home .experience-row { padding:0 12px; }.portal-home #projects .services-grid .service-item,.portal-home #services .services-grid .service-item { padding:26px; } }
@media (prefers-reduced-motion:reduce) { .portal-home .chapter-visual { display:none; }.portal-home .chapter * { transition:none!important; }.portal-home .chapter-progress a { transition:none; } }
.portal-home .experience-intro .btn-link, .portal-home #about .btn-link { color:var(--chapter-gold); }
.portal-home .experience-intro .btn-link:hover, .portal-home #about .btn-link:hover { color:var(--chapter-text); }

/* 用途：让关于区数据与合作入口保持清晰对比，并延续全站的空间层次。 */
.portal-home #about .stats-grid { background:var(--chapter-line); border:1px solid var(--chapter-line); }
.portal-home #about .stat-cell { position:relative; overflow:hidden; background:var(--chapter-tile); transition:background .3s ease; }
.portal-home #about .stat-cell::before { content:''; position:absolute; inset:0; pointer-events:none; background:radial-gradient(240px circle at var(--spot-x,50%) var(--spot-y,50%),var(--chapter-glow),transparent 70%); opacity:0; transition:opacity .3s ease; }
.portal-home #about .stat-cell:hover::before { opacity:1; }
.portal-home #about .stat-n { position:relative; color:var(--chapter-text); font-variant-numeric:tabular-nums; }
.portal-home #about .stat-l { position:relative; color:var(--chapter-muted); }
.portal-home #about .stat-cta { background:var(--chapter-accent); color:var(--chapter-ink); transition:background .25s ease, box-shadow .25s ease; }
.portal-home #about .stat-cta .label, .portal-home #about .stat-cta .arrow { color:var(--chapter-ink); }
.portal-home #about .stat-cta:hover { background:var(--chapter-gold); box-shadow:inset 0 0 0 1px var(--chapter-focus); }
.portal-home #about .stat-cta:focus-visible { outline:2px solid var(--chapter-focus); outline-offset:4px; }
/* 用途：页脚作为页面的深色收束，保留所有原有导航和联系入口。 */
.portal-home footer { position:relative; overflow:hidden; color:var(--chapter-text); background:var(--chapter-footer); border-color:var(--chapter-line); }
.portal-home footer::before { content:''; position:absolute; top:0; left:0; right:0; height:1px; background:linear-gradient(90deg,transparent,var(--chapter-accent),var(--chapter-gold),transparent); opacity:.65; }
.portal-home .footer-inner { position:relative; padding-block:54px; gap:28px; }
.portal-home .footer-logo { color:var(--chapter-text); font-size:1.15rem; font-weight:700; }
.portal-home .footer-copy,.portal-home .footer-links a,.portal-home .footer-icons a { color:var(--chapter-muted); }
.portal-home .footer-icons { border-color:var(--chapter-line); }
.portal-home .footer-logo:hover,.portal-home .footer-links a:hover,.portal-home .footer-icons a:hover { color:var(--chapter-gold); }
.portal-home footer a:focus-visible { outline:2px solid var(--chapter-focus); outline-offset:5px; }
@media (prefers-reduced-motion:reduce) { .portal-home #about .stat-cell,.portal-home #about .stat-cell::before,.portal-home #about .stat-cta { transition:none; } }
