:root{--red: #B40000;--blue: #1E5AA8;--azure: #68C3E2;--yellow: #FAC80A;--orange: #D67923;--green: #00852B;--lime: #A5CA18;--white: #F4F4F4;--ink: #16212B;--muted: #68706B;--line: #E5E7E3;--paper: #F4ECD7;--dark: #10161B}*{box-sizing:border-box}html{scroll-behavior:smooth}html,body,#root{min-height:100%}body{margin:0;color:var(--ink);background:#000;font-family:Space Grotesk,system-ui,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit}.hero{position:relative;min-height:100svh;overflow:hidden;background:#000;color:#f3f5fa;--wire-top: 48px;--wire-bottom: calc(100% - 48px) ;--wire-left: 48px;--wire-right: calc(100% - 48px) ;--wire-right-inset: 48px;--wire-bottom-inset: 48px;--nav-band: clamp(44px, min(5.6svh, 5.4vw), 64px);--frame-pad: clamp(18px, min(1.9vw, 2.85svh), 30px);--frame-pad-bottom: var(--hero-content-gap);--nav-pad: clamp(6px, min(.75vw, 1.15svh), 10px);--hero-name-size: clamp(40px, min(7.2vw, 10svh), 96px);--hero-copy-size: clamp(12px, min(1.25vw, 1.9svh), 16px);--hero-contact-size: var(--hero-copy-size);--hero-link-size: clamp(12px, min(1.35vw, 1.8svh), 16px);--hero-meta-size: clamp(9px, min(1.05vw, 1.55svh), 14px);--hero-meta-spacing: clamp(.08em, .55vw, .13em);--hero-content-gap: clamp(16px, min(2vw, 3svh), 28px);--hero-social-gap: clamp(7px, min(1.15vw, 1.7svh), 14px);--hero-icon-size: clamp(15px, min(1.35vw, 2.1svh), 20px);touch-action:none;overscroll-behavior:none}.brick-canvas{position:absolute;z-index:1;transform:translateZ(0);backface-visibility:hidden}.brick-media-source{position:absolute;left:0;top:0;z-index:0;width:1px;height:1px;opacity:.01;pointer-events:none}.hero-frame{position:absolute;inset:0;z-index:2;pointer-events:none}.hero-frame:before{content:"";position:absolute;top:var(--wire-top);left:var(--wire-left);right:var(--wire-right-inset);bottom:var(--wire-bottom-inset);background:radial-gradient(125% 120% at 50% 42%,transparent 52%,rgba(0,0,0,.42) 100%),linear-gradient(to bottom,rgba(0,0,0,.5),transparent 30%),linear-gradient(to top,rgba(0,0,0,.34),transparent 34%)}.frame-line{position:absolute;background:#8b9296}.frame-line.is-ext.is-top{top:var(--wire-top);left:0;right:0;height:1px}.frame-line.is-ext.is-bottom{top:var(--wire-bottom);left:0;right:0;height:1px}.frame-line.is-ext.is-left{top:0;bottom:0;left:var(--wire-left);width:1px}.frame-line.is-ext.is-right{top:0;bottom:0;left:var(--wire-right);width:1px}.frame-line.is-ext.is-nav-under{top:calc(var(--wire-top) + var(--nav-band));left:0;right:0;height:1px}.frame-line.is-ext.is-nav-down{top:0;bottom:0;width:1px}.frame-line.is-core.is-top{top:var(--wire-top);left:var(--wire-left);right:var(--wire-right-inset);height:1px}.frame-line.is-core.is-bottom{top:var(--wire-bottom);left:var(--wire-left);right:var(--wire-right-inset);height:1px}.frame-line.is-core.is-left{top:var(--wire-top);bottom:var(--wire-bottom-inset);left:var(--wire-left);width:1px}.frame-line.is-core.is-right{top:var(--wire-top);bottom:var(--wire-bottom-inset);left:var(--wire-right);width:1px}.frame-line.is-core.is-nav-under{top:calc(var(--wire-top) + var(--nav-band));left:var(--wire-left);right:var(--wire-right-inset);height:1px}.frame-line.is-core.is-nav-down{top:var(--wire-top);bottom:var(--wire-bottom-inset);width:1px}.hero{--intro-v: .4s;--intro-h: .38s;--intro-v-delay: .05s;--intro-h-delay: .42s;--intro-core-in: .3s;--intro-core-delay: .8s;--intro-fade: .5s;--intro-fade-delay: .8s;--intro-text-delay: 1.1s;--intro-wire-fade: .5s;--intro-wire-fade-delay: 1.1s;--page-fade: .32s}@keyframes wire-draw-y{0%{transform:scaleY(0)}to{transform:scaleY(1)}}@keyframes wire-draw-x{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes hero-fade-in{0%{opacity:0}to{opacity:1}}@keyframes wire-fade-out{0%{opacity:1}to{opacity:0}}.hero.is-intro .frame-line.is-ext.is-left,.hero.is-intro .frame-line.is-ext.is-right,.hero.is-intro .frame-line.is-ext.is-nav-down{transform-origin:top;transform:scaleY(0)}.hero.is-intro .frame-line.is-ext.is-top,.hero.is-intro .frame-line.is-ext.is-bottom,.hero.is-intro .frame-line.is-ext.is-nav-under{transform-origin:left;transform:scaleX(0)}.hero.is-intro .frame-line.is-core,.hero.is-intro .brick-canvas,.hero.is-intro .hero-nav,.hero.is-intro .hero-socials,.hero.is-intro .hero-content{opacity:0}.hero.is-intro-ready .frame-line.is-ext.is-left,.hero.is-intro-ready .frame-line.is-ext.is-right,.hero.is-intro-ready .frame-line.is-ext.is-nav-down{animation:wire-draw-y var(--intro-v) ease-out var(--intro-v-delay) both,wire-fade-out var(--intro-wire-fade) ease-out var(--intro-wire-fade-delay) both}.hero.is-intro-ready .frame-line.is-ext.is-top,.hero.is-intro-ready .frame-line.is-ext.is-bottom,.hero.is-intro-ready .frame-line.is-ext.is-nav-under{animation:wire-draw-x var(--intro-h) ease-out var(--intro-h-delay) both,wire-fade-out var(--intro-wire-fade) ease-out var(--intro-wire-fade-delay) both}.hero.is-intro-ready .frame-line.is-core{animation:hero-fade-in var(--intro-core-in) ease-out var(--intro-core-delay) both}.hero.is-intro-ready .brick-canvas{animation:hero-fade-in var(--intro-fade) ease-out var(--intro-fade-delay) both}.hero.is-intro-ready .hero-nav,.hero.is-intro-ready .hero-socials,.hero.is-intro-ready .hero-content{animation:hero-fade-in var(--intro-fade) ease-out var(--intro-text-delay) both}@media(prefers-reduced-motion:reduce){.hero.is-intro .frame-line.is-core,.hero.is-intro .brick-canvas,.hero.is-intro .hero-nav,.hero.is-intro .hero-socials,.hero.is-intro .hero-content{transform:none;opacity:1;animation:none}.hero.is-intro .frame-line.is-ext{opacity:0;animation:none}}.page-bg,.page-fg{position:absolute;inset:0;opacity:0;pointer-events:none;transition:opacity var(--page-fade, .32s) ease-in-out;will-change:opacity;transform:translateZ(0);backface-visibility:hidden}.page-bg{z-index:1}.page-fg{z-index:3}.page-bg.is-active,.page-fg.is-active{opacity:1}.page-bg:after{content:"";position:absolute;inset:0;z-index:2;background:#000;opacity:var(--bg-dim, 0);transition:opacity var(--page-fade, .32s) ease-in-out;pointer-events:none}.hero.is-about,.hero.is-projects{--bg-dim: .6}.page-fg.is-active>*{pointer-events:auto}.hero.is-intro:not(.is-intro-ready) .page-bg,.hero.is-intro:not(.is-intro-ready) .page-fg{transition:none}@media(prefers-reduced-motion:reduce){.page-bg,.page-fg{transition:none}}.hero-nav{position:absolute;top:var(--wire-top);left:0;right:0;z-index:3;display:flex;align-items:center;justify-content:flex-end;height:var(--nav-band);padding:var(--nav-pad) calc(var(--wire-right-inset) + var(--nav-pad)) var(--nav-pad) calc(var(--wire-left) + var(--nav-pad));font-family:IBM Plex Mono,monospace;font-size:clamp(11px,min(1.05vw,1.7svh),13px);line-height:1;letter-spacing:.14em;text-shadow:0 1px 10px rgba(0,0,0,.55)}.hero-links{display:flex;transform:translateY(-.08em);justify-content:space-evenly;gap:0;font-size:var(--hero-link-size)}.hero-links a{padding-inline:.28em;color:#fff9;transition:color .18s ease}.hero-links a:hover,.hero-links a.is-active{color:#fff}.hero-content{position:absolute;left:var(--wire-left);bottom:var(--wire-bottom-inset);z-index:3;width:calc(var(--wire-right) - var(--wire-left));max-width:none;padding:0 var(--frame-pad) var(--frame-pad-bottom);overflow:visible}.hero-name{margin:0;transform:translate(-.055em);font-family:"Instrument Serif",Georgia,serif;font-weight:400;font-size:var(--hero-name-size);letter-spacing:0;word-spacing:.06em;line-height:.88;white-space:nowrap;color:#fff;text-shadow:0 2px 30px rgba(0,0,0,.5)}.hero-tagline{margin:var(--hero-content-gap) 0 0;max-width:min(48ch,100%);font-family:IBM Plex Sans,system-ui,sans-serif;font-size:var(--hero-copy-size);line-height:1.2;color:#ffffffb8;text-shadow:0 1px 16px rgba(0,0,0,.5)}.hero-socials{position:absolute;left:var(--wire-right);bottom:var(--wire-bottom-inset);z-index:4;display:flex;align-items:flex-end;justify-content:flex-end;gap:var(--hero-social-gap);padding:0 var(--frame-pad) var(--frame-pad-bottom);color:#ffffffb8;pointer-events:auto}.hero-socials a{display:inline-flex;color:#ffffffb8;transition:color .18s ease,transform .18s ease}.hero-socials a:hover{color:#fff;transform:translateY(-2px)}.hero-socials svg{width:var(--hero-icon-size);height:var(--hero-icon-size);display:block}h1,h2,h3,p{margin-top:0}h1{margin-bottom:16px;font-size:clamp(42px,7vw,64px);line-height:.94}h2{margin-bottom:0;font-size:clamp(30px,5vw,54px);line-height:1;letter-spacing:-.03em}h3{margin-bottom:8px;font-size:22px}.filter-group{display:flex;flex-wrap:wrap;gap:10px}.stud{width:18px;height:18px;flex:none;border-radius:50%;background-image:radial-gradient(circle at 40% 37%,#ffffff94 0 30%,#fff0 38%),radial-gradient(circle at center,#0000 0 33%,#0000003b 42%,#0000 53%),radial-gradient(circle at 63% 67%,#00000029 0 24%,#0000 34%);box-shadow:inset 0 -1px 2px #0000002e}.stud-white{background-color:var(--white)}.stud-red{background-color:var(--red)}.stud-blue{background-color:var(--blue)}.stud-yellow{background-color:var(--yellow)}.filter,.back-link{border:1px solid var(--ink);border-radius:4px;padding:11px 15px;background:var(--ink);color:#fff;cursor:pointer;font-family:IBM Plex Mono,monospace;font-size:13px}.filter,.back-link{background:transparent;color:var(--ink)}.app-shell.home-shell{height:100svh;overflow:hidden}.home-shell .hero{height:100svh}.app-shell.projects-shell,.app-shell.about-shell{height:100svh;overflow:hidden}.section{padding:clamp(70px,10vw,118px) clamp(20px,5vw,72px)}.projects-page{min-height:100svh}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:34px}.filter{border-color:var(--line);background:#fff}.filter.is-active{border-color:var(--red);background:var(--red);color:#fff}.back-link{margin-left:auto;white-space:nowrap}.project-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px}.brick-grid{display:grid;background:#0000002e;transition:opacity .35s ease;contain:layout paint style}.brick-cell{position:relative;overflow:hidden;background:linear-gradient(150deg,rgba(255,255,255,.1),transparent 45%,rgba(0,0,0,.2) 100%),color-mix(in srgb,var(--lego-color) 88%,black);box-shadow:inset 1px 1px #ffffff1a,inset -1px -1px color-mix(in srgb,var(--lego-edge) 38%,transparent)}.brick-cell:before,.brick-cell:after,.stud-logo{content:"";position:absolute;left:50%;top:50%;border-radius:50%;transform:translate(-50%,-50%);pointer-events:none}.brick-cell:before{display:none}.brick-cell:after{width:62%;height:62%;border:max(1px,.05em) solid color-mix(in srgb,var(--lego-edge) 45%,transparent);background:linear-gradient(145deg,rgba(255,255,255,.16),transparent 50%,rgba(0,0,0,.24) 100%),color-mix(in srgb,var(--lego-color) 88%,white);box-shadow:.1em .14em .16em #00000073,inset 0 .05em #ffffff1f,inset 0 -.12em .08em #00000042}.stud-logo{content:none;z-index:1;width:42%;overflow:hidden;text-align:center;transform:translate(-50%,-50%) scaleX(.68) scaleY(1.72);color:transparent;font-family:Arial,Helvetica,sans-serif;font-size:clamp(5px,.78vw,9px);font-weight:900;letter-spacing:0;line-height:1;text-shadow:0 -.035em 0 rgba(255,255,255,.22),0 .035em 0 rgba(0,0,0,.16),0 0 .02em rgba(255,255,255,.08);-webkit-user-select:none;user-select:none}.dialog-backdrop{position:fixed;z-index:40;inset:0;display:grid;place-items:center;padding:16px;background:#10161b8c}.project-dialog{position:relative;width:min(760px,calc(100vw - 32px));max-height:calc(100svh - 32px);overflow:auto;border-radius:8px;background:#fff;box-shadow:0 22px 70px #00000047}.projects-stage,.projects-rail,.about-panel,.project-dialog{scrollbar-width:none;-ms-overflow-style:none}.projects-stage::-webkit-scrollbar,.projects-rail::-webkit-scrollbar,.about-panel::-webkit-scrollbar,.project-dialog::-webkit-scrollbar{display:none}.dialog-close{position:absolute;top:12px;right:12px;z-index:1;width:38px;height:38px;border:0;border-radius:50%;background:#fff;cursor:pointer;font-size:28px;line-height:1}.dialog-hero{min-height:220px;padding:30px;color:#fff;background:var(--dark)}.dialog-hero .cover-image{display:block;width:100%;height:220px;object-fit:cover;border-radius:6px}.dialog-hero .cover-video{display:block;width:100%;aspect-ratio:16 / 9;border:0;border-radius:6px}.dialog-hero .media-placeholder{height:220px;border-radius:6px}.media-placeholder{width:100%;height:100%;background:var(--blue)}.dialog-content{padding:30px}.dialog-content p{color:var(--muted);line-height:1.6}.dialog-links{display:flex;flex-wrap:wrap;gap:12px;margin-top:20px}.dialog-links a{border-bottom:2px solid var(--red);padding-bottom:3px;color:var(--ink);font-family:IBM Plex Mono,monospace;font-size:13px}.dialog-links a:hover{color:var(--red)}@media(max-width:980px){.project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:720px){.section-heading{display:block}.filter-group{margin-top:20px}.project-grid{grid-template-columns:1fr}}.hero.is-projects,.hero.is-about{height:100svh}@property --stage-fade-h{syntax: "<length>"; inherits: false; initial-value: 0px;}.projects-stage{--stage-top-fade: clamp(44px, 7svh, 84px);--stage-fade-h: 0px;position:absolute;top:calc(var(--wire-top) + var(--nav-band));bottom:var(--wire-bottom-inset);left:var(--wire-left);z-index:3;display:flex;flex-direction:column;padding:var(--frame-pad);min-height:0;overflow-y:auto;-webkit-mask-image:linear-gradient(to bottom,transparent 0,#000 var(--stage-fade-h));mask-image:linear-gradient(to bottom,transparent 0,#000 var(--stage-fade-h));transition:--stage-fade-h .18s ease}.projects-stage.is-scrolled{--stage-fade-h: var(--stage-top-fade)}@media(prefers-reduced-motion:reduce){.projects-stage{transition:none}}.stage-inner{display:flex;flex-direction:column;align-items:stretch;align-self:center;width:100%;max-width:min(700px,92%);gap:clamp(18px,3svh,34px);margin-top:var(--stage-lead, 0px)}.stage-cover{width:100%;aspect-ratio:24 / 12;overflow:hidden;border-radius:4px;background:var(--dark)}.stage-cover>*{width:100%;height:100%}.stage-cover img{display:block;object-fit:cover}.stage-cover .stage-video{display:block;border:0}.stage-meta{width:100%}.stage-title{margin:0;font-family:"Instrument Serif",Georgia,serif;font-weight:400;font-size:clamp(34px,5vw,64px);line-height:.9;letter-spacing:0;color:#fff;text-shadow:0 2px 30px rgba(0,0,0,.6)}.stage-links{display:flex;flex-wrap:wrap;gap:clamp(12px,1.4vw,18px);margin-top:clamp(10px,1.4svh,14px)}.stage-links a{font-family:IBM Plex Sans,system-ui,sans-serif;font-size:clamp(13px,min(1.02vw,1.55svh),16px);letter-spacing:.02em;color:#aab0b3;text-decoration:underline;text-underline-offset:4px;transition:color .15s ease}.stage-links a:hover{color:#fff}.stage-tech{list-style:none;margin:clamp(12px,1.8svh,18px) 0 0;padding:0;display:flex;flex-wrap:wrap;gap:7px}.stage-tech li{font-family:IBM Plex Sans,system-ui,sans-serif;font-size:clamp(12px,min(.9vw,1.32svh),14px);letter-spacing:.04em;text-transform:uppercase;color:#aab0b3;padding:4px 10px;border:1px solid rgba(255,255,255,.16);border-radius:999px}.stage-body{margin-top:clamp(18px,2.6svh,24px);display:flex;flex-direction:column;gap:clamp(10px,1.5svh,14px)}.stage-body p{margin:0;font-family:IBM Plex Sans,system-ui,sans-serif;font-size:clamp(14px,min(1.1vw,1.65svh),18px);line-height:1.6;color:#ffffff9e;text-shadow:0 1px 8px rgba(0,0,0,.6)}.projects-rail{--rail-item-h: clamp(74px, min(6.4vw, 9.8svh), 116px);--rail-gap: clamp(6px, 1svh, 12px);--rail-inline-pad: var(--frame-pad);position:absolute;top:calc(var(--wire-top) + var(--nav-band));bottom:var(--wire-bottom-inset);left:var(--wire-right);z-index:3;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:none}.projects-rail::-webkit-scrollbar{display:none}.projects-rail-track{position:sticky;top:0;height:100%;display:flex;flex-direction:column;justify-content:center;gap:var(--rail-gap);padding:0 var(--rail-inline-pad) 0 clamp(6px,.7vw,12px)}.projects-rail-spacer{flex:none}.rail-item{--thumb-size: clamp(52px, min(4.6vw, 7svh), 84px);--name-size: clamp(16px, min(1.45vw, 2.2svh), 23px);--summary-size: clamp(12px, min(1.08vw, 1.6svh), 16px);--date-size: clamp(12px, min(1.08vw, 1.62svh), 17px);flex:none;display:flex;flex-direction:column;justify-content:center;width:100%;height:var(--rail-item-h);text-align:left;font:inherit;color:inherit;padding:0;border:0;background:transparent;cursor:pointer;opacity:1;transform:translateZ(0);backface-visibility:hidden}.rail-item.is-active{--name-size: clamp(23px, min(2.15vw, 3.25svh), 37px);--summary-size: clamp(14px, min(1.28vw, 1.9svh), 19px);--thumb-size: clamp(66px, min(5.9vw, 9svh), 108px);--date-size: clamp(14px, min(1.28vw, 1.92svh), 20px)}.rail-item:focus-visible{outline:1px solid rgba(255,255,255,.5);outline-offset:-1px}.rail-row{display:flex;align-items:flex-start;gap:clamp(9px,.85vw,16px)}.rail-thumb{position:relative;flex:none;width:var(--thumb-size);aspect-ratio:1;overflow:hidden;border:1px solid #8b9296;border-radius:0;background:var(--dark);contain:layout paint;opacity:.4;transition:width .28s cubic-bezier(.22,1,.36,1),opacity .24s ease}.rail-item.is-active .rail-thumb{opacity:1}.rail-thumb>*{width:100%;height:100%}.rail-thumb img{display:block;object-fit:cover}.brick-thumb-image{-webkit-user-select:none;user-select:none}.rail-copy{display:flex;flex-direction:column;gap:clamp(4px,.6svh,8px);min-width:0;flex:1;padding-top:clamp(1px,.35svh,5px)}.rail-heading{display:flex;align-items:baseline;min-width:0}.rail-name{font-family:"Instrument Serif",Georgia,serif;font-weight:400;font-size:var(--name-size);letter-spacing:0;white-space:nowrap;color:#fff;text-shadow:0 1px 10px rgba(0,0,0,.6);transition:font-size .28s cubic-bezier(.22,1,.36,1)}.rail-date{margin-left:auto;padding-left:clamp(10px,.9vw,16px);flex:none;font-family:IBM Plex Sans,system-ui,sans-serif;font-size:var(--date-size);transition:font-size .28s cubic-bezier(.22,1,.36,1);letter-spacing:.02em;color:#ffffff80;text-shadow:0 1px 8px rgba(0,0,0,.6)}.rail-summary{display:-webkit-box;max-width:40ch;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2;font-family:IBM Plex Sans,system-ui,sans-serif;font-size:var(--summary-size);line-height:1.45;color:#ffffffa3;text-shadow:0 1px 8px rgba(0,0,0,.6);transition:font-size .28s cubic-bezier(.22,1,.36,1)}.hero.is-intro .projects-stage,.hero.is-intro .projects-rail{opacity:0}.hero.is-intro-ready .projects-stage,.hero.is-intro-ready .projects-rail{animation:hero-fade-in var(--intro-fade) ease-out var(--intro-text-delay) both}@media(prefers-reduced-motion:reduce){.hero.is-intro .projects-stage,.hero.is-intro .projects-rail{opacity:1;animation:none}}.about-panel{position:absolute;top:calc(var(--wire-top) + var(--nav-band));bottom:var(--wire-bottom-inset);z-index:3}.about-panel{left:var(--wire-left);display:flex;padding:var(--frame-pad);overflow-y:auto}.about-markdown{display:grid;justify-items:start;gap:clamp(14px,2.5svh,30px);width:fit-content;max-width:min(90%,1040px);margin:auto;text-align:left}.about-md-heading,.about-md-paragraph{margin:0;color:#ffffffc2;text-shadow:0 1px 14px rgba(0,0,0,.55)}.about-md-heading{max-width:28ch;font-family:"Instrument Serif",Georgia,serif;font-size:clamp(34px,min(3.4vw,5.2svh),64px);font-weight:400;line-height:1;letter-spacing:0;color:#fff}.about-md-paragraph{max-width:78ch;font-family:IBM Plex Sans,system-ui,sans-serif;font-size:clamp(16px,min(1.4vw,2.05svh),22px);font-weight:400;line-height:1.6;letter-spacing:0}.about-md-heading a,.about-md-paragraph a{border-bottom:none;color:#ffffffeb;text-decoration:none;transition:color .18s ease}.about-md-heading a:hover,.about-md-paragraph a:hover{color:#fff}.about-inline-icon{display:inline-block;width:1.05em;height:1.05em;margin:0 .18em;border-radius:.18em;vertical-align:-.13em;object-fit:cover;box-shadow:0 0 0 1px #ffffff2e}.hero.is-intro .about-panel{opacity:0}.hero.is-intro-ready .about-panel{animation:hero-fade-in var(--intro-fade) ease-out var(--intro-text-delay) both}@media(prefers-reduced-motion:reduce){.hero.is-intro .about-panel{opacity:1;animation:none}}.hero.is-compact{--hero-name-size: clamp(36px, min(11.5vw, 12svh), 72px);--hero-link-size: clamp(12px, min(3.4vw, 2.4svh), 15px);--hero-copy-size: clamp(12px, min(3.2vw, 2.1svh), 15px);--hero-icon-size: clamp(16px, min(4.6vw, 3svh), 20px);--rail-strip-h: clamp(70px, min(13svh, 22vw), 104px)}.hero.is-compact .frame-line.is-nav-down{visibility:hidden}.hero.is-compact .hero-links{width:100%}.hero.is-compact .hero-socials{left:auto;right:var(--wire-right-inset)}.hero.is-compact.is-projects .hero-socials{display:none}.hero.is-compact .projects-stage{left:var(--wire-left);right:var(--wire-right-inset);bottom:calc(var(--wire-bottom-inset) + var(--rail-strip-h))}.hero.is-compact .stage-inner{margin-top:0;max-width:100%}.hero.is-compact .stage-title{font-size:clamp(28px,min(8vw,6svh),44px)}.hero.is-compact .stage-cover{max-height:min(46svh,340px)}.hero.is-compact .projects-rail{top:auto;left:var(--wire-left);right:var(--wire-right-inset);bottom:var(--wire-bottom-inset);height:var(--rail-strip-h);overflow-x:auto;overflow-y:hidden;border-top:1px solid #8b9296}.hero.is-compact .projects-rail-track{position:static;flex-direction:row;align-items:center;justify-content:center;width:max-content;min-width:100%;height:100%;gap:clamp(14px,4vw,24px);padding:0 var(--frame-pad)}.hero.is-compact .projects-rail-spacer{display:none}.hero.is-compact .rail-item{--thumb-size: clamp(38px, calc(var(--rail-strip-h) - 34px), 62px);width:auto;height:auto}.hero.is-compact .rail-item.is-active{--thumb-size: clamp(48px, calc(var(--rail-strip-h) - 18px), 80px)}.hero.is-compact .rail-copy{display:none}.hero.is-compact .rail-row{align-items:center}.hero.is-compact .rail-item.is-active .rail-thumb{border-color:#fff}.hero.is-compact .about-panel{left:var(--wire-left);right:var(--wire-right-inset);padding-bottom:calc(var(--frame-pad-bottom) + var(--hero-icon-size) + 10px)}.hero.is-compact .about-markdown{gap:clamp(12px,2.5svh,18px)}.hero.is-compact .about-md-heading{font-size:clamp(22px,min(6vw,5svh),34px)}.hero.is-compact .about-md-paragraph{font-size:clamp(13px,min(3.6vw,2.4svh),16px)}
