/* Fonts (Jost, Newsreader) load from each page head without blocking first paint. */
:root{--paper:#f5f5f2;--ink:#192321;--muted:#59635f;--accent:#a72439;--red:#a72439;--line:#d5d9d2;--dark:#172720;--serif:'Newsreader',Georgia,serif;--sans:'Jost','Helvetica Neue',Arial,sans-serif;--shell:1200px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font:400 1.0625rem/1.65 var(--sans);-webkit-font-smoothing:antialiased}body.audio-page{--accent:#244ec3}body.startup-page{--accent:#704260}a{color:inherit;text-decoration:none}p a:not(.button),.text-link{text-decoration:underline;text-underline-offset:5px;text-decoration-color:var(--line)}a:hover{color:var(--accent)}button{font:inherit;cursor:pointer}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--accent);outline-offset:5px}img{display:block;max-width:100%;height:auto}h1,h2,h3,p,figure{margin:0}h1,h2{font-family:var(--serif);font-weight:400;letter-spacing:-.04em;line-height:1.08}h1{font-size:clamp(3.4rem,6.1vw,5.6rem)}h2{font-size:clamp(2.5rem,4vw,3.7rem)}h3{font-size:1.4rem;line-height:1.3;font-weight:500}h1 em,h2 em{color:var(--accent);font-weight:400}p{overflow-wrap:break-word}::selection{background:#eac5c8;color:var(--ink)}.shell,.section-shell{width:min(var(--shell),calc(100% - 96px));margin-inline:auto}.skip-link{position:absolute;top:-100px;left:20px;z-index:99;background:var(--ink);color:white;padding:12px}.skip-link:focus{top:12px}.site-header{display:flex;align-items:center;justify-content:space-between;gap:30px;min-height:94px;border-bottom:1px solid var(--line);position:relative;z-index:10}.wordmark{font-family:var(--serif);font-size:1.8rem;line-height:1;letter-spacing:-.04em}.wordmark span{color:var(--accent)}.site-header nav{display:flex;gap:27px;align-items:center;font-size:.94rem}.site-header nav a{padding:10px 0;border-bottom:2px solid transparent}.site-header nav a[aria-current=page]{border-color:var(--accent);color:var(--accent)}.menu-toggle{display:none;background:none;border:1px solid var(--line);padding:7px 13px;color:var(--ink);font-size:1rem}.eyebrow,.section-label,.tiny-label{font-size:.875rem;letter-spacing:.09em;text-transform:uppercase;font-weight:500;color:var(--accent)}.eyebrow{margin-bottom:25px}.home-hero{padding:72px 0 64px;display:grid;grid-template-columns:1.15fr 1fr;gap:60px;align-items:center}.home-hero h1{font-size:clamp(3.3rem,5.6vw,5.3rem)}.hero-copy{font-size:1.18rem;color:var(--muted);max-width:600px;margin-top:26px}.hero-copy strong{color:var(--ink);font-weight:500}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:32px}.button{display:inline-flex;align-items:center;justify-content:center;padding:12px 22px;border:1px solid var(--ink);background:var(--ink);color:var(--paper);font-weight:500;line-height:1.4;font-size:1rem;min-height:48px}.button:hover{background:var(--accent);border-color:var(--accent);color:white}.button.secondary{background:transparent;color:var(--ink);border-color:var(--line)}.button.secondary:hover{border-color:var(--accent);color:var(--accent)}.hero-photo{position:relative;margin:0}.hero-photo img{width:100%;aspect-ratio:4/4.15;object-fit:cover;object-position:72% center}.hero-photo figcaption{background:var(--ink);color:#fff;padding:18px 22px;font-size:.9rem;line-height:1.5}.hero-photo figcaption span{display:block;color:#b9c4bd;font-size:.85rem;margin-top:3px}.proof-strip{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:25px 0;gap:25px}.proof-strip strong{display:block;font-weight:500;font-size:1.08rem}.proof-strip span{color:var(--muted);font-size:.94rem}.section{padding:88px 0;border-bottom:1px solid var(--line)}.section-top{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;margin-bottom:38px}.section-top h2{max-width:770px}.section-top .section-label{margin-bottom:18px}.section-intro{font-size:1.12rem;color:var(--muted);max-width:650px;margin-top:24px}.portfolio-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.portfolio-card{padding:34px 30px 38px 0;position:relative}.portfolio-card+ .portfolio-card{padding-left:30px;border-left:1px solid var(--line)}.portfolio-card .number{font:400 2.7rem var(--serif);color:var(--accent);display:block;margin-bottom:27px}.portfolio-card p{margin:18px 0 26px;color:var(--muted)}.portfolio-card .text-link{font-weight:500;display:inline-block}.blue{--accent:#244ec3}.plum{--accent:#704260}.split{display:grid;grid-template-columns:1fr 1fr;gap:70px}.split p+ p{margin-top:20px}.split .body-copy{color:var(--muted)}.tag-list{display:flex;flex-wrap:wrap;gap:8px;margin-top:24px}.tag{border:1px solid var(--line);font-size:.875rem;padding:5px 10px;line-height:1.45}.feature-link{display:grid;grid-template-columns:140px 1fr;gap:35px;padding:25px 0;border-top:1px solid var(--line)}.feature-link .date{color:var(--accent);font-size:.875rem}.feature-link p{color:var(--muted);margin-top:10px}.page-hero{padding:64px 0 50px;display:grid;grid-template-columns:1.35fr .65fr;gap:60px;align-items:end}.page-hero h1{font-size:clamp(3.1rem,5.4vw,5rem)}.hero-aside{border-left:1px solid var(--line);padding-left:28px;font-size:1rem;color:var(--muted)}.hero-aside strong{display:block;color:var(--ink);font-weight:500;margin-bottom:9px}.section-nav{display:flex;gap:28px;flex-wrap:wrap;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:18px 0;font-size:.94rem}.project{padding:38px 0;border-top:1px solid var(--line);display:grid;grid-template-columns:.38fr 1fr;gap:60px}.project:last-child{border-bottom:1px solid var(--line)}.project-meta{color:var(--muted);font-size:.94rem}.project-meta .project-number{display:block;font:400 2.7rem var(--serif);color:var(--accent);margin-bottom:20px}.project-meta .badge{margin:16px 0}.badge{display:inline-block;font-size:.875rem;line-height:1.45;padding:5px 9px;border:1px solid var(--line);color:var(--muted)}.badge.published{border-color:#7c9185;color:#365745}.badge.revision{border-color:#b99d6b;color:#785716}.project-content>p{color:var(--muted);margin:17px 0}.facts{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin:25px 0}.facts dt{font-size:.875rem;color:var(--accent);font-weight:500;margin-bottom:6px}.facts dd{margin:0;color:var(--muted);font-size:1rem}.project-content figure{margin:26px 0}.project-content figure img{border:1px solid var(--line);width:100%;background:#fff}.project-content figcaption{font-size:.875rem;color:var(--muted);margin-top:10px}.note{border-left:3px solid var(--accent);padding:14px 20px;background:#fff;margin:22px 0;font-size:1rem;color:var(--muted)}.publication{display:grid;grid-template-columns:130px 1fr;gap:36px;padding:28px 0;border-top:1px solid var(--line)}.publication h3{font-size:1.2rem}.publication p{font-size:1rem;color:var(--muted);margin-top:10px}.pub-links{display:flex;gap:24px;flex-wrap:wrap;margin-top:15px;font-size:.94rem}.publication:last-child{border-bottom:1px solid var(--line)}.timeline{margin-top:30px}.timeline-item{display:grid;grid-template-columns:170px 1fr;gap:35px;padding:25px 0;border-top:1px solid var(--line)}.timeline-item time{color:var(--muted);font-size:.94rem}.timeline-item p{color:var(--muted);margin-top:8px}.details-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:36px}.details-grid h3{margin-bottom:14px}.details-grid p{color:var(--muted)}.status-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;margin-top:35px}.status-grid article{border-top:2px solid var(--accent);padding-top:20px}.status-grid article>span{color:var(--accent);font-size:.875rem;display:block;margin-bottom:15px}.status-grid p{color:var(--muted);margin-top:14px}.contact{background:var(--ink);color:var(--paper);padding:66px 0}.contact .shell{display:grid;grid-template-columns:1.1fr 1fr;gap:60px;align-items:center}.contact h2{font-size:clamp(2.5rem,4vw,3.7rem)}.contact p{margin:15px 0;color:#bfcbc5;max-width:550px}.contact .button{background:var(--paper);color:var(--ink);border-color:var(--paper)}.contact .button.secondary{color:var(--paper);background:transparent;border-color:#63746a}.contact .hero-actions{margin-top:0}.footer{padding:28px 0;display:flex;justify-content:space-between;gap:25px;align-items:center;color:var(--muted);font-size:.875rem}.footer-links{display:flex;gap:22px;flex-wrap:wrap}details{border-top:1px solid var(--line);padding:17px 0}summary{cursor:pointer;font-weight:500}details p{margin-top:13px;color:var(--muted)}.evidence-table{width:100%;border-collapse:collapse;margin:26px 0;font-size:1rem}.evidence-table caption{text-align:left;color:var(--muted);font-size:.94rem;padding-bottom:15px}.evidence-table th{text-align:left;font-weight:500;color:var(--accent)}.evidence-table th,.evidence-table td{padding:13px 12px 13px 0;border-bottom:1px solid var(--line)}.table-wrap{overflow-x:auto}.steps{counter-reset:steps;margin:30px 0 0;padding:0;list-style:none}.steps li{counter-increment:steps;display:grid;grid-template-columns:60px 1fr;gap:20px;padding:20px 0;border-top:1px solid var(--line)}.steps li:before{content:'0' counter(steps);font:400 1.8rem var(--serif);color:var(--accent)}.steps h3{font-size:1.15rem}.steps p{color:var(--muted);margin-top:6px}.pipeline-section{padding:40px 0 80px}.system-figure{margin:0}.small-print{font-size:.875rem;color:var(--muted);margin-top:18px}.inline-links{display:flex;gap:22px;flex-wrap:wrap;margin-top:25px;font-size:1rem}
.hero-photo img{object-position:right center}.site-header{flex-wrap:wrap;padding-block:20px}header.site-header nav{flex-wrap:wrap;top:100%}h1,h2,h3{overflow-wrap:break-word}.tag{max-width:100%;overflow-wrap:anywhere}
@media(min-width:1500px){.home-hero{padding-top:90px;padding-bottom:90px}.hero-photo img{aspect-ratio:1.12}}
@media(max-width:1000px){.shell,.section-shell{width:calc(100% - 64px)}.home-hero{gap:35px}.site-header nav{gap:19px}.page-hero{gap:35px}.facts{grid-template-columns:1fr}.project{gap:35px}.split{gap:40px}.details-grid{gap:25px}}
@media(max-width:760px){.shell,.section-shell{width:calc(100% - 40px)}.site-header{min-height:80px}.wordmark{font-size:1.65rem}.menu-toggle{display:block}.site-header nav{display:none;position:absolute;top:79px;left:0;right:0;background:var(--paper);border:1px solid var(--line);padding:18px 22px;flex-direction:column;align-items:stretch;gap:6px;box-shadow:0 15px 20px #19232110}.site-header nav.open{display:flex}.home-hero,.page-hero{grid-template-columns:1fr;padding-top:42px;gap:35px}.home-hero h1{font-size:clamp(3.3rem,10vw,4.5rem)}.hero-photo img{aspect-ratio:16/10;object-position:center}.hero-copy{font-size:1.08rem}.eyebrow{margin-bottom:20px}.proof-strip{gap:18px}.proof-strip strong{font-size:.98rem}.proof-strip span{font-size:.875rem}.section{padding:58px 0}.section-top{display:block;margin-bottom:28px}.section-top>.text-link{display:inline-block;margin-top:20px}.portfolio-grid{grid-template-columns:1fr}.portfolio-card,.portfolio-card+ .portfolio-card{padding:28px 0;border-left:0}.portfolio-card+ .portfolio-card{border-top:1px solid var(--line)}.portfolio-card .number{font-size:2.2rem;margin-bottom:15px}.portfolio-card p{margin:13px 0 20px}.split,.details-grid,.status-grid{grid-template-columns:1fr;gap:30px}.feature-link{grid-template-columns:1fr;gap:9px}.hero-aside{padding-left:20px}.page-hero h1{font-size:clamp(3rem,10vw,4.3rem)}.section-nav{gap:16px;font-size:.94rem}.project{grid-template-columns:1fr;gap:20px;padding:30px 0}.project-meta{display:flex;align-items:center;gap:17px;flex-wrap:wrap}.project-meta .project-number{margin:0;font-size:2.3rem}.project-meta .badge{margin:0}.project-meta .meta-extra{display:none}.publication{grid-template-columns:1fr;gap:15px}.publication-meta{display:flex;gap:15px;align-items:center}.timeline-item{grid-template-columns:1fr;gap:9px}.contact{padding:45px 0}.contact .shell{grid-template-columns:1fr;gap:26px}.footer{flex-direction:column;align-items:flex-start}.facts{gap:15px}.pipeline-section{padding:25px 0 50px}.table-wrap{margin-right:-5px}}
@media(max-width:440px){.proof-strip{grid-template-columns:1fr;gap:13px}.proof-strip>div{display:flex;justify-content:space-between;gap:15px}.hero-actions .button{padding-inline:17px}.home-hero h1{font-size:3.25rem}.hero-photo figcaption{padding:15px 18px}}
.signal-lab{background:var(--ink);color:var(--paper);padding:27px 30px}.lab-toolbar{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:20px}.lab-toolbar .tiny-label{color:#d9a3b8}.segmented{display:flex;gap:5px}.segmented button{background:transparent;color:#c9d2cd;border:1px solid #63766b;padding:9px 15px;font-size:.94rem}.segmented button[aria-pressed=true]{background:#f5f5f2;color:var(--ink)}.signal-chart{display:grid;grid-template-columns:140px 1fr;gap:22px}.signal-row-labels{display:flex;flex-direction:column;justify-content:space-around;font-size:.875rem;line-height:1.4}.signal-row-labels b{display:block;color:#aabdb1;font-size:.875rem;font-weight:400;margin-top:5px}.trace-area{position:relative;min-width:0}.trace-area svg{display:block;width:100%;height:240px;position:relative;z-index:1}.chart-grid path{stroke:#43594c;stroke-width:1;fill:none}#pcg-trace{fill:none;stroke:#e6a0b7;stroke-width:1.8}#ecg-trace{fill:none;stroke:#a5c5cb;stroke-width:2}.phase-shades{position:absolute;inset:0 0 25px;display:flex;gap:2px}.phase-shades span{background:#ffffff05}.phase-s1{width:16%}.phase-sys{width:32%;background:#a724392b!important}.phase-s2{width:10%}.phase-dia{width:42%}.phase-labels{display:flex;justify-content:space-between;color:#b6c6bd;font-size:.875rem;padding:4px 0}.lab-caption{display:flex;justify-content:space-between;gap:25px;border-top:1px solid #43594c;padding-top:19px;margin-top:23px;font-size:.94rem}.lab-caption span{font-size:.875rem;color:#a4b7a9}.sound-mode .timing-trace,.sound-mode .timing-label,.sound-mode .phase-shades,.sound-mode .phase-labels{visibility:hidden}
@media(max-width:760px){.signal-lab{padding:20px}.lab-toolbar{align-items:flex-start;flex-direction:column}.signal-chart{grid-template-columns:1fr}.signal-row-labels{flex-direction:row;justify-content:space-between;gap:20px}.trace-area svg{height:200px}.lab-caption{flex-direction:column;gap:10px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
.home-hero>*,.page-hero>*,.contact .shell>*{min-width:0}

/* PhonoAxis: selected venture identity; the founder remains the hub identity. */
.venture-identity{display:flex;align-items:center;gap:18px;margin-bottom:30px}
.venture-mark{width:64px;height:64px;flex:0 0 auto}
.venture-identity>div{min-width:0}
.venture-name{font:600 2.1rem/1.15 var(--sans);letter-spacing:-.04em;color:var(--ink)}
.venture-descriptor{font-size:.875rem;line-height:1.5;color:var(--muted);margin-top:5px}
.venture-card-name{display:flex;align-items:center;gap:12px}
.venture-card-name img{flex:0 0 auto}
.startup-page .engine-brand{font-size:1.0625rem;letter-spacing:-.02em}
@media(max-width:540px){.venture-identity{gap:13px;margin-bottom:25px}.venture-mark{width:52px;height:52px}.venture-name{font-size:1.8rem}.startup-page .engine-brand{font-size:.875rem}}

/* Approved panel improvements: readable evidence and progressive navigation. */
.contact a:focus-visible,.contact button:focus-visible,.system-figure button:focus-visible,.signal-lab button:focus-visible{outline-color:#f5f5f2}
.contact .contact-email{display:inline-block;color:#f5f5f2;overflow-wrap:anywhere;text-decoration:underline;text-underline-offset:5px;margin-top:16px}
.hero-photo figcaption a{color:#f5f5f2;text-decoration:underline;text-underline-offset:3px}
.hero-photo .historical-caption{margin-top:10px;font-size:.85rem;line-height:1.5;color:#d7dfdb}
.split>*,.details-grid>*,.status-grid>*,.facts>*,.proof-strip>*,.publication>*,.timeline-item>*,.portfolio-grid>*,.section-top>*,.project>*{min-width:0}
.proof-strip>div{flex-wrap:wrap}.button{max-width:100%;overflow-wrap:anywhere;text-align:center}
.section-nav a,.inline-links a,.case-index a,.research-index a{overflow-wrap:anywhere}
.case-index,.research-index{display:flex;flex-wrap:wrap;gap:10px 24px;margin:22px 0 28px;padding:18px 0;border-block:1px solid var(--line);font-size:1rem}
.case-index a,.research-index a{text-decoration:underline;text-underline-offset:4px}
.evaluation-flow{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding:0;list-style:none;counter-reset:evaluation}
.evaluation-step{padding:18px;border:1px solid var(--line);background:#fff;min-width:0;font-size:1rem;line-height:1.5;counter-increment:evaluation}
.evaluation-step:before{content:'0' counter(evaluation);display:block;color:var(--accent);font:400 1.6rem var(--serif);margin-bottom:10px}
.evaluation-step strong{display:block;margin-bottom:8px;font-weight:500}.evaluation-step p{color:var(--muted);font-size:1rem;line-height:1.5}
.evaluation-comparators{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:15px 0}
.evaluation-comparator{border-top:2px solid var(--accent);padding-top:15px;font-size:1rem;min-width:0}.evaluation-comparator p{color:var(--muted);margin-top:8px}
.research-question{border-left:3px solid var(--accent);padding:16px 20px;margin:20px 0;background:#fff}
.demo-block{border:1px solid var(--line);border-top:3px solid var(--accent);padding:26px;margin:28px 0;background:#fff}
.demo-block p{color:var(--muted);margin-top:14px}.demo-block h4{font-size:1.15rem;font-weight:500;margin:14px 0}
.demo-metrics{width:100%;border-collapse:collapse;font-size:1rem;margin:20px 0}.demo-metrics caption{text-align:left;font-size:1rem;padding-bottom:12px;color:var(--muted)}
.demo-metrics th,.demo-metrics td{padding:12px 14px 12px 0;text-align:left;border-bottom:1px solid var(--line);font-variant-numeric:tabular-nums}.demo-metrics th{color:var(--accent);font-weight:500}
.demo-figure{margin:20px 0}.demo-figure img{width:100%;height:auto}.demo-figure figcaption{font-size:.94rem}
.project-content .steps{margin:22px 0}.project-content .steps li{grid-template-columns:44px minmax(0,1fr);gap:14px}.project-content .steps p{font-size:1rem;line-height:1.5}
.method-outline{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:24px}.method-outline li{min-width:0}
.table-wrap[tabindex]:focus-visible{outline:3px solid var(--accent);outline-offset:4px}.demo-metrics{min-width:430px}.table-scroll-hint{display:none}
.roadmap-lanes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:40px;margin-top:28px}.roadmap-lanes h3{font-size:1.25rem}.roadmap-lanes .steps{margin-top:18px}.roadmap-lanes .steps li{grid-template-columns:40px minmax(0,1fr);gap:15px}
.service-proof{margin-top:28px;border-top:1px solid var(--line);padding-top:22px}.service-proof p{color:var(--muted);max-width:760px}
.signal-lab{--phase-columns:16fr 32fr 10fr 42fr}
.phase-shades,.phase-labels{display:grid;grid-template-columns:var(--phase-columns);gap:0}
.phase-shades>span{width:auto}.phase-labels{justify-content:normal;text-align:center}.phase-labels span{min-width:0;line-height:1.45}
.mobile-trace-labels{display:none}
@media(min-width:761px){.facts{grid-template-columns:repeat(3,minmax(0,1fr))}.project{grid-template-columns:minmax(0,.38fr) minmax(0,1fr)}}
@media(max-width:1000px){.evaluation-flow{grid-template-columns:repeat(2,minmax(0,1fr))}.facts{grid-template-columns:1fr}}
@media(max-width:760px){
 .site-header nav{display:flex;position:static;flex-basis:100%;box-shadow:none;padding:14px 0;border:0;border-top:1px solid var(--line)}
 .menu-toggle{display:none}.nav-ready .menu-toggle{display:block}
 .nav-ready .site-header nav{display:none;position:absolute;top:100%;padding:18px 22px;border:1px solid var(--line);box-shadow:0 15px 20px #19232110}
 .nav-ready .site-header nav.open{display:flex}
 .project-meta .meta-extra{display:block;flex-basis:100%;font-size:.94rem;line-height:1.6}
 .hero-photo img{object-position:75% center}
 .evaluation-flow,.evaluation-comparators,.roadmap-lanes,.method-outline{grid-template-columns:1fr}.evaluation-flow{gap:12px}.roadmap-lanes{gap:30px}.table-scroll-hint{display:block;font-size:.875rem}
 .signal-chart{position:relative}.signal-row-labels{display:none}.trace-area{font-size:.875rem}.trace-area svg{height:18.57143em;margin-top:2.28572em}
 .phase-shades{inset:2.28572em 0 auto;height:18.57143em}
 .phase-labels{row-gap:.35em}.phase-labels span{white-space:nowrap;justify-self:center}
 .phase-labels span:nth-child(1){grid-column:1;grid-row:1}.phase-labels span:nth-child(2){grid-column:2;grid-row:2}
 .phase-labels span:nth-child(3){grid-column:3;grid-row:1}.phase-labels span:nth-child(4){grid-column:4;grid-row:2}
 .mobile-trace-labels{display:block;position:absolute;inset:0;z-index:2;pointer-events:none;font-size:.875rem;line-height:1.4}
 .mobile-trace-labels span{position:absolute;left:0;top:0}.mobile-trace-labels .timing-label{top:9.57143em}
 .demo-block{padding:20px 16px}.demo-metrics{font-size:.94rem}.phase-labels{font-size:.8125rem}
}

/* 11 October 2026 review: accuracy, layout, accessibility and resilience refinements. */
.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
p,dd,li,figcaption,td,th{overflow-wrap:break-word}
h4{margin:0;font-weight:500;line-height:1.3;overflow-wrap:break-word}
/* Overview hero: wide 3:2 view of the presenter beside the congress poster. */
.hero-photo img{aspect-ratio:3/2;object-position:center}
.hero-photo figcaption a:focus-visible{outline-color:#f5f5f2}
.hero-photo figcaption a{text-decoration-color:currentColor}
/* Readable measure for long prose on wide screens. */
.project-content>p,.project-content details p,.publication p,.timeline-item p,.feature-link p,.service-proof p,.demo-block>p,.doctoral-bridge,.ownership-note{max-width:70ch}
.note{max-width:48rem}
/* In-text links: a visible underline against the paper background. */
p a:not(.button),dd a,figcaption a{text-decoration-color:var(--muted);text-decoration-thickness:1px}
.contact p a{text-decoration-color:currentColor}
/* Overview routing affordances. */
.feature-link h3 a{text-decoration:underline;text-underline-offset:5px;text-decoration-color:var(--muted);text-decoration-thickness:1px}
.portfolio-card{display:flex;flex-direction:column}.portfolio-card .text-link{margin-top:auto;align-self:flex-start}
/* Kicker labels keep their page accent inside white panels. */
.demo-block .eyebrow,.service-proof .eyebrow{color:var(--accent)}
/* One rule between sections and indexes, not two. */
.portfolio-grid{border-bottom:0}.project:last-child,.publication:last-child{border-bottom:0}
.case-index,.research-index{border-bottom:0;margin-bottom:0}
/* Desktop meta columns: badges on their own line. */
@media(min-width:761px){.project-meta,.publication-meta{display:flex;flex-direction:column;align-items:flex-start;gap:12px}.project-meta .badge{margin:0}.project-meta .project-number{margin-bottom:8px}}
.project-meta .meta-extra{display:block}
/* Research page additions. */
.credential-line{margin-top:18px;font-size:.94rem;font-weight:500;color:var(--ink)}
.subsection-head{font:500 .875rem/1.4 var(--sans);letter-spacing:.09em;text-transform:uppercase;color:var(--accent);margin:44px 0 4px}
.section-top+.subsection-head{margin-top:0}
.subsection-top{margin-top:48px;margin-bottom:4px;align-items:baseline}.subsection-top .subsection-head{margin:0}
.publication h4{font-size:1.2rem}
.timeline-item h4{font-size:1.4rem}
.timeline-date{color:var(--muted);font-size:.94rem}
.subsection-head+.timeline{margin-top:12px}
.evaluation-step h4{font-size:1.05rem;line-height:1.35;margin-bottom:6px}
.comparators-label{margin:24px 0 2px}
@media(min-width:1001px){.evaluation-comparators{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(min-width:761px) and (max-width:1000px){.evaluation-comparators{grid-template-columns:repeat(2,minmax(0,1fr))}}
.doctoral-bridge{color:var(--muted);margin:6px 0 0}
/* Nested steps read as steps, not as peers of their case or lane. */
.steps h4{font-size:1.15rem}.roadmap-lanes .steps h4{font-size:1.1rem}
/* Synthetic demo table: every column fits at 390 px; the condition stays visible while scrolling at 320 px. */
@media(max-width:760px){.demo-metrics{min-width:0}.demo-metrics .cond{display:block;font-weight:400}.demo-metrics tbody th,.demo-metrics thead th:first-child{position:sticky;left:0;background:#fff;z-index:1}}
/* Signal lab: visible phase boundaries; quarter grid only when no timing reference is shown. */
.phase-shades .phase-s1,.phase-shades .phase-s2{background:#ffffff14}
.phase-shades>span+span{box-shadow:inset 1px 0 0 #ffffff5c}
.signal-lab:not(.sound-mode) .grid-quarters{visibility:hidden}
.lab-noscript{color:#c9d2cd;font-size:.94rem;margin-top:12px}
@media(max-width:760px){.mobile-trace-labels .timing-label{left:auto;right:0;text-align:right;max-width:60%;background:var(--ink);padding:0 4px}}
/* The phone hint is only needed where the table still scrolls (≤360 px). */
@media(min-width:361px) and (max-width:760px){.table-scroll-hint{display:none}}
.ownership-note{margin-top:14px}
/* Footer routes and phone wayfinding. */
.footer{flex-wrap:wrap}.footer-links{max-width:100%}.footer-links a{overflow-wrap:anywhere}
@media(max-width:760px){
 html{scroll-padding-top:calc(44px + 1.6rem)}
 .section-nav{position:sticky;top:0;z-index:5;background:var(--paper);flex-wrap:nowrap;overflow-x:auto;white-space:nowrap;scrollbar-width:none;padding:6px 28px 6px 0;-webkit-mask-image:linear-gradient(to right,#000 calc(100% - 36px),transparent);mask-image:linear-gradient(to right,#000 calc(100% - 36px),transparent)}
 .section-nav::-webkit-scrollbar{display:none}
 .section-nav a{flex:0 0 auto;padding:10px 0}
 .hero-photo img{aspect-ratio:3/2;object-position:center}
}
/* Print: readable text on paper and visible link destinations. */
@media print{
 .site-header nav,.menu-toggle,.skip-link,.section-nav,.case-index,.research-index,.system-explorer,#motion-toggle,.segmented,.footer-routes,.table-scroll-hint{display:none!important}
 body{background:#fff;color:#000}
 .contact,.signal-lab,.system-figure,.hero-photo figcaption{background:#fff!important;color:#000!important;border:1px solid #999}
 .contact *,.signal-lab *,.system-figure *,.hero-photo figcaption *{color:#000!important}
 .button,.contact .button,.contact .button.secondary{background:#fff!important;color:#000!important;border:1px solid #000!important}
 main a[href^="http"]::after{content:" (" attr(href) ")";font-size:.8em;overflow-wrap:anywhere}
 .project,.publication,.timeline-item,.evaluation-step{break-inside:avoid}
 .section{padding:24px 0}
}

/* Header mark shared with the homepage (ZA + mono wordmark). */
.wordmark{display:inline-flex;align-items:center;gap:10px;font:500 .95rem/1 'JetBrains Mono',ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;letter-spacing:0}
.wordmark .wordmark-mark{display:grid;place-items:center;width:32px;height:32px;border-radius:8px;background:#0a0e14;color:#22d3ee;font:700 .8rem/1 'Jost',sans-serif;letter-spacing:.02em}
.wordmark .wordmark-text{color:var(--ink)}
.wordmark .wordmark-text span{color:var(--accent)}
.wordmark:hover .wordmark-text{color:var(--accent)}
@media(max-width:760px){.wordmark{font-size:.9rem}}