/* One continuous document: night-sky identity, product evidence, then background. */
.single-page>main{max-width:none;margin:0;padding:0}
.single-page .sky-hero{opacity:1!important;transform:none!important}
.single-page #night-stage{min-height:100svh}
.single-page .inline-project{padding-top:35px;padding-bottom:55px;position:relative;z-index:1}
.single-page .role-strip{flex-wrap:wrap}.single-page .role-credit{flex-basis:100%;font-size:11px;line-height:1.9;color:var(--muted);margin:10px 0 0}
.single-page .product-case .wrap{max-width:1200px}
.single-page .single-profile{position:relative;background:#0b131b;color:#d5dfe5;padding:70px 0 55px}
.single-profile-wrap{--ink:#d5dfe5;--muted:#9fb0bd;--line:#34444f;--paper:#13212b}
.single-profile .detail-heading{padding-top:0;margin-bottom:30px}.single-profile .detail-heading h2{font-size:36px;line-height:1.4;margin:12px 0}.single-profile .detail-heading p{color:#9fb0bd}
.single-profile .career-record,.single-profile .education-details{background:#13212b;border-color:#34444f}
.single-profile .record-heading h3,.single-profile .education-school b,.single-profile .education-degree b{color:#dce4e8}
.single-profile .career-record p,.single-profile .education-item em,.single-profile .education-degree small{color:#a8bbc8}
.single-profile .record-role,.single-profile .inline-link,.single-profile .course-details summary{color:#a8c9dd}
.single-profile .education-details{padding:5px 25px}.single-profile .education-item{border-color:#34444f}
.single-profile .compact-tools{margin-top:65px}.single-profile .compact-tools h2{color:#d5dfe5}
.single-profile .compact-tools dt{color:#c5d8e4}.single-profile .compact-tools dd{color:#9fb0bd}
.single-page .single-contact{display:grid;grid-template-columns:1fr 1fr;gap:70px;padding-top:50px;padding-bottom:65px;border-top:1px solid #34444f;color:#d5dfe5;position:relative}
.single-contact h2{font-size:32px;margin:12px 0}.single-contact p{font-size:13px;line-height:1.9;color:#9fb0bd}.single-contact .eyebrow{color:#829aaa}
.single-contact .contact-row{border-color:#34444f}.single-contact .contact-row b,.single-contact .contact-row a{color:#d5dfe5}.single-contact .copy-contact{background:#182b38;border-color:#405666;color:#bdd2df}.single-resume{display:inline-block;color:#bdd2df;font-size:12px;margin-top:12px;border-bottom:1px solid #405666;padding-bottom:6px}
.single-page [id]{scroll-margin-top:25px}.single-page #main{scroll-margin-top:0}
.single-page .sky-header nav{gap:22px}.single-page .sky-header .motion-controls{margin-left:0}
.single-page .iteration-section{padding-bottom:25px}.single-page .iteration-section h2{font-size:27px}
@media(max-width:700px){.single-page .sky-header{padding-left:20px;padding-right:20px;gap:12px}.single-page .sky-header nav{gap:10px}.single-page .sky-header nav a{font-size:10px;letter-spacing:0}.single-page .inline-project{padding-top:20px;padding-bottom:35px}.single-page .single-profile{padding:45px 0 30px}.single-profile .detail-heading h2{font-size:29px}.single-profile .career-record{padding:22px}.single-page .single-contact{grid-template-columns:1fr;gap:15px;padding-top:30px;padding-bottom:45px}.single-profile .compact-tools{margin-top:45px}.single-page .role-credit{font-size:10px}.single-page .iteration-section h2{font-size:23px}}
@media(max-width:360px){.single-page .sky-header nav{gap:7px}.single-page .sky-header nav a{font-size:9px}.single-page .sky-header{gap:8px}}
/* Long inline sections must not wait for a section-wide intersection threshold. */
.single-page main>section.reveal-ready{opacity:1;transform:none;transition:none}
.single-profile .education-school em{background:#243c4d;color:#bcd0df;border-color:#405767}
.single-profile .record-heading>span{color:#9fb0bd}

/* The full page shares the cover's blue-gray night background. */
.single-page .inline-project{--ink:#dce5eb;--sage:#a8c7d9;--muted:#a0b3c0;--line:#344956;--panel:#172936;--paper:#13212b;--cream:#0b131b;background:#0b131b;color:var(--ink)}
.inline-project .hero-product,.inline-project .product-shell,.inline-project .document-panel{background:#13212b;border-color:#344956;box-shadow:0 12px 40px #00000018}
.inline-project .window-bar,.inline-project .app-topbar,.inline-project .document-toolbar{background:#172936;color:#dce5eb;border-color:#344956}
.inline-project .window-dots{color:#829ba9}
.inline-project .pill{background:#1c3241;color:#bed2df;border-color:#405969}
.inline-project .deliverable-list>a,.inline-project .signal-item,.inline-project .follow-draft,.inline-project .feedback-options button,.inline-project .reference-source,.inline-project .material-gate{background:#13212b;border-color:#344956;color:#dce5eb}
.inline-project .deliverable-list>a:hover{background:#1b3040;border-color:#607f93}
.inline-project .deliverable-icon,.inline-project .context-icon,.inline-project .source-channel i{background:#243e50;color:#bdd9e9}
.inline-project .deliverable-list>a>span:last-child,.inline-project .app-mark,.inline-project .step-tabs span,.inline-project .feedback-options span{color:#a6c7da}
.inline-project .overview-metrics strong,.inline-project .metrics strong{color:#b9d6e6}
.inline-project .solid,.inline-project .small-solid{background:#294758;border-color:#52768c;color:#eff5f8!important}
.inline-project .solid:hover,.inline-project .small-solid:hover{background:#365a70}
.inline-project .demo-controls button{color:#d0e0ea;border-color:#5a7687}
.inline-project .step-tabs,.inline-project .chapter-tabs,.inline-project .app-status{background:#101d27}
.inline-project .step-tabs [aria-selected=true],.inline-project .chapter-tabs [aria-selected=true]{background:#233e50;border-bottom-color:#a3cadd;color:#e6eff4}
.inline-project .customer-context{background:#142631;border-color:#344956}
.inline-project .context-top small,.inline-project .context-timeline small,.inline-project .context-footer,.inline-project .document-pending,.inline-project .document-paper>small{color:#9eb5c4;border-color:#344956}
.inline-project .context-timeline li:before{background:#9bbfd4}
.inline-project .context-toggle{color:#b5d0e1!important}
.inline-project .signal-badges span{background:#1a303e;border-color:#3b5567;color:#b4cbd9}
.inline-project .signal-badges .relevance{background:#223f4c;color:#c0dde6}
.inline-project .source-filter input{accent-color:#a0cadd}
.inline-project .signal-item[aria-pressed=true],.inline-project .feedback-options [aria-pressed=true]{background:#213b4b;border-color:#8ab2ca;box-shadow:inset 3px 0 #a4c8dc}
.inline-project .policy-quote,.inline-project .link-record,.inline-project .rewrite-command,.inline-project .evidence-toggle{background:#172c3a;border-color:#5f8298;color:#d4e2eb}
.inline-project .opportunity-result{background:#172c3a;border-color:#405e72}
.inline-project .boundary{color:#adc1ce;border-color:#405969}
.inline-project .evidence-linked .policy-quote,.inline-project .evidence-linked .evidence-node,.inline-project .source-inspector:not(:empty),.inline-project .confirmation-result{background:#203c4d;border-color:#8ab2ca;color:#d9e8f1}
.inline-project .evidence-linked .policy-quote mark{background:#31576e;box-shadow:0 0 0 3px #31576e;color:#f0f7fb}
.inline-project .evidence-connector{color:#9dbfd3}
.inline-project .reference-source.is-highlighted{background:#234354;border-color:#91b9ce;box-shadow:0 0 0 2px #4d759044}
.inline-project .cite{background:#284b60;border-color:#6d96ae;color:#e0eff8!important}
.inline-project .editable-paragraph mark{background:#284f65;color:#e3f2fa}
.inline-project .editable-paragraph s{color:#91aab9;text-decoration-color:#6f8fa3}
.inline-project .rewrite-button{background:#294758;border-color:#6d96ae;color:#e4f0f7}
.inline-project .confirm-zone small{color:#b4d2e2}
.inline-project .tour-bar{background:#203b4c;border-color:#577c93;color:#dcebf4}
.inline-project details{background:#13212b;border-color:#344956;color:#dce5eb}
.inline-project .comparison-toggle{background:#162936}
.inline-project .comparison-toggle [aria-pressed=true]{background:#2a4b60;border-color:#739bb2;color:#eff6fa;box-shadow:none}
.inline-project .iteration-strip small{color:#b1cddd}
.inline-project .iteration-strip>span{color:#8eafc3}
.inline-project button:hover:not(:disabled){border-color:#8fb5cd}
.inline-project .is-changed{animation-name:night-context-in}
@keyframes night-context-in{from{background-color:#31576e}to{background-color:transparent}}

/* One compact platform map separates product breadth from the focused demo. */
.platform-section{padding-top:5px;padding-bottom:55px}
.platform-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;margin-bottom:25px}
.platform-heading h2{font-size:27px;line-height:1.55;margin:8px 0 0;max-width:640px}
.platform-heading>p{font-size:12px;line-height:1.9;color:var(--muted);max-width:220px;margin:0}
.platform-map{border:1px solid var(--line);border-radius:10px;overflow:hidden;background:#13212b}
.platform-business{padding:24px 26px;background:#162833}
.platform-lane-label{display:flex;align-items:center;gap:20px;margin-bottom:20px}
.platform-map small{font-size:10px;letter-spacing:.6px;color:#9dbbce}
.platform-lane-label>b{font-size:13px;font-weight:500}
.platform-spine{list-style:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px;padding:0;margin:0}
.platform-spine li{position:relative;border:1px solid #3e596a;border-radius:5px;padding:14px 15px;background:#1d3443;min-width:0}
.platform-spine li:not(:last-child):after{content:'→';position:absolute;right:-23px;top:50%;transform:translateY(-50%);font-size:16px;color:#88aabd}
.platform-spine b{font-size:14px;display:block;font-weight:550}
.platform-spine span{display:block;font-size:11px;line-height:1.8;color:#a6bdca;margin-top:5px}
.platform-task-note{font-size:11px;line-height:1.8;color:#a6bdca;margin:16px 0 0}
.platform-support{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));padding:24px 26px;gap:25px}
.platform-support article{min-width:0;border-right:1px solid #344956;padding-right:20px}
.platform-support article:last-child{border:0;padding-right:0}
.platform-support h3{font-size:14px;line-height:1.7;margin:10px 0 14px;font-weight:500}
.platform-support ul{display:flex;flex-wrap:wrap;gap:7px;list-style:none;padding:0;margin:0}
.platform-support li{font-size:11px;color:#b5cbd8;background:#1a303e;border:1px solid #344e60;border-radius:4px;padding:4px 7px;line-height:1.6}
.platform-demo-scope{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:17px 26px;border-top:1px solid #344956;background:#101d27}
.platform-demo-scope p{font-size:13px;margin:7px 0 0;line-height:1.9}
.platform-demo-scope p span{color:#789caf;margin:0 8px}
.platform-demo-scope a{font-size:12px;white-space:nowrap;color:#bfd9e9;text-decoration:underline;text-underline-offset:5px}
@media(max-width:800px){.platform-heading{display:block}.platform-heading h2{font-size:24px}.platform-heading>p{margin-top:12px;max-width:none}.platform-business{padding:20px}.platform-spine{gap:24px 28px;grid-template-columns:repeat(2,minmax(0,1fr))}.platform-spine li:nth-child(2):after{display:none}.platform-support{grid-template-columns:1fr;padding:20px;gap:20px}.platform-support article{padding:0 0 20px;border:0;border-bottom:1px solid #344956}.platform-support article:last-child{padding-bottom:0}.platform-demo-scope{padding:17px 20px;align-items:flex-start;flex-direction:column;gap:10px}.platform-section{padding-bottom:35px}.platform-demo-scope p{font-size:12px}.platform-demo-scope p span{margin:0 4px}}
@media(max-width:360px){.platform-business,.platform-support{padding:16px}.platform-spine{gap:18px}.platform-spine li{padding:12px 10px}.platform-spine li:not(:last-child):after{right:-15px;font-size:12px}.platform-spine b{font-size:13px}.platform-spine span{font-size:10px}.platform-lane-label{gap:12px}.platform-demo-scope{padding:15px 16px}.platform-demo-scope p{font-size:11px}}

/* A full-width project introduction replaces the duplicate product preview. */
.single-page .result-hero{display:block;padding-top:45px;padding-bottom:45px}
.single-page .hero-copy{width:100%;max-width:none}
.single-page .hero-copy h1{font-size:clamp(36px,4.5vw,58px);line-height:1.35;margin:20px 0 22px;letter-spacing:-1.5px}
.single-page .hero-definition{max-width:1000px;margin:0 0 12px}
.single-page .hero-value{max-width:1000px;margin:0 0 24px}
.single-page .hero-copy .actions{margin-top:0}
.single-page .role-strip{display:grid;grid-template-columns:85px minmax(0,1fr);column-gap:18px;row-gap:7px;max-width:none;padding-top:18px;margin-top:28px}
.single-page .role-strip small{margin:0}
.single-page .role-credit{grid-column:2;margin:0}
@media(max-width:700px){.single-page .result-hero{padding-top:30px;padding-bottom:35px}.single-page .hero-copy h1{font-size:clamp(30px,7.8vw,42px);margin:15px 0 20px;letter-spacing:-1px}.single-page .role-strip{grid-template-columns:1fr;row-gap:5px;margin-top:24px;padding-top:16px}.single-page .role-credit{grid-column:1;margin-top:4px}.single-page .hero-value{margin-bottom:22px}}

/* Tools form a separate section after the project. */
.single-page .single-tools{padding-top:50px;padding-bottom:50px}.single-tools .compact-tools{margin-top:0}
@media(max-width:700px){.single-page .single-tools{padding-top:35px;padding-bottom:35px}.single-tools .compact-tools{margin-top:0}}

/* Full navigation labels stay readable on narrow screens. */
@media(max-width:700px){.single-page .sky-header{flex-wrap:wrap;gap:8px}.single-page .sky-header nav{width:100%;justify-content:space-between;gap:6px}.single-page .sky-header nav a{font-size:10px}.single-page .sky-header .motion-controls{margin-left:0}}
@media(max-width:360px){.single-page .sky-header nav a{font-size:9px}}

/* Cover entrance hierarchy: products/about, then tools, then contact. */
.single-page .portal-projects .portal-label b,.single-page .portal-personal .portal-label b{font-size:22px;font-weight:500}
.single-page .portal-projects .portal-label small,.single-page .portal-personal .portal-label small{font-size:10px}
.single-page .portal-personal .portal-label{opacity:.9}
.single-page .portal-tools .portal-label b{font-size:18px}
.single-page .portal-tools .portal-label small{font-size:9px}
.single-page .portal-contact .portal-label b{font-size:14px}
.single-page .portal-contact .portal-label small{font-size:8px}
@media(min-width:1600px){.single-page .portal-projects .portal-label b,.single-page .portal-personal .portal-label b{font-size:24px}.single-page .portal-tools .portal-label b{font-size:20px}.single-page .portal-contact .portal-label b{font-size:16px}}
@media(max-width:700px){.single-page .portal-projects .portal-label b,.single-page .portal-personal .portal-label b{font-size:18px}.single-page .portal-projects .portal-label small,.single-page .portal-personal .portal-label small{font-size:9px}.single-page .portal-tools .portal-label b{font-size:15px}.single-page .portal-tools .portal-label small{font-size:8px}.single-page .portal-contact .portal-label b{font-size:12px}.single-page .portal-contact .portal-label small{font-size:7px}.single-page .portal-personal .portal-label{opacity:1}}
@media(max-width:360px){.single-page .portal-projects .portal-label b,.single-page .portal-personal .portal-label b{font-size:17px}.single-page .portal-tools .portal-label b{font-size:14px}}
/* One persistent sky: map on the cover, sparse stars only in the page gutters. */
.single-page{isolation:isolate}
.single-page>.star-layer{z-index:-1;opacity:1;clip-path:none}
.single-page #night-stage,.single-page .inline-project,.single-page .single-profile,.single-page .single-contact,.single-page .home-footer{background:transparent}
.single-page #about-me summary:focus-visible{outline:2px solid #98b0c1;outline-offset:5px}
