/* Portfolio layer. Original demo styles remain in index.css. */
:root { color-scheme:dark; --folio-bg:#080e17; --folio-panel:#101924; --folio-line:#293641; --folio-text:#f1f2ec; --folio-muted:#a8b8c4; --folio-cyan:#a5eee3; --folio-lilac:#c6b5eb; }
html { scroll-behavior:smooth; scroll-padding-top:110px; }
body { margin:0; background:var(--folio-bg); color:var(--folio-text); font-family:Arial,Helvetica,sans-serif; }
button,a { -webkit-tap-highlight-color:transparent; }
button { font:inherit; cursor:pointer; }
a { color:inherit; }
:focus-visible { outline:2px solid var(--folio-cyan); outline-offset:5px; }
.folio-header { position:sticky; top:0; z-index:50; background:rgba(8,14,23,.97); border-bottom:1px solid var(--folio-line); }
.folio-header-inner { max-width:1360px; margin:auto; min-height:86px; padding:18px 44px; display:flex; align-items:center; justify-content:space-between; gap:24px; }
.folio-brand { color:var(--folio-cyan); font-family:monospace; font-size:22px; font-weight:700; letter-spacing:-1px; text-decoration:none; white-space:nowrap; }
.folio-brand>span { font-size:27px; vertical-align:middle; margin-right:5px; }
.folio-brand small { color:var(--folio-muted); font-size:10px; letter-spacing:1px; margin-left:10px; font-weight:400; }
.folio-header nav { display:flex; gap:28px; }
.folio-header nav a { color:#b8c6d0; font-size:13px; text-decoration:none; padding:10px 0; border-bottom:1px solid transparent; }
.folio-header nav a:hover,.folio-header nav a[aria-current=page] { color:var(--folio-cyan); border-color:var(--folio-cyan); }
.folio-main { width:min(100% - 88px,1272px); margin:0 auto; padding:0 0 64px; }
.portfolio { --color-cyan:var(--folio-cyan); font-family:Arial,Helvetica,sans-serif; color:var(--folio-text); }
.portfolio p { line-height:1.75; color:var(--folio-muted); }
.portfolio h1,.portfolio h2,.portfolio h3,.portfolio h4,.portfolio p,.portfolio figure { margin:0; }
.portfolio h1,.portfolio h2 { font-weight:400; letter-spacing:-.045em; line-height:1.07; }
.portfolio em { color:var(--folio-cyan); font-style:normal; font-family:Georgia,'Times New Roman',serif; letter-spacing:-.04em; }
.portfolio .eyebrow { font:10px/1.7 monospace; letter-spacing:2px; color:var(--folio-cyan); }
.small-star { font-size:18px; vertical-align:middle; margin-right:8px; }
.folio-hero { display:grid; grid-template-columns:1.05fr 1fr; gap:50px; align-items:center; padding:84px 0 72px; }
.hero-copy h1 { font-size:clamp(42px,4.55vw,66px); margin:24px 0; }
.hero-description { font-size:16px; max-width:530px; }
.hero-subline { margin:17px 0 28px!important; font-size:13px; max-width:490px; }
.folio-actions { display:flex; gap:12px; flex-wrap:wrap; }
.folio-button { display:inline-flex; justify-content:space-between; align-items:center; gap:18px; padding:15px 18px; min-height:48px; border:1px solid #40545f; background:transparent; color:var(--folio-text); font-size:12px; font-weight:600; text-decoration:none; transition:background .18s,border-color .18s; }
.folio-button:hover { border-color:var(--folio-cyan); background:#182d31; }
.folio-button.primary { background:var(--folio-cyan); color:#09201e; border-color:var(--folio-cyan); }
.folio-button.primary:hover { background:#c6fff5; }
.portfolio .availability { font:11px/1.7 monospace; color:#b6c9c6; margin-top:26px; }
.availability span { width:6px; height:6px; background:var(--folio-cyan); display:inline-block; border-radius:50%; margin-right:7px; }
.hero-evidence { transform:rotate(-1.3deg); border:1px solid #3d4e60; background:#0b111b; box-shadow:15px 23px 70px #02060c; margin:0; }
.window-label { display:flex; justify-content:space-between; gap:10px; padding:14px 16px; font:9px/1.5 monospace; letter-spacing:1px; color:var(--folio-lilac); border-bottom:1px solid #354052; }
.hero-evidence img { display:block; width:100%; height:auto; }
.hero-evidence a { display:block; }
.hero-evidence figcaption { display:flex; justify-content:space-between; gap:12px; padding:13px 16px; font:10px/1.6 monospace; color:#b9c5d1; border-top:1px solid #344051; }
.evidence-note { display:flex; gap:16px; padding:20px 22px; border-top:1px solid #283342; background:#101b28; }
.note-index { font-size:27px; color:var(--folio-lilac); }
.evidence-note p { font-size:12px; line-height:1.7; }
.practice-strip { display:flex; justify-content:space-between; gap:20px; padding:23px 0; border-top:1px solid var(--folio-line); border-bottom:1px solid var(--folio-line); color:#aabac7; font:10px/1.6 monospace; letter-spacing:1.5px; }
.folio-section { padding-top:88px; }
.section-heading { display:flex; justify-content:space-between; align-items:flex-end; gap:40px; margin-bottom:36px; }
.section-heading h2,.approach h2,.experience-teaser h2 { font-size:clamp(33px,3.4vw,48px); margin-top:16px; }
.section-heading>p { max-width:350px; font-size:14px; }
.flagship { border:1px solid var(--folio-line); background:linear-gradient(120deg,#0f1b26,#0c1420); }
.project-intro { display:grid; grid-template-columns:1fr 1fr; gap:40px; padding:34px; align-items:center; }
.status-tag { display:inline-block; color:#aceee1; font:9px/1.6 monospace; letter-spacing:1px; padding:5px 9px; border:1px solid #37685f; background:#112b2a; }
.status-tag.progress { color:#dac8fa; border-color:#685484; background:#221e32; }
.status-tag.scoped { color:#bfd5ee; border-color:#455f7c; background:#182437; }
.project-intro h3 { font-size:40px; letter-spacing:-2px; margin:15px 0 8px; }
.project-intro .project-subtitle { color:#d7e2e5; font-size:16px; }
.project-intro>p { font-size:14px; }
.gallery-grid { display:grid; grid-template-columns:1.25fr 1fr; gap:18px; padding:0 24px; }
.gallery-grid figure { background:#080e17; border:1px solid #2e3c4b; }
.gallery-grid a { display:flex; align-items:center; background:#060b11; aspect-ratio:1.85; overflow:hidden; }
.gallery-grid img { width:100%; height:100%; object-fit:contain; transition:transform .3s; }
.gallery-grid a:hover img { transform:scale(1.025); }
.gallery-grid figcaption { padding:17px; font-size:12px; display:grid; gap:8px; }
.gallery-grid figcaption strong { color:#dae3e9; font-weight:500; }
.gallery-grid figcaption span { font:10px/1.6 monospace; color:#9baebe; }
.feature-grid { display:grid; grid-template-columns:repeat(3,1fr); padding:32px; gap:28px; }
.feature-grid>div+div { border-left:1px solid var(--folio-line); padding-left:28px; }
.feature-grid span { color:var(--folio-lilac); font:9px/1.5 monospace; letter-spacing:1.5px; }
.feature-grid h4 { font-size:16px; font-weight:500; line-height:1.4; margin:12px 0; }
.feature-grid p { font-size:12px; }
.project-bottom { display:flex; justify-content:space-between; align-items:center; gap:24px; padding:22px 32px; border-top:1px solid var(--folio-line); }
.project-bottom p { font-size:11px; }
.text-link { color:var(--folio-cyan); font-size:12px; background:none; border:0; border-bottom:1px solid #426761; padding:7px 0; text-align:left; }
.corvi-preview { display:grid; grid-template-columns:1fr 1fr; gap:64px; padding:42px; margin-top:28px; border:1px solid #47415a; background:radial-gradient(ellipse at top right,#25213980,transparent 70%),#101320; }
.corvi-preview h3 { font-size:34px; font-weight:400; letter-spacing:-1px; margin:20px 0 16px; }
.corvi-preview p { font-size:14px; }
.corvi-preview .folio-button { margin-top:26px; }
.pipeline { border-left:1px solid #423f52; padding-left:40px; }
.pipeline .eyebrow { font-size:8px; color:var(--folio-lilac); }
.pipeline-row { display:grid; text-align:center; gap:6px; margin:18px 0; }
.pipeline-row>span { border:1px solid #42495c; padding:10px; color:#cad6e4; font:11px/1.5 monospace; background:#0c1420; }
.pipeline-row .pipeline-core { border-color:#716284; color:#dec9f7; background:#211b2e; }
.pipeline-row b { color:#9081a7; font-weight:400; font-size:13px; }
.pipeline>p:last-child { font:9px/1.6 monospace; color:#a5b0c4; }
.approach { display:grid; grid-template-columns:1fr 1fr; gap:85px; padding-bottom:80px; }
.approach>div>p:not(.eyebrow) { font-size:14px; margin:24px 0 20px; }
.workflow { padding:0; list-style:none; margin:0; }
.workflow li { display:flex; gap:23px; padding:20px 0; border-bottom:1px solid var(--folio-line); }
.workflow li:first-child { padding-top:0; }
.workflow li>span { font:11px monospace; color:var(--folio-lilac); padding-top:4px; }
.workflow h3 { font-size:17px; font-weight:500; }
.workflow p { font-size:12px; margin-top:9px; }
.experience-teaser { border-top:1px solid var(--folio-line); padding:54px 0; }
.experience-teaser>div { display:grid; grid-template-columns:1.2fr 1fr; gap:65px; margin:4px 0 28px; align-items:center; }
.experience-teaser p:not(.eyebrow) { font-size:14px; }
.lab-strip { border:1px solid var(--folio-line); display:flex; justify-content:space-between; gap:35px; align-items:center; padding:30px; background:#101924; }
.lab-strip h3 { font-size:24px; font-weight:400; margin:9px 0; }
.lab-strip p:not(.eyebrow) { font-size:12px; max-width:690px; }
.lab-strip .folio-button { flex-shrink:0; }
.folio-footer { width:min(100% - 88px,1272px); margin:auto; border-top:1px solid var(--folio-line); padding:36px 0 44px; display:flex; justify-content:space-between; align-items:flex-start; gap:28px; font-family:Arial,Helvetica,sans-serif; }
.folio-footer strong { display:block; color:var(--folio-cyan); font:18px monospace; letter-spacing:1px; margin-bottom:12px; }
.folio-footer span,.folio-footer p,.folio-footer small { font-size:11px; color:#a8bac7; line-height:1.8; }
.folio-footer p { margin:5px 0 0; }
.footer-links { display:grid; gap:12px; font-size:11px; color:#b7c9d4; }
.footer-links button { text-align:left; }
.reading-view { max-width:1000px; margin:auto; padding-top:64px; }
.reading-view>h1 { font-size:clamp(38px,5.5vw,70px); margin:22px 0 27px; }
.reading-lead { font-size:18px; max-width:810px; }
.case-meta { display:flex; flex-wrap:wrap; gap:12px 30px; padding:24px 0; margin-top:27px; border-block:1px solid var(--folio-line); font:10px/1.6 monospace; color:var(--folio-lilac); }
.case-section { margin-top:48px; }
.case-section>h2 { font-size:30px; margin-bottom:20px; }
.case-section>p { font-size:15px; margin-bottom:18px; }
.boundary-grid { display:grid; grid-template-columns:1fr 1fr; gap:1px; border:1px solid var(--folio-line); background:var(--folio-line); }
.boundary-grid>div { background:#101924; padding:25px; }
.boundary-grid h3 { font-size:17px; font-weight:500; margin-bottom:10px; color:var(--folio-cyan); }
.boundary-grid p { font-size:13px; }
.proof-row { display:grid; grid-template-columns:210px 1fr; gap:28px; padding:28px 0; border-bottom:1px solid var(--folio-line); align-items:start; }
.proof-row>.status-tag { justify-self:start; }
.proof-row h3 { font-size:21px; font-weight:400; margin-bottom:12px; }
.proof-row p { font-size:14px; }
.portfolio .proof-limit { font-size:12px; color:#bdafcf; margin-top:12px; }
.clean-list { list-style:none; padding:0; margin:0 0 24px; }
.clean-list li { border-bottom:1px solid var(--folio-line); padding:14px 0 14px 22px; color:#c1cdd8; font-size:14px; position:relative; line-height:1.6; }
.clean-list li:before { content:'↳'; color:var(--folio-lilac); position:absolute; left:0; }
.source-note { padding:25px; margin-top:42px; background:#141b29; border-left:2px solid var(--folio-lilac); }
.source-note strong { font-weight:500; font-size:14px; color:var(--folio-lilac); }
.source-note p { font-size:12px; margin:12px 0; }
.source-note a { color:var(--folio-cyan); font-size:12px; }
.evidence-key { display:flex; flex-wrap:wrap; gap:14px 24px; padding:22px 0; margin-top:20px; border-bottom:1px solid var(--folio-line); color:var(--folio-muted); font-size:11px; line-height:1.7; }
.evidence-key b { color:#d2dedf; font-weight:500; }
.evidence-entry { padding:30px 0; border-bottom:1px solid var(--folio-line); }
.evidence-entry-top { display:flex; justify-content:space-between; gap:20px; align-items:center; }
.evidence-entry time { color:#a5b6c5; font:10px monospace; }
.evidence-entry h2 { font-size:29px; margin:20px 0 14px; }
.evidence-entry p { font-size:14px; }
.evidence-entry .source-label { font:10px/1.8 monospace; margin-top:20px; color:#93a8ba; }
.resume-grid { display:grid; grid-template-columns:1fr 1fr; gap:20px; margin:36px 0 50px; }
.resume-card { display:block; border:1px solid #3f535d; padding:26px; text-decoration:none; background:#101e27; }
.resume-card:hover { border-color:var(--folio-cyan); }
.resume-card>span { font:10px monospace; color:var(--folio-cyan); letter-spacing:1px; }
.resume-card h2 { font-size:26px; line-height:1.2; margin:20px 0 15px; }
.resume-card p { font-size:13px; }
.resume-card strong { display:block; margin-top:26px; font-size:12px; color:var(--folio-cyan); font-weight:500; }
.timeline-entry { display:grid; grid-template-columns:200px 1fr; gap:35px; padding:30px 0; border-bottom:1px solid var(--folio-line); }
.timeline-entry>span { color:var(--folio-lilac); font:10px/1.7 monospace; padding-top:7px; }
.timeline-entry h2 { font-size:26px; margin-bottom:10px; }
.timeline-entry h3 { font-size:13px; color:#c7d6e0; margin-bottom:13px; font-weight:400; line-height:1.6; }
.timeline-entry p { font-size:14px; margin-top:12px; }
.education { margin-top:40px; }
.education h2 { font-size:22px; line-height:1.3; margin:15px 0; }
.lab-cards { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; margin-top:45px; }
.lab-cards>button { text-align:left; padding:26px; border:1px solid #425464; background:#111d29; }
.lab-cards>button:hover { border-color:var(--folio-cyan); }
.lab-cards span { color:var(--folio-lilac); font:9px monospace; letter-spacing:1px; }
.lab-cards h2 { font-size:27px; margin:22px 0 17px; }
.lab-cards p { font-size:13px; }
.lab-cards strong { display:block; font-size:12px; font-weight:500; color:var(--folio-cyan); margin-top:24px; }
.demo-disclaimer { display:flex; flex-wrap:wrap; gap:12px 24px; padding:20px; margin-top:30px; background:#161d30; border:1px solid #655778; font:11px/1.7 monospace; color:#c2cedd; }
.demo-disclaimer strong { color:var(--folio-lilac); }.demo-disclaimer button { color:var(--folio-cyan); margin-left:auto; }
.contact-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; margin-top:42px; }
.contact-grid>* { padding:25px; background:#11202b; border:1px solid #36515c; text-decoration:none; }
.contact-grid a:hover { border-color:var(--folio-cyan); }.contact-grid span { display:block; font:9px/1.7 monospace; color:var(--folio-muted); letter-spacing:1px; }
.contact-grid strong { overflow-wrap:anywhere; display:block; font-size:24px; font-weight:400; margin-top:18px; color:var(--folio-cyan); }.contact-grid p { font-size:11px; margin-top:12px; }
.contact-note { margin-top:35px!important; font-size:14px; }.contact-view { min-height:70vh; }
/* The legacy decoration stays subtle behind the editorial surfaces. */
.scanline { display:none; }.retro-grid { opacity:.3; }
@media(min-width:1500px) { .folio-hero { padding-block:104px 90px; } }
@media(max-width:1100px) { .folio-header-inner { padding-inline:28px; }.folio-header nav { gap:20px; }.folio-brand small { display:none; }.folio-main,.folio-footer { width:calc(100% - 56px); }.folio-hero { gap:30px; }.hero-copy h1 { font-size:45px; }.hero-description { font-size:14px; }.folio-actions { display:grid; justify-items:start; }.practice-strip { font-size:8px; }.approach { gap:42px; }.corvi-preview { gap:32px; padding:30px; }.pipeline { padding-left:28px; }.contact-grid { gap:12px; }.contact-grid strong { font-size:21px; } }
@media(max-width:760px) { html { scroll-padding-top:135px; }.folio-header-inner { display:block; padding:16px 20px 10px; }.folio-brand { font-size:19px; }.folio-brand small { display:inline; }.folio-header nav { justify-content:space-between; gap:8px; margin-top:10px; }.folio-header nav a { font-size:11px; min-height:40px; display:flex; align-items:center; padding:4px 0; }.folio-main,.folio-footer { width:calc(100% - 40px); }.folio-hero { grid-template-columns:1fr; padding:44px 0 40px; gap:36px; }.hero-copy h1 { font-size:clamp(38px,7.4vw,57px); }.hero-description { font-size:15px; }.hero-subline { font-size:13px; }.folio-actions { display:flex; }.folio-button { font-size:11px; padding:13px 15px; }.hero-evidence { transform:none; }.practice-strip { display:grid; grid-template-columns:1fr 1fr; gap:14px; font-size:8px; }.folio-section { padding-top:52px; }.section-heading { display:block; }.section-heading>p { margin-top:20px; max-width:100%; }.project-intro { grid-template-columns:1fr; gap:20px; padding:24px; }.project-intro h3 { font-size:35px; }.gallery-grid { grid-template-columns:1fr; padding:0 16px; }.gallery-grid a { aspect-ratio:auto; }.gallery-grid img { height:auto; }.feature-grid { grid-template-columns:1fr; gap:23px; padding:25px; }.feature-grid>div+div { border-left:0; border-top:1px solid var(--folio-line); padding:23px 0 0; }.feature-grid p { font-size:13px; }.project-bottom { display:block; padding:23px; }.project-bottom .text-link { margin-top:13px; }.corvi-preview { grid-template-columns:1fr; padding:25px; gap:30px; }.corvi-preview h3 { font-size:30px; }.pipeline { border-left:0; border-top:1px solid #423f52; padding:25px 0 0; }.approach { grid-template-columns:1fr; gap:32px; padding-bottom:45px; }.experience-teaser { padding:38px 0; }.experience-teaser>div { grid-template-columns:1fr; gap:24px; }.lab-strip { display:block; padding:25px; }.lab-strip .folio-button { margin-top:23px; }.folio-footer { flex-wrap:wrap; padding-block:30px; }.folio-footer small { width:100%; }.reading-view { padding-top:40px; }.reading-lead { font-size:16px; }.reading-view>h1 { font-size:clamp(35px,8vw,55px); }.boundary-grid,.resume-grid,.lab-cards,.contact-grid { grid-template-columns:1fr; }.proof-row { grid-template-columns:1fr; gap:16px; }.timeline-entry { grid-template-columns:1fr; gap:13px; }.evidence-entry-top { align-items:start; }.evidence-entry time { line-height:1.7; text-align:right; }.resume-grid { gap:15px; }.source-note { padding:22px; }.portfolio p { overflow-wrap:anywhere; } }
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } *,*::before,*::after { animation:none!important; transition:none!important; }.hero-evidence { transform:none; } }
@media print { :root { color-scheme:light; }.folio-header,.folio-footer,.sound-bar,.sound-consent,.retro-grid,.scanline { display:none!important; }.folio-main { width:100%; padding:0; }.portfolio,.portfolio p,.portfolio h1,.portfolio h2,.portfolio h3,.portfolio em { color:#111!important; }.reading-view { padding:0; }.resume-grid { display:none; }.timeline-entry,.evidence-entry { break-inside:avoid; }.source-note,.boundary-grid>div { background:white; color:#111; } }

.skip-link { position:fixed; z-index:300; top:8px; left:8px; transform:translateY(-160%); padding:12px 18px; background:#a5eee3; color:#081f1b; font:14px Arial,sans-serif; }
.skip-link:focus { transform:none; }
.folio-main>.space-y-10 h2,.folio-main>.space-y-10 h3 { overflow-wrap:anywhere; }
.folio-main .grid>* { min-width:0; }

.flagship > .folio-actions { padding:0 32px 24px; }

/* Guided engineering entry: same palette, explicit reading order. */
.start-guide { scroll-margin-top:0; }
.brief-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px; }
.brief-grid article { padding:26px 0; border-top:1px solid var(--folio-line); }
.guide-index { color:var(--folio-cyan); font:10px/1.6 monospace; letter-spacing:1px; }
.start-guide h3 { font-size:22px; font-weight:400; line-height:1.3; margin:14px 0; }
.start-guide p { font-size:14px; }
.start-guide .guide-footnote { font-size:12px; margin-top:16px; }
.start-guide .text-link { display:inline-block; margin-top:20px; line-height:1.6; }
.stack-map { display:grid; grid-template-columns:1fr 2fr; gap:36px; border-block:1px solid var(--folio-line); padding:28px 0; margin:12px 0 48px; }
.stack-map dl,.project-glossary dl { margin:0; }
.stack-map dl>div { margin-bottom:18px; }.stack-map dl>div:last-child { margin-bottom:0; }
.stack-map dt,.project-glossary dt { color:var(--folio-lilac); font-size:13px; margin-bottom:6px; }
.stack-map dd,.project-glossary dd { margin:0; color:var(--folio-muted); font-size:13px; line-height:1.7; }
.guide-heading { margin-bottom:24px; }
.path-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
.path-grid article { background:#101b27; border:1px solid var(--folio-line); padding:28px; }
.path-secondary { display:block; color:var(--folio-muted); margin-top:14px; font-size:12px; line-height:1.7; text-underline-offset:4px; }
.project-glossary { margin:28px 0; border-block:1px solid var(--folio-line); padding:20px 0; }
.project-glossary summary { cursor:pointer; color:var(--folio-cyan); font-size:14px; }
.project-glossary dl { display:grid; grid-template-columns:1fr 1fr; gap:24px; padding-top:24px; }
.alpha-invitation { display:flex; align-items:center; gap:40px; border-left:2px solid var(--folio-lilac); background:#151925; padding:28px; }
.alpha-invitation>div { flex:1; }.alpha-invitation>a { flex-shrink:0; }
@media(max-width:900px) { .brief-grid { grid-template-columns:1fr; gap:0; }.stack-map { grid-template-columns:1fr; gap:16px; } }
@media(max-width:600px) { .path-grid,.project-glossary dl { grid-template-columns:1fr; }.path-grid article { padding:22px; }.alpha-invitation { display:block; padding:22px; }.alpha-invitation>a { margin-top:22px; } }

.resume-grid { grid-template-columns:minmax(0,1fr); max-width:760px; }

/* Restrained motion and opt-in sound: no delayed banners or ambient loops. */
.scanline { display:none; }
.portfolio-audio { width:min(100% - 88px,1272px); margin:14px auto 0; display:flex; align-items:center; justify-content:flex-end; gap:12px; min-height:36px; font:11px/1.5 Arial,sans-serif; color:#aabac7; }
.portfolio-audio button { border:1px solid #40545f; border-radius:4px; padding:8px 12px; min-height:36px; color:#bceee5; background:#101b27; cursor:pointer; }
.portfolio-audio button[aria-pressed=true] { border-color:#91d9cb; }
.audio-level { display:flex; align-items:center; gap:8px; }.audio-level input { width:72px; accent-color:#9bded3; }
.portfolio-audio button:disabled { opacity:.5; cursor:default; }
.surface-enter { animation:folio-arrive 180ms ease-out both; }
@keyframes folio-arrive { from { opacity:.94; transform:translateY(4px); } to { opacity:1; transform:none; } }
.folio-button,.resume-card,.path-grid article,.lab-cards button { transition:background-color 140ms ease,border-color 140ms ease,transform 140ms ease; }
.folio-button:active,.resume-card:active,.lab-cards button:active { transform:translateY(1px); }
.path-grid article:hover { border-color:#546d78; }
@media(max-width:760px) { .portfolio-audio { width:calc(100% - 40px); justify-content:flex-start; gap:10px; flex-wrap:wrap; }.portfolio-audio>span { font-size:10px; } }
@media(prefers-reduced-motion:reduce) { .surface-enter { animation:none; }.folio-button:active,.resume-card:active,.lab-cards button:active { transform:none; } }
