.home-view{max-width:92rem; margin-inline:auto;} .home-opening{display:grid; grid-template-columns:minmax(26rem,1.1fr) minmax(0,1fr); gap:clamp(2rem, 4vw, 4rem); align-items:start; min-height:0; padding-block:clamp(1.5rem, 3vw, 3rem) clamp(2rem, 4.5vw, 4.5rem); border-bottom:1px solid var(--rule);} .home-opening__artifact-row{grid-column:2; min-width:0; align-self:center;} .home-identity{align-self:start; max-width:44rem; padding-top:0;} .home-identity h1{max-width:30ch; margin-block:var(--space-3) var(--space-4); letter-spacing:-0.045em; word-spacing:-0.02em; line-height:1.04;} .home-intro,.home-reading{max-width:45ch;} .home-intro{color:var(--ink-muted); font-size:var(--step-1); line-height:1.65;} .home-reading{margin-bottom:var(--space-4); padding-left:var(--space-3); border-left:3px solid var(--arch-500); font-family:var(--font-meta); font-size:var(--step--1);} .home-primary-links{display:flex; flex-wrap:wrap; gap:var(--space-3); font-family:var(--font-meta); font-size:var(--step--1);} .home-primary-links a{min-height:2.75rem; padding:0.8rem 0; text-decoration:none; position:relative; transition:color 0.2s ease;} .home-primary-links a::after{content:''; position:absolute; bottom:0.5rem; left:0; width:0; height:1.5px; background:currentColor; transition:width 0.25s cubic-bezier(0.16,1,0.3,1);} .home-primary-links a:hover::after{width:100%;} .home-primary-links a:last-child{color:var(--ink-muted);} .artifact{position:relative; display:grid; gap:var(--space-4); min-width:0; padding:clamp(1.2rem, 2.5vw, 2.5rem); border:1px solid var(--glass-border,color-mix(in srgb,var(--ink) 8%,transparent)); background:var(--glass-surface,var(--surface-raised)); box-shadow:var(--glass-highlight,inset 0 1px 0 color-mix(in srgb,var(--surface) 50%,transparent)),0 2px 8px color-mix(in srgb,var(--ink) 6%,transparent),0 1px 2px color-mix(in srgb,var(--ink) 4%,transparent); transition:transform 0.4s var(--ease-spring),box-shadow var(--motion-normal) var(--ease-out),border-color var(--motion-normal) var(--ease-out); transform:perspective(800px) rotateX(0deg) rotateY(0deg); transform-origin:center center;} .artifact:hover{transform:perspective(800px) rotateX(-0.5deg) rotateY(0.3deg) translateY(-4px); box-shadow:inset 0 1px 0 color-mix(in srgb,var(--surface) 60%,transparent),0 12px 40px color-mix(in srgb,var(--ink) 14%,transparent),0 4px 12px color-mix(in srgb,var(--ink) 8%,transparent),0 1px 3px color-mix(in srgb,var(--ink) 6%,transparent); border-color:var(--precision-rule-strong);} .artifact::after{position:absolute; inset:0; pointer-events:none; border-radius:inherit; opacity:0; box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--family-accent,var(--arch-500)) 25%,transparent); transition:opacity var(--motion-normal) var(--ease-out);} .artifact:hover::after{opacity:1;} .artifact:active{transform:perspective(800px) rotateX(0deg) rotateY(0deg) translateY(-1px); box-shadow:var(--glass-highlight,inset 0 1px 0 color-mix(in srgb,var(--surface) 50%,transparent)),0 4px 12px color-mix(in srgb,var(--ink) 10%,transparent),0 2px 4px color-mix(in srgb,var(--ink) 6%,transparent); transition-duration:0.08s;} .artifact::before{position:absolute; top:0; left:0; width:3px; height:100%; background:linear-gradient(180deg,var(--family-accent,var(--arch-500)) 0%,color-mix(in srgb,var(--family-accent,var(--arch-500)) 40%,transparent) 100%); content:''; border-radius:0 1px 1px 0; opacity:0.9; transition:opacity var(--motion-normal) var(--ease-out);} .artifact:hover::before{opacity:1;} .artifact[data-family]::before{background:var(--family-accent,var(--arch-500));} .artifact-badge{position:absolute; top:var(--space-2); left:var(--space-2); z-index:1; display:inline-flex; align-items:center; font:600 0.6rem/1 var(--font-meta); letter-spacing:0.08em; text-transform:uppercase; padding:0.35rem 0.7rem; border-radius:100px; background:color-mix(in srgb,var(--paper-100) 72%,transparent); color:var(--ink-muted); backdrop-filter:blur(12px) saturate(1.2); border:1px solid color-mix(in srgb,var(--ink) 6%,transparent); box-shadow:0 1px 3px rgba(0,0,0,0.06); transition:background var(--motion-normal) var(--ease-out),color var(--motion-normal) var(--ease-out),box-shadow var(--motion-normal) var(--ease-out);} .artifact[data-family] .artifact-badge{background:color-mix(in oklch,var(--family-accent,var(--arch-500)) 12%,var(--paper-100)); color:color-mix(in oklch,var(--family-accent,var(--arch-500)) 85%,var(--ink));} .artifact[data-family]:hover .artifact-badge{box-shadow:0 1px 4px color-mix(in srgb,var(--family-accent,var(--arch-500)) 20%,transparent);} .artifact-header{max-width:44rem;} .artifact-header .atelier-label{margin-bottom:var(--space-2);} .artifact-header h2{margin-bottom:var(--space-2);} .artifact-header h2 a{text-decoration:none;} .artifact-header h2 a:hover{text-decoration:underline; text-decoration-color:var(--arch-500);} .artifact-summary{max-width:62ch; margin-bottom:0; color:var(--ink-muted);} .artifact-media{margin:0; border:1px solid color-mix(in srgb,var(--ink) 16%,transparent); background:var(--graphite-900); overflow:hidden;} .artifact--physical .artifact-media{position:relative; border:none; background:linear-gradient(135deg,var(--graphite-950) 0%,var(--graphite-800) 100%);} .artifact--physical .artifact-media::after{content:''; position:absolute; inset:0; border:1px solid color-mix(in srgb,var(--ink) 12%,transparent); border-radius:inherit; pointer-events:none;} .artifact--physical .artifact-media img{filter:contrast(1.02) saturate(1.05);} .artifact-media img{width:100%; aspect-ratio:16 / 9; object-fit:cover;} .artifact-media figcaption{padding:var(--space-2) var(--space-3); color:var(--concrete-300); font-family:var(--font-meta); font-size:var(--step--1); letter-spacing:0.06em; text-transform:uppercase;} .home-witf-board{display:grid; gap:var(--space-2); width:100%; margin:0;} .home-witf-board .witf-viewer-container{width:100%; border:0; box-shadow:none;} .home-witf-board figcaption{text-align:center; color:var(--ink-muted); font-family:var(--font-meta); font-size:var(--step--1); letter-spacing:0.06em; text-transform:uppercase;} .artifact-context{display:grid; grid-template-columns:minmax(0,1fr) minmax(9rem,0.44fr); gap:var(--space-4); align-items:start; padding:var(--space-3) var(--space-3) 0; border-top:1px solid color-mix(in srgb,var(--ink) 8%,transparent); background:color-mix(in srgb,var(--paper-100) 40%,transparent);} .artifact-annotation{display:grid; grid-template-columns:1.8rem minmax(0,1fr); gap:var(--space-2);} .artifact-annotation>span{display:grid; width:1.6rem; height:1.6rem; place-items:center; background:color-mix(in oklch,var(--family-accent,var(--graphite-950)) 90%,var(--ink)); color:var(--paper-100); font-family:var(--font-meta); font-size:0.6rem; font-weight:600; border-radius:2px;} .artifact-annotation p,.metric-annotation,.evidence-label{margin:0;} .metric-annotation{display:grid; gap:0.15rem; padding:var(--space-2) var(--space-3); border-left:2px solid color-mix(in srgb,var(--family-accent,var(--arch-500)) 40%,transparent); background:color-mix(in srgb,var(--family-accent,var(--arch-500)) 5%,transparent);} .metric-annotation strong{font-family:var(--font-display); font-size:var(--step-1); line-height:1; color:var(--family-accent-ink,var(--family-accent,var(--arch-500)));} .metric-annotation span,.metric-annotation small,.evidence-label small{color:var(--ink-muted); font-size:var(--step--1);} .metric-annotation small{margin-top:0;} .evidence-label{display:grid; gap:0.2rem; grid-column:1 / -1; padding:var(--space-2) var(--space-3); border-top:1px solid color-mix(in srgb,var(--ink) 8%,transparent); background:color-mix(in srgb,var(--graphite-950) 4%,transparent); font-family:var(--font-meta); font-size:0.65rem; line-height:1.4; color:var(--ink-muted);} .evidence-label span{color:var(--family-accent-ink,var(--family-accent,var(--olive-500))); letter-spacing:0.08em; text-transform:uppercase; font-weight:600;} .home-featured{padding-block:clamp(3rem, 5vw, 5rem);} .home-featured-heading{display:grid; grid-template-columns:minmax(0,0.7fr) minmax(16rem,0.3fr); gap:var(--space-4); align-items:end; margin-bottom:clamp(1.5rem, 3vw, 3rem);} .home-featured-heading h2{grid-column:1; margin-block:var(--space-2) 0;} .home-featured-heading>p:last-child{margin:0; color:var(--ink-muted);} .home-artifact-sequence{display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,1fr); gap:clamp(1rem, 2.6vw, 3rem); align-items:start;} .home-artifact-sequence .artifact--systems{grid-column:auto; margin-top:0;} .home-artifact-sequence .artifact--experiment{grid-column:auto; margin-top:0; background:color-mix(in oklch,var(--paper-100) 90%,var(--olive-300));} .home-artifact-sequence .artifact--physical{min-height:0; grid-column:auto; margin-top:0;} .home-artifact-sequence .artifact--gmk-arch{grid-column:auto; background:color-mix(in oklch,var(--paper-100) 88%,var(--arch-300));} .artifact--gmk-arch .artifact-media{display:grid; min-height:clamp(8rem, 13vw, 12rem); place-items:center; padding:clamp(1rem, 2vw, 2rem); background:linear-gradient(90deg,transparent 0 49.9%,color-mix(in srgb,var(--ink) 10%,transparent) 50%,transparent 50.1%),var(--graphite-950);} .artifact--gmk-arch .artifact-media img{width:min(100%, 22.125rem); height:auto; aspect-ratio:354 / 90; object-fit:contain;} .systems-diagram,.experiment-sheet{border:1px solid var(--rule); background:linear-gradient(90deg,transparent 0 49.88%,color-mix(in srgb,var(--ink) 7%,transparent) 50%,transparent 50.12%),var(--paper-200);} .systems-diagram{display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); align-items:center; min-height:12rem; padding:var(--space-3);} .systems-node{display:grid; min-height:7rem; align-content:space-between; gap:var(--space-2); padding:var(--space-3); border:1px solid color-mix(in srgb,var(--ink) 22%,transparent); background:var(--surface-raised);} .systems-node span,.experiment-row>span{color:var(--ink-muted); font-family:var(--font-meta); font-size:var(--step--1);} .systems-route{color:var(--olive-500); font-family:var(--font-meta); text-align:center;} .artifact-text-summary{margin:0; color:var(--ink-muted); font-size:var(--step--1);} .experiment-sheet{display:grid;} .experiment-row{display:grid; grid-template-columns:2.5rem minmax(8rem,0.8fr) minmax(0,1.5fr); gap:var(--space-2); align-items:baseline; padding:var(--space-3); border-bottom:1px solid var(--rule);} .experiment-row:last-child{border-bottom:0;} .experiment-row p{margin:0; color:var(--ink-muted);} .home-view--product .artifact::before,.home-view--product .home-reading{background-color:var(--olive-500); border-color:var(--olive-500);} .home-view--product .home-artifact-sequence .artifact--experiment{background:color-mix(in oklch,var(--paper-100) 89%,var(--arch-300));} .ascii-spine{font-family:var(--font-mono,ui-monospace,"SF Mono","Cascadia Code",monospace); font-size:0.625rem; line-height:1.25; color:var(--ink-2,#a1a1aa); background:var(--surface-2,rgba(255,255,255,0.02)); border:1px solid var(--line-1,rgba(255,255,255,0.08)); border-radius:4px; padding:12px 16px; margin:0 0 16px 0; overflow-x:auto; white-space:pre; opacity:0.85; max-width:100%; display:block;} .ascii-spine:hover{opacity:1; border-color:var(--line-2,rgba(255,255,255,0.16));} @media (prefers-reduced-motion:reduce){.ascii-spine{transition:none;}} @media (max-width:640px){.ascii-spine{font-size:0.5rem; padding:8px 10px;}} .witf-viewer-container{width:100%; aspect-ratio:16 / 9; border-radius:6px; overflow:hidden; background:var(--surface,#0F1012); cursor:grab; position:relative;} .witf-viewer-container:active{cursor:grabbing;} .witf-viewer-container canvas{display:block; width:100% !important; height:100% !important;} .witf-viewer-loading{position:absolute; inset:0; display:flex; align-items:center; justify-content:center; color:color-mix(in srgb,var(--paper-100,#f3f0e8) 72%,transparent); font-family:var(--font-meta,system-ui,sans-serif); font-size:var(--step--1,0.75rem); letter-spacing:0.04em;} .witf-viewer-loading::before{content:''; width:1.1em; height:1.1em; margin-right:0.6em; border:2px solid color-mix(in srgb,var(--paper-100,#f3f0e8) 30%,transparent); border-top-color:color-mix(in srgb,var(--paper-100,#f3f0e8) 72%,transparent); border-radius:50%; animation:witf-spin 0.8s linear infinite;} @keyframes witf-spin{to{transform:rotate(360deg);}} .witf-viewer-hint{position:absolute; bottom:0.75rem; left:50%; transform:translateX(-50%); padding:0.35rem 0.8rem; border-radius:100px; background:color-mix(in srgb,var(--paper-100,#e8e8e8) 80%,transparent); color:var(--ink-muted,#888); font-family:var(--font-meta,system-ui,sans-serif); font-size:var(--step--2,0.65rem); letter-spacing:0.05em; text-transform:uppercase; backdrop-filter:blur(8px) saturate(1.2); -webkit-backdrop-filter:blur(8px) saturate(1.2); border:1px solid color-mix(in srgb,var(--ink,#fff) 8%,transparent); pointer-events:none; opacity:1; transition:opacity 0.5s ease; z-index:2;} .witf-viewer-hint--hidden{opacity:0;} .artifact--witf .witf-viewer-container{border-radius:0;} .case-hero--witf{border:none; background:var(--surface,#0F1012); overflow:hidden;} .case-hero--witf .witf-viewer-container{border-radius:0;} .home-witf-board,.home-artifact-sequence,.artifact,.home-view{overflow:hidden;} @media (max-width:760px){#view-root{padding-top:var(--space-5);} .project-index-group{grid-column:1 / -1;} .project-index-group a{grid-template-columns:2rem 1fr;} .project-index-group a>span:nth-of-type(2),.project-index-group small{grid-column:2;} .home-opening{grid-template-columns:1fr; gap:var(--space-4); min-height:auto; padding-block:var(--space-3) var(--space-4);} .home-opening__artifact-row{grid-column:auto;} .home-identity{max-width:none;} .home-identity h1{max-width:none; font-size:clamp(1.8rem, 7.5vw, 2.8rem); margin-block:var(--space-2) var(--space-3);} .home-intro{font-size:var(--step-0); margin-bottom:var(--space-3);} .home-reading{margin-bottom:var(--space-2);} .home-featured{padding-block:var(--space-5);} .home-witf-board .witf-viewer-container{max-height:none; aspect-ratio:16 / 9;} .artifact{gap:var(--space-3); padding:var(--space-3);} .artifact-context,.home-featured-heading{grid-template-columns:1fr;} .home-featured-heading h2,.home-featured-heading>p:last-child{grid-column:auto;} .home-artifact-sequence{grid-template-columns:1fr;} .home-artifact-sequence .artifact--systems,.home-artifact-sequence .artifact--experiment,.home-artifact-sequence .artifact--physical{grid-column:auto; margin-top:0;} .systems-diagram{grid-template-columns:1fr; gap:var(--space-2); padding:var(--space-2);} .systems-node{min-height:auto; grid-template-columns:2rem 1fr; align-items:baseline;} .systems-route{display:none;} .experiment-row{grid-template-columns:2rem 1fr;} .experiment-row p{grid-column:2;}} @media (min-width:761px) and (max-width:1080px){.home-opening{grid-template-columns:minmax(0,0.9fr) minmax(0,1.1fr); gap:var(--space-5);} .home-artifact-sequence .artifact--systems,.home-artifact-sequence .artifact--experiment{grid-column:auto;} .home-artifact-sequence .artifact--experiment{margin-top:0;} .home-artifact-sequence .artifact--physical{grid-column:auto;} .systems-diagram{grid-template-columns:repeat(4,minmax(0,1fr)); gap:var(--space-2);} .systems-route{display:none;}} @media (max-width:760px){.work-catalog__featured-list{grid-template-columns:1fr;} .work-catalog__featured-project{grid-column:auto; margin-top:0;} .case-hero{margin-inline:calc(-1 * var(--gutter)); border-radius:0; border-left:0; border-right:0;}} .card{background:var(--glass-surface,var(--bg-1)); border:1px solid var(--glass-border,var(--line)); border-radius:var(--r-lg); padding:18px 20px; box-shadow:var(--glass-highlight,inset 0 1px 0 rgba(255,255,255,0.04)),0 1px 3px rgba(0,0,0,0.12); transition:transform 0.4s var(--ease-spring,cubic-bezier(0.34,1.56,0.64,1)),box-shadow 0.25s cubic-bezier(0.16,1,0.3,1);} .card:hover{transform:translateY(-2px); box-shadow:inset 0 1px 0 rgba(255,255,255,0.06),0 8px 24px rgba(0,0,0,0.2),0 4px 8px rgba(0,0,0,0.15);} .card.tight{padding:14px 16px;} .card h3{font-family:var(--display); font-size:12px; letter-spacing:0.6px; text-transform:uppercase; color:var(--fg-mute); margin-bottom:14px; display:flex; align-items:center; gap:10px;} .card h3::before{content:""; width:4px; height:14px; background:var(--accent-pheno); border-radius:2px; box-shadow:0 0 8px var(--accent-pheno);} .kpi-row{display:grid; grid-template-columns:repeat(auto-fit,minmax(180px,1fr)); gap:14px;} .kpi{background:var(--glass-surface,var(--bg-1)); border:1px solid var(--glass-border,var(--line)); border-radius:var(--r-lg); padding:16px 18px; position:relative; overflow:hidden; transition:transform 0.4s var(--ease-spring,cubic-bezier(0.34,1.56,0.64,1)),box-shadow 0.25s cubic-bezier(0.16,1,0.3,1); box-shadow:var(--glass-highlight,inset 0 1px 0 rgba(255,255,255,0.04)),0 1px 3px rgba(0,0,0,0.1);} .kpi:hover{transform:translateY(-1px); box-shadow:inset 0 1px 0 rgba(255,255,255,0.06),0 6px 20px rgba(0,0,0,0.18),0 2px 6px rgba(0,0,0,0.12);} .kpi::after{content:""; position:absolute; right:-1px; top:-1px; width:30%; height:30%; background:radial-gradient(120px 80px at 100% 0%,rgba(182,240,107,.07),transparent 70%); pointer-events:none;} .kpi .lab{font:600 10.5px/1 var(--mono); letter-spacing:0.6px; text-transform:uppercase; color:var(--fg-mute);} .kpi .val{font:700 26px/1 var(--display); color:var(--fg); margin-top:8px; font-feature-settings:"tnum";} .kpi .unit{font:500 12px/1 var(--mono); color:var(--fg-mute); margin-left:4px;} .kpi .sub{margin-top:8px; font:500 11.5px/1.4 var(--mono); color:var(--fg-mute); letter-spacing:0.3px;} .list{display:grid; gap:14px;} .list-item{display:grid; grid-template-columns:80px 1fr; gap:16px; padding:14px 0; border-top:1px dashed var(--line);} .list-item:first-child{border-top:none; padding-top:0;} .list-item .when{font:600 12px/1.4 var(--mono); color:var(--accent-pheno); letter-spacing:0.4px;} .list-item .when small{display:block; font-weight:400; color:var(--fg-mute); margin-top:4px; letter-spacing:0.3px;} .list-item .what .h{font:600 14.5px/1.3 var(--sans); color:var(--fg);} .list-item .what .who{font:500 12.5px/1.3 var(--mono); color:var(--fg-mute); margin-top:4px;} .list-item .what .blurb{font:400 13px/1.55 var(--sans); color:var(--fg-mute); margin-top:8px;} .list-item .what .tags{display:flex; flex-wrap:wrap; gap:6px; margin-top:10px;} .tag{font:600 10.5px/1 var(--mono); letter-spacing:0.4px; text-transform:uppercase; color:var(--fg-mute); background:var(--bg-2); border:1px solid var(--line-2); border-radius:4px; padding:5px 8px;} .tag.accent{color:var(--accent-pheno); border-color:rgba(182,240,107,.35);} .tag.eng{color:var(--accent-eng); border-color:rgba(95,180,255,.35);} .tag.pheno{color:var(--accent-pheno); border-color:rgba(182,240,107,.4);} .timeline{position:relative; padding-left:22px;} .timeline::before{content:""; position:absolute; left:8px; top:4px; bottom:4px; width:1px; background:linear-gradient(180deg,var(--accent-pheno),transparent);} .timeline-item{position:relative; padding:0 0 16px 14px;} .timeline-item::before{content:""; position:absolute; left:-18px; top:6px; width:9px; height:9px; border-radius:50%; background:var(--accent-pheno); box-shadow:0 0 12px var(--accent-pheno);} .timeline-item .h{font:600 13.5px/1.3 var(--sans); color:var(--fg);} .timeline-item .w{font:500 11.5px/1.4 var(--mono); color:var(--fg-mute); margin-top:2px;} .timeline-item .b{font:400 12.5px/1.5 var(--sans); color:var(--fg-mute); margin-top:6px;} .split-2{display:grid; grid-template-columns:1fr 1fr; gap:14px;} @media (max-width:820px){.split-2{grid-template-columns:1fr;}} .muted{color:var(--fg-mute);} .dim{color:var(--fg-mute);} .mono{font-family:var(--mono);} .display{font-family:var(--display); letter-spacing:0.4px;} .callout{background:linear-gradient(180deg,rgba(182,240,107,.06),transparent); border:1px solid rgba(182,240,107,.25); border-left:3px solid var(--accent-pheno); border-radius:var(--r-lg); padding:14px 16px; font:400 13px/1.55 var(--sans); color:var(--fg-mute);} .callout strong{color:var(--fg);} .divider{height:1px; background:var(--line); margin:18px 0;} @media (pointer:fine){*,*::before,*::after{cursor:none !important;}} .cursor-dot{position:fixed; top:0; left:0; width:6px; height:6px; margin:-3px 0 0 -3px; border-radius:50%; background:var(--seed-teal); pointer-events:none; z-index:9999; will-change:transform; transition:width 0.2s var(--ease-out),height 0.2s var(--ease-out),background-color 0.2s var(--ease-out);} .cursor-ring{position:fixed; top:0; left:0; width:32px; height:32px; margin:-16px 0 0 -16px; border-radius:50%; border:1.5px solid var(--seed-teal); background:transparent; pointer-events:none; z-index:9998; will-change:transform; transition:width 0.2s var(--ease-out),height 0.2s var(--ease-out),margin 0.2s var(--ease-out),border-color 0.2s var(--ease-out),opacity 0.2s var(--ease-out);} .cursor-ring--hover{width:48px; height:48px; margin:-24px 0 0 -24px; border-color:var(--ink);} .cursor-ring--click{transform:scale(0.8);} .cursor-dot--text{width:2px; height:18px; margin:-9px 0 0 -1px; border-radius:1px;} .cursor-dot--image{width:20px; height:20px; margin:-10px 0 0 -10px; border:1.5px solid var(--seed-teal); background:transparent;} .cursor-dot--image::after{content:""; position:absolute; bottom:-4px; right:-4px; width:7px; height:2px; background:var(--seed-teal); transform:rotate(45deg); border-radius:1px;} .cursor-trail{position:fixed; top:0; left:0; width:4px; height:4px; margin:-2px 0 0 -2px; border-radius:50%; background:var(--seed-teal); pointer-events:none; z-index:9997; will-change:transform,opacity; opacity:0;} .cursor-trail:nth-child(1){opacity:0.18;} .cursor-trail:nth-child(2){opacity:0.10;} .cursor-trail:nth-child(3){opacity:0.05;} @media (pointer:coarse){.cursor-dot,.cursor-ring,.cursor-trail{display:none;} body{cursor:auto !important;}} @media (prefers-reduced-motion:reduce){.cursor-trail{display:none;} .cursor-dot,.cursor-ring{transition-duration:0.01ms !important;}} :root{--reveal-transition:opacity 0.5s cubic-bezier(0.16,1,0.3,1),transform 0.65s cubic-bezier(0.34,1.56,0.64,1);} .reveal-hidden{opacity:0; will-change:transform,opacity; transition:var(--reveal-transition);} .reveal-visible{opacity:1; transform:none; transition:var(--reveal-transition);} .reveal-hidden[data-reveal="up"],.reveal-hidden[data-reveal]{transform:translateY(var(--reveal-distance,24px));} .reveal-hidden[data-reveal="down"]{transform:translateY(calc(-1 * var(--reveal-distance,24px)));} .reveal-hidden[data-reveal="left"]{transform:translateX(calc(-1 * var(--reveal-distance,24px)));} .reveal-hidden[data-reveal="right"]{transform:translateX(var(--reveal-distance,24px));} .reveal-hidden[data-reveal="fade"]{transform:none;} .reveal-hidden[data-reveal="scale"]{transform:scale(0.94);} .reveal-hidden[data-reveal="rotate"]{transform:rotate(-1.5deg) scale(0.97);} @media (prefers-reduced-motion:reduce){.reveal-hidden{opacity:1; transform:none; transition:none;} .reveal-visible{transition:none;}} .view-transition-preparing{position:relative; min-height:100dvh;} .view-transition-out{opacity:0; transform:translateY(8px); transition:opacity 180ms ease,transform 180ms ease; will-change:opacity,transform;} .view-transition-in{opacity:0; transform:translateY(8px); transition:opacity 250ms cubic-bezier(0.16,1,0.3,1),transform 250ms cubic-bezier(0.16,1,0.3,1); will-change:opacity,transform;} .view-transition-in.is-visible{opacity:1; transform:none;} ::view-transition-old(root){animation:vt-fade-out 180ms ease forwards;} ::view-transition-new(root){animation:vt-fade-in 250ms cubic-bezier(0.16,1,0.3,1) forwards;} @keyframes vt-fade-out{from{opacity:1; transform:translateY(0);} to{opacity:0; transform:translateY(8px);}} @keyframes vt-fade-in{from{opacity:0; transform:translateY(8px);} to{opacity:1; transform:none;}} @media (prefers-reduced-motion:reduce){.view-transition-out,.view-transition-in,.view-transition-in.is-visible{transition:none !important; transform:none !important; opacity:1 !important;} .view-transition-out{display:none;} ::view-transition-old(root),::view-transition-new(root){animation:none !important;}} .parallax-layer{will-change:transform; backface-visibility:hidden; -webkit-backface-visibility:hidden; transform:translateZ(0);} .parallax-container{position:relative; overflow:hidden;} @media (prefers-reduced-motion:reduce){.parallax-layer{transform:none !important; will-change:auto; backface-visibility:visible; -webkit-backface-visibility:visible;}} :root{--reveal-accent:#7EBAB5; --reveal-paper:#f3f0e8; --reveal-easing:cubic-bezier(0.16,1,0.3,1); --reveal-duration:800ms;} .image-reveal-container{position:relative; overflow:hidden; background-color:var(--reveal-paper); aspect-ratio:var(--reveal-aspect,16 / 9);} .image-reveal-placeholder{position:absolute; inset:0; background-color:var(--reveal-paper); background-size:cover; background-position:center; filter:blur(20px); transform:scale(1.1); transition:opacity var(--reveal-duration) var(--reveal-easing); z-index:1; pointer-events:none;} .image-reveal-placeholder.loaded{opacity:0; pointer-events:none;} .image-reveal-img{display:block; width:100%; height:auto; position:relative; z-index:2;} .image-reveal-img[data-reveal-style="wipe-right"]{clip-path:inset(0 100% 0 0); transition:clip-path var(--reveal-duration) var(--reveal-easing);} .image-reveal-img[data-reveal-style="wipe-right"].revealed,.image-reveal-img[data-reveal-style="wipe-right"]:not([data-reveal-style]){clip-path:inset(0);} .image-reveal-img[data-reveal-style="zoom-fade"]{transform:scale(1.05); filter:blur(10px); opacity:0; transition:transform var(--reveal-duration) var(--reveal-easing),filter var(--reveal-duration) var(--reveal-easing),opacity var(--reveal-duration) var(--reveal-easing);} .image-reveal-img[data-reveal-style="zoom-fade"].revealed{transform:scale(1); filter:blur(0); opacity:1;} .image-reveal-img[data-reveal-style="curtain"]{clip-path:polygon(50% 50%,50% 50%,50% 50%,50% 50%); transition:clip-path var(--reveal-duration) var(--reveal-easing);} .image-reveal-img[data-reveal-style="curtain"].revealed{clip-path:polygon(0 0,100% 0,100% 100%,0 100%);} .image-reveal-img[data-reveal-style="pixelate"]{filter:contrast(20) saturate(0) blur(6px); opacity:0; transition:filter var(--reveal-duration) var(--reveal-easing),opacity var(--reveal-duration) var(--reveal-easing);} .image-reveal-img[data-reveal-style="pixelate"].revealed{filter:contrast(1) saturate(1) blur(0); opacity:1;} @media (prefers-reduced-motion:reduce){.image-reveal-img{clip-path:none !important; transform:none !important; filter:none !important; opacity:1 !important; transition:none !important;} .image-reveal-placeholder{display:none !important;}} .lightbox-overlay{position:fixed; inset:0; z-index:9999; display:flex; align-items:center; justify-content:center; background:rgba(17,17,20,0.92); backdrop-filter:blur(8px); opacity:0; visibility:hidden; transition:opacity 0.3s cubic-bezier(0.16,1,0.3,1),visibility 0.3s;} .lightbox-overlay.lightbox-active{opacity:1; visibility:visible;} .lightbox-figure{position:relative; max-width:90vw; max-height:85vh; margin:0;} .lightbox-img{display:block; max-width:90vw; max-height:80vh; object-fit:contain; border-radius:6px; box-shadow:0 8px 40px rgba(0,0,0,0.5);} .lightbox-caption{margin-top:0.75rem; color:rgba(243,240,232,0.7); font-family:var(--font-meta,"JetBrains Mono",monospace); font-size:0.75rem; text-align:center; line-height:1.4; max-width:60ch;} .lightbox-close{position:absolute; top:1rem; right:1rem; display:flex; align-items:center; justify-content:center; width:44px; height:44px; border:1px solid rgba(243,240,232,0.15); border-radius:50%; background:rgba(17,17,20,0.6); color:rgba(243,240,232,0.8); cursor:pointer; transition:background 0.15s,color 0.15s,border-color 0.15s; z-index:10;} .lightbox-close:hover{background:rgba(126,186,181,0.2); color:#f3f0e8; border-color:rgba(126,186,181,0.4);} .lightbox-nav{position:absolute; top:50%; transform:translateY(-50%); display:flex; align-items:center; justify-content:center; width:44px; height:44px; border:1px solid rgba(243,240,232,0.12); border-radius:50%; background:rgba(17,17,20,0.5); color:rgba(243,240,232,0.7); cursor:pointer; transition:background 0.15s,color 0.15s,border-color 0.15s; z-index:10;} .lightbox-nav:hover{background:rgba(126,186,181,0.2); color:#f3f0e8; border-color:rgba(126,186,181,0.3);} .lightbox-prev{left:1rem;} .lightbox-next{right:1rem;} .lightbox-counter{position:absolute; bottom:1rem; left:50%; transform:translateX(-50%); color:rgba(243,240,232,0.5); font-family:var(--font-meta,"JetBrains Mono",monospace); font-size:0.7rem; letter-spacing:0.08em;} @media (prefers-reduced-motion:reduce){.lightbox-overlay{transition:none;}} @media (max-width:600px){.lightbox-nav{display:none;} .lightbox-close{top:0.5rem; right:0.5rem;} .lightbox-img{max-width:95vw; max-height:75vh;}} @keyframes skeleton-shimmer{0%{background-position:-200% 0;} 100%{background-position:200% 0;}} .skeleton{background:linear-gradient(90deg,var(--graphite-900) 25%,var(--graphite-800) 50%,var(--graphite-900) 75%); background-size:200% 100%; animation:skeleton-shimmer 1.5s infinite linear; border-radius:var(--radius-panel); color:transparent !important; pointer-events:none; user-select:none; overflow:hidden;} .skeleton--loading{opacity:1; visibility:visible;} .skeleton--loaded{opacity:0; height:0; overflow:hidden; transition:opacity 300ms var(--ease-out),height 300ms var(--ease-out);} .skeleton-line{height:1em; border-radius:4px; width:var(--skeleton-width,80%);} .skeleton-heading{height:1.6em; width:var(--skeleton-width,45%); border-radius:4px; margin-bottom:0.5em;} .skeleton-card{width:100%; min-height:180px; border-radius:var(--radius-panel); padding:18px 20px; display:flex; flex-direction:column; gap:12px;} .skeleton-card .skeleton-line:nth-child(1){--skeleton-width:60%;} .skeleton-card .skeleton-line:nth-child(2){--skeleton-width:85%;} .skeleton-card .skeleton-line:nth-child(3){--skeleton-width:40%;} .skeleton-image{width:100%; aspect-ratio:16 / 9; border-radius:var(--radius-panel);} .skeleton-lines{display:flex; flex-direction:column; gap:10px; width:100%;} .skeleton-card-grid{display:grid; grid-template-columns:repeat(auto-fill,minmax(280px,1fr)); gap:20px; width:100%;} @media (prefers-color-scheme:dark){.skeleton{background:linear-gradient(90deg,var(--graphite-950) 25%,var(--graphite-900) 50%,var(--graphite-950) 75%); background-size:200% 100%;}} @media (prefers-reduced-motion:reduce){.skeleton{animation:none;}} .atelier-transition{display:grid; align-content:end; min-height:min(68vh, 48rem); padding-block:var(--space-7) var(--space-5); border-bottom:1px solid var(--rule);} .atelier-transition h1{margin-bottom:var(--space-4);} .atelier-back-link{width:fit-content; margin-top:var(--space-4); font-family:var(--font-meta); font-size:var(--step--1);} .project-index{width:100vw; max-width:none; height:100dvh; max-height:none; margin:0; padding:var(--space-5) var(--gutter); border:0; background:var(--graphite-950); color:var(--paper-100);} .project-index::backdrop{background:color-mix(in srgb,var(--graphite-950) 70%,transparent);} .project-index-head{position:sticky; z-index:2; top:0; display:flex; align-items:start; justify-content:space-between; gap:var(--space-4); padding-bottom:var(--space-4); border-bottom:1px solid color-mix(in srgb,var(--paper-100) 28%,transparent); background:var(--graphite-950);} .project-index-head h2{margin:0;} .project-index .atelier-label{color:var(--concrete-300);} .project-index-close{min-width:5rem; min-height:2.75rem; border:1px solid currentColor; background:transparent; color:inherit; cursor:pointer;} .project-index-groups{display:grid; grid-template-columns:repeat(12,1fr); gap:var(--space-5) var(--space-4); padding-block:var(--space-5) var(--space-7);} .project-index-group{grid-column:span 6;} .project-index-group h3{margin-bottom:var(--space-3); color:var(--arch-300); font-family:var(--font-meta); font-size:var(--step--1); letter-spacing:0.08em; text-transform:uppercase;} .project-index-group ol{margin:0; padding:0; list-style:none;} .project-index-group li{border-top:1px solid color-mix(in srgb,var(--paper-100) 20%,transparent);} .project-index-group a{display:grid; grid-template-columns:2.25rem minmax(8rem,0.7fr) 1fr auto; gap:var(--space-3); align-items:baseline; padding-block:var(--space-3); text-decoration:none;} .project-index-group a:hover strong,.project-index-group a:focus-visible strong{color:var(--acid-500);} .project-index-group a>span:nth-of-type(2),.project-index-group small{color:var(--concrete-300);} .project-index-number,.project-index-group small{font-family:var(--font-meta); font-size:var(--step--1);} .work-catalog{max-width:72rem; margin-inline:auto;} .work-catalog__controls{display:grid; gap:0.8rem; margin-block:2rem 3rem; padding:1rem; border:1px solid var(--rule); background:var(--surface);} .work-catalog__control-heading,.work-catalog__filters,.work-catalog__archive-item{display:flex; flex-wrap:wrap; align-items:center; gap:0.65rem;} .work-catalog__control-heading{justify-content:space-between; color:var(--ink-muted); font:600 0.76rem/1 var(--font-meta); letter-spacing:0.08em; text-transform:uppercase;} .work-catalog__count{margin:0; color:var(--ink);} .work-catalog__filter{border:1px solid var(--rule); border-radius:0; padding:0.55rem 0.7rem; background:var(--surface-raised); color:var(--ink-muted); font:600 0.78rem/1 var(--font-reading); cursor:pointer;} .work-catalog__filter:hover,.work-catalog__filter[aria-pressed="true"]{border-color:var(--accent-engineering); color:var(--ink);} .work-catalog__filter[aria-pressed="true"]{background:color-mix(in srgb,var(--accent-engineering) 18%,var(--surface));} .work-catalog__filter:focus-visible,.work-catalog__project-link:focus-visible{outline:none; box-shadow:var(--focus-ring);} .work-catalog__group{margin-block:2.5rem;} .work-catalog__group>h2,.work-catalog__group summary{font:700 1.25rem/1.1 var(--font-display); letter-spacing:-0.02em;} .work-catalog__featured-list{display:grid; grid-template-columns:repeat(auto-fit,minmax(20rem,1fr)); gap:1px; margin-top:1rem; background:var(--rule);} .work-catalog__featured-project{display:flex; flex-direction:column; padding:clamp(1.2rem, 3vw, 2.2rem); background:var(--surface); text-decoration:none; color:inherit; border-left:3px solid var(--rule); transition:border-left-width var(--motion-short) ease;} .work-catalog__featured-project:hover{border-left-width:5px;} .work-catalog__featured-project:focus-visible{outline:none; box-shadow:var(--focus-ring);} .work-catalog__featured-project[data-family]{border-left-color:var(--family-accent,var(--rule));} .work-catalog__featured-project[data-family]:hover{border-left-color:var(--family-accent,var(--rule));} .work-catalog__featured-image{aspect-ratio:16 / 9; overflow:hidden; border-radius:var(--radius-control); margin-bottom:var(--space-3); background:var(--surface-inset);} .work-catalog__featured-image img{width:100%; height:100%; object-fit:cover; transition:transform 200ms ease;} .work-catalog__featured-project:hover .work-catalog__featured-image img{transform:scale(1.02);} @media (prefers-reduced-motion:reduce){.work-catalog__featured-image img{transform:none; transition:none;}} .work-catalog__featured-badge{display:inline-flex; align-items:center; gap:0.35rem; font:600 0.7rem/1 var(--font-meta); letter-spacing:0.06em; text-transform:uppercase; padding:0.35rem 0.6rem; border-radius:var(--radius-control); background:color-mix(in srgb,var(--family-accent,var(--arch-500)) 12%,transparent); color:var(--family-accent-ink,var(--family-accent,var(--arch-500))); width:fit-content; margin-bottom:var(--space-2);} .work-catalog__featured-status{font:600 0.7rem/1 var(--font-meta); color:var(--ink-muted); margin-bottom:var(--space-1);} .work-catalog__featured-project h3{margin:0 0 var(--space-1); font:650 clamp(1.05rem, 2vw, 1.45rem)/1.08 var(--font-display); color:inherit;} .work-catalog__featured-summary{max-width:38rem; color:var(--ink-muted); line-height:1.55; display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden;} .work-catalog__featured-tech{display:flex; flex-wrap:wrap; gap:0.35rem; margin-top:var(--space-2);} .work-catalog__featured-tech span{font:600 0.65rem/1 var(--font-meta); color:var(--ink-muted); background:var(--surface-inset); padding:0.25rem 0.5rem; border-radius:var(--radius-control);} .work-catalog__specimen-list,.work-catalog__archive-list{list-style:none; padding:0;} .work-catalog__specimen-list{display:grid; grid-template-columns:repeat(auto-fit,minmax(15rem,1fr)); gap:0.9rem; margin-top:1rem;} .work-catalog__specimen{border:1px solid var(--rule); padding:1rem; background:linear-gradient(145deg,var(--surface-raised),var(--surface));} .work-catalog__specimen[data-family]{border-left:2px solid var(--family-accent,var(--rule));} .work-catalog__specimen-code,.work-catalog__meta{color:var(--ink-muted); font:600 0.7rem/1.35 var(--font-meta); letter-spacing:0.06em; text-transform:uppercase;} .work-catalog__specimen-code{margin:0 0 2.5rem;} .work-catalog__group--archive{border-top:1px solid var(--rule); border-bottom:1px solid var(--rule); padding-block:1rem;} .work-catalog__group--archive summary{cursor:pointer;} .work-catalog__archive-list{display:grid; gap:0; margin:1rem 0 0;} .work-catalog__archive-item{border-top:1px solid var(--rule); padding:0.8rem 0; align-items:flex-start;} .work-catalog__archive-mark{color:var(--accent-product); font-family:var(--font-meta);} .work-catalog h3{margin:0; font:650 clamp(1.05rem, 2vw, 1.45rem)/1.08 var(--font-display);} .work-catalog__project-link{color:var(--ink); text-decoration:none;} .work-catalog__project-link:hover{color:var(--accent);} .work-catalog__summary{max-width:38rem; color:var(--ink-muted); line-height:1.55;} @media (max-width:40rem){.work-catalog__control-heading{align-items:flex-start; flex-direction:column;} .work-catalog__featured-list,.work-catalog__specimen-list{grid-template-columns:1fr;}} .xp-lane{position:relative; padding:6px 0 6px 28px;} .xp-lane::before{content:""; position:absolute; left:9px; top:6px; bottom:6px; width:2px; background:linear-gradient(180deg,var(--accent-prod) 0%,var(--accent-eng) 50%,var(--accent-pheno) 100%); border-radius:2px; opacity:0.55;} .xp-node{position:relative; padding:14px 0 22px 14px;} .xp-node::before{content:""; position:absolute; left:-25px; top:18px; width:14px; height:14px; border-radius:50%; background:var(--bg-1); border:2px solid var(--accent-prod); box-shadow:0 0 12px rgba(255,185,92,.45);} .xp-node.blue::before{border-color:var(--accent-eng); box-shadow:0 0 12px rgba(95,180,255,.45);} .xp-node.lime::before{border-color:var(--accent-pheno); box-shadow:0 0 12px rgba(182,240,107,.45);} .xp-node.gray::before{border-color:var(--line-2); box-shadow:none;} .xp-node .when{font:700 11.5px/1 var(--mono); text-transform:uppercase; letter-spacing:0.5px; color:var(--fg-mute); margin-bottom:6px;} .xp-node .what{font-family:var(--display); font-weight:700; font-size:16px; color:var(--fg); letter-spacing:-0.2px;} .xp-node .where{font:500 12.5px/1.4 var(--mono); color:var(--accent-eng); margin-top:4px;} .xp-node .blurb{font:400 13.5px/1.55 var(--sans); color:var(--fg-mute); margin-top:8px; max-width:70ch;} .xp-node .tagrow{display:flex; flex-wrap:wrap; gap:6px; margin-top:10px;} .timeline-h{display:flex; gap:0; border:1px solid var(--line); border-radius:var(--r-lg); overflow:hidden;} .timeline-h .col{flex:1; padding:12px 14px; border-right:1px solid var(--line); background:var(--bg-1);} .timeline-h .col:last-child{border-right:none;} .timeline-h .col .k{font:700 10px/1 var(--mono); text-transform:uppercase; letter-spacing:0.5px; color:var(--fg-mute);} .timeline-h .col .v{font-family:var(--display); font-weight:700; font-size:18px; color:var(--fg); margin-top:6px;} .timeline-h .col .h{font-size:11px; color:var(--fg-dim); margin-top:4px;} .timeline-h .col.amber .v{color:var(--accent-prod);} .timeline-h .col.blue .v{color:var(--accent-eng);} .timeline-h .col.lime .v{color:var(--accent-pheno);} .resume-section{margin-bottom:var(--space-7);} .resume-timeline{position:relative; padding:var(--space-4) 0; max-width:960px; margin-inline:auto;} .resume-timeline::before{content:""; position:absolute; left:50%; top:0; bottom:0; width:2px; background:linear-gradient(180deg,transparent 0%,var(--seed-teal) 8%,var(--seed-teal) 92%,transparent 100%); opacity:0.35; transform:translateX(-50%);} .resume-node{position:relative; width:calc(50% - var(--space-5)); padding:var(--space-4); background:var(--surface); border:1px solid var(--precision-rule); border-radius:var(--radius-panel); margin-bottom:var(--space-5); transition:box-shadow var(--motion-normal) var(--ease-out),border-color var(--motion-normal) var(--ease-out);} .resume-node:hover{box-shadow:0 4px 16px color-mix(in srgb,var(--ink) 6%,transparent); border-color:var(--seed-teal);} .resume-node::before{content:""; position:absolute; top:28px; width:12px; height:12px; border-radius:50%; background:var(--surface); border:2px solid var(--seed-teal); box-shadow:0 0 10px rgba(126,186,181,0.4); z-index:1;} .resume-node::after{content:""; position:absolute; top:32px; width:calc(var(--space-5) - 6px); height:1px; background:var(--seed-teal); opacity:0.3;} .resume-node--left{margin-left:0; margin-right:auto;} .resume-node--left::before{right:-27px;} .resume-node--left::after{right:-25px;} .resume-node--right{margin-left:auto; margin-right:0;} .resume-node--right::before{left:-27px;} .resume-node--right::after{left:-25px;} .resume-node--right.reveal-hidden{transform:translateY(var(--reveal-distance,24px));} .resume-node__date{font:700 11px/1 var(--font-meta); text-transform:uppercase; letter-spacing:0.6px; color:var(--ink-muted); margin-bottom:var(--space-1);} .resume-node__company{font-family:var(--font-display); font-weight:700; font-size:var(--step-1); color:var(--ink); letter-spacing:-0.02em; line-height:1.15; margin:0 0 var(--space-0);} .resume-node__role{font:500 12.5px/1.3 var(--font-meta); color:var(--ink-muted); margin-bottom:var(--space-2);} .resume-node__desc{list-style:none; padding:0; margin:0;} .resume-node__desc li{position:relative; padding-left:1rem; font:400 13.5px/1.55 var(--font-reading); color:var(--ink-muted);} .resume-node__desc li::before{content:""; position:absolute; left:0; top:0.55em; width:5px; height:5px; border-radius:50%; background:var(--seed-teal); opacity:0.55;} .resume-badge{display:inline-block; padding:3px 9px; font:600 10px/1 var(--font-meta); letter-spacing:0.06em; text-transform:uppercase; border-radius:var(--radius-control); margin-bottom:var(--space-2);} .resume-badge--eng{color:var(--arch-500); background:color-mix(in srgb,var(--arch-500) 10%,transparent); border:1px solid color-mix(in srgb,var(--arch-500) 30%,transparent);} .resume-badge--product{color:var(--olive-500); background:color-mix(in srgb,var(--olive-500) 10%,transparent); border:1px solid color-mix(in srgb,var(--olive-500) 30%,transparent);} .resume-badge--leadership{color:var(--seed-teal); background:color-mix(in srgb,var(--seed-teal) 10%,transparent); border:1px solid color-mix(in srgb,var(--seed-teal) 30%,transparent);} .resume-skills{display:grid; grid-template-columns:repeat(auto-fill,minmax(200px,1fr)); gap:var(--space-3); margin-top:var(--space-4); max-width:960px; margin-inline:auto;} .resume-skill{padding:var(--space-3); background:var(--surface); border:1px solid var(--precision-rule); border-radius:var(--radius-panel); transition:border-color var(--motion-fast) var(--ease-out),box-shadow var(--motion-fast) var(--ease-out);} .resume-skill:hover{border-color:var(--seed-teal); box-shadow:0 2px 8px color-mix(in srgb,var(--seed-teal) 10%,transparent);} .resume-skill__name{font:600 13px/1.2 var(--font-display); color:var(--ink); margin-bottom:var(--space-1);} .resume-skill__bar-track{height:4px; border-radius:2px; background:color-mix(in srgb,var(--ink) 8%,transparent); overflow:hidden;} .resume-skill__bar-fill{height:100%; border-radius:2px; background:var(--seed-teal);} .resume-edu-card{max-width:480px; padding:var(--space-4); background:var(--surface); border:1px solid var(--precision-rule); border-radius:var(--radius-panel);} .resume-edu-card__school{font:700 var(--step-1) / 1.15 var(--font-display); color:var(--ink); letter-spacing:-0.02em; margin-bottom:var(--space-1);} .resume-edu-card__degree{font:500 13px/1.3 var(--font-meta); color:var(--ink-muted);} .resume-edu-card__detail{font:400 13px/1.55 var(--font-reading); color:var(--ink-muted); margin-top:var(--space-2);} @media (max-width:760px){.resume-timeline::before{left:14px; transform:none;} .resume-node{width:calc(100% - 40px); margin-left:40px !important; margin-right:0 !important;} .resume-node--left::before,.resume-node--right::before{left:-27px; right:auto;} .resume-node--left::after,.resume-node--right::after{left:-25px; right:auto; width:calc(var(--space-5) - 6px);} .resume-skills{grid-template-columns:1fr;}} @media (prefers-reduced-motion:reduce){.resume-node,.resume-skill{transition:none;} .resume-node--right.reveal-hidden{transform:none;}} .resume-download{margin-bottom:var(--space-5);} .resume-download__link{display:inline-flex; align-items:center; gap:var(--space-2); padding:var(--space-2) var(--space-3); border:1px solid var(--rule); border-radius:var(--radius-control); background:var(--surface-raised); color:var(--ink); font-family:var(--font-meta); font-size:var(--step--1); text-decoration:none; transition:border-color 0.12s ease,box-shadow 0.12s ease;} .resume-download__link:hover{border-color:var(--accent); box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 20%,transparent);} .resume-download__link::before{content:"\2193"; font-size:1em;} .tilt-glare{position:absolute; inset:0; border-radius:inherit; pointer-events:none; opacity:0; transition:opacity 0.4s ease; z-index:2; mix-blend-mode:overlay;} [data-tilt]{transform-style:preserve-3d;} [data-tilt]>*{transform:translateZ(0);} .artifact{--parallax-y:0px; --parallax-scale:1; transform:translateY(var(--parallax-y)) scale(var(--parallax-scale)); transition:transform 0.15s ease-out;} .home-witf-board .witf-viewer-container{will-change:clip-path;}