*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--paper);color:var(--ink);font-family:var(--font-archivo), system-ui, sans-serif;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;margin:0;transition:background .35s,color .35s;overflow-x:hidden}::selection,a.exp-row:hover,a.cat-row:hover,a.edu-row:hover,a.edu-card:hover,.ref-card--mom,.tech-tag--acc,.nav-adjacent-item:hover{background:var(--acc);color:#fff}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}:root{--paper:#fff;--ink:#141210;--border:#141210;--panel:#e6e0d2;--dim:#686255;--acc:#0fbcf9;--rule:#14121029;color-scheme:light}:root[data-theme=dark]{--paper:#131210;--ink:#fff;--border:#333;--panel:#242019;--dim:#b0a99d;--acc:#0fbcf9;--rule:#f2eee42e;color-scheme:dark}@keyframes rise{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}@keyframes ticker{0%{transform:translate(0)}to{transform:translate(-50%)}}@keyframes barfill{0%{transform:scaleX(0)}to{transform:scaleX(1)}}[data-rv]{opacity:0;transition:opacity .8s cubic-bezier(.2,.8,.2,1),transform .8s cubic-bezier(.2,.8,.2,1);transform:translateY(26px)}[data-rv].in{opacity:1;transform:none}.mono{font-family:var(--font-spline-mono), monospace}.rule-b,.bb{border-bottom:3px solid var(--border)}.wrap{max-width:1360px;margin:0 auto}.bb-none{border-bottom:none!important}.bt-none{border-top:none!important}.ticker-wrap{background:var(--ink);border-bottom:3px solid var(--border);color:var(--paper);padding:10px 0;overflow:hidden}.ticker-track{font-family:var(--font-spline-mono), monospace;letter-spacing:.06em;text-transform:uppercase;gap:30px;width:max-content;font-size:14px;animation:30s linear infinite ticker;display:flex}.ticker-item{white-space:nowrap;align-items:center;gap:35px;display:inline-flex}.nav{background:var(--paper);border-bottom:3px solid var(--border);z-index:50;align-items:center;gap:15px;padding:14px clamp(16px,4vw,44px);display:flex;position:sticky;top:0}.nav-logo{font-family:var(--font-archivo-black), sans-serif;letter-spacing:-.02em;text-transform:uppercase;font-size:25px}.nav-burger{background:var(--paper);border:2px solid var(--ink);cursor:pointer;flex-direction:column;justify-content:center;align-items:center;gap:5px;width:35px;height:35px;margin-left:auto;display:none}.nav-burger span{background:var(--ink);width:18px;height:2px;transition:transform .25s,opacity .25s;display:block}.nav-burger[aria-expanded=true] span:first-child{transform:translateY(7px)rotate(45deg)}.nav-burger[aria-expanded=true] span:nth-child(2){opacity:0}.nav-burger[aria-expanded=true] span:nth-child(3){transform:translateY(-7px)rotate(-45deg)}.nav-panel{align-items:center;gap:15px;margin-left:auto;display:flex}.nav-links{font-family:var(--font-spline-mono), monospace;letter-spacing:.04em;text-transform:uppercase;flex-wrap:wrap;gap:10px;font-size:16px;display:flex}.nav-link{border:2px solid var(--ink);padding:5px 16px;transition:background .25s,color .25s}.nav-link:hover,.nav-link.active,.theme-toggle:hover{background:var(--ink);color:var(--paper)}.lang-group{font-family:var(--font-spline-mono), monospace;letter-spacing:.04em;gap:0;font-size:16px;display:flex}.lang-btn{border:2px solid var(--ink);border-left:none;padding:5px 16px;font-weight:600}.lang-btn:first-child{border-left:2px solid var(--ink)}.lang-btn.active,.filter-tab.is-active,.rec-pager-btn.is-active{background:var(--acc);border-color:var(--ink);color:#fff}.theme-toggle{background:var(--paper);border:2px solid var(--ink);color:var(--ink);cursor:pointer;justify-content:center;align-items:center;width:33px;height:33px;transition:background .25s,color .25s;display:flex}.theme-toggle .icon-sun,.theme-toggle .icon-moon,.cat-block.is-hidden,.rec-row.is-hidden{display:none}:root[data-theme=dark] .theme-toggle .icon-moon,:root[data-theme=light] .theme-toggle .icon-sun{display:block}.hero,.page-header{padding:clamp(28px,4vw,56px) clamp(16px,4vw,44px)}.hero-meta{color:var(--dim);font-family:var(--font-spline-mono), monospace;letter-spacing:.08em;text-transform:uppercase;justify-content:space-between;gap:10px;margin-bottom:clamp(15px,3vw,30px);font-size:14px;display:flex}.hero-title{font-family:var(--font-archivo-black), sans-serif;letter-spacing:-.04em;text-transform:uppercase;margin:0;font-size:clamp(52px,15vw,240px);line-height:1}.acc{color:var(--acc);margin-left:10px}.hero-grid{border-top:3px solid var(--border);grid-template-columns:repeat(auto-fit,minmax(260px,1fr));align-items:start;gap:clamp(20px,3vw,44px);margin-top:clamp(20px,3vw,40px);padding-top:clamp(20px,3vw,36px);display:grid}.hero-role{font-family:var(--font-archivo), sans-serif;letter-spacing:-.01em;text-transform:uppercase;font-size:clamp(19px,2.2vw,28px);font-weight:700;line-height:1.1}.hero-tagline{color:var(--dim);font-family:var(--font-archivo), sans-serif;margin:0;font-size:clamp(18px,1.6vw,20px);line-height:1.6}.hero-actions{flex-direction:column;gap:10px;display:flex}.btn-primary,.btn-outline{border:2px solid var(--ink);font-family:var(--font-spline-mono), monospace;letter-spacing:.04em;text-transform:uppercase;justify-content:space-between;gap:10px;padding:15px 20px;font-size:18px;font-weight:600;display:flex}.btn-primary{background:var(--acc);color:#fff;transition:transform .25s}.btn-primary:hover,.cta-btn-dark:hover{transform:translate(-3px,-3px)}.btn-outline{transition:background .25s,color .25s}.btn-outline:hover{background:var(--border);color:#fff}.portrait-grid,.about-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));display:grid}.portrait-frame{aspect-ratio:1;border-left:3px solid var(--border);border-right:3px solid var(--border);background:var(--panel);position:relative;overflow:hidden}.portrait-frame img,.port-thumb img,.ref-photo img,.rec-avatar img,.detail-hero-frame img{object-fit:cover;width:100%;height:100%}.portrait-cap{background:var(--border);color:#999;font-family:var(--font-spline-mono), monospace;letter-spacing:.08em;text-transform:uppercase;justify-content:space-between;align-items:center;padding:9px 14px 6px;font-size:13px;display:flex;position:absolute;bottom:0;left:0;right:0}.stats-grid{grid-template-columns:1fr 1fr;display:grid}.stat-cell{border-bottom:3px solid var(--border);border-right:3px solid var(--border);padding:clamp(20px,3vw,40px)}.stat-cell:nth-child(3),.stat-cell:nth-child(4),.exp-row:last-child,.course-group:last-child,.course-group>.course-items>.edu-row:last-child,.rec-row:last-child,.rec-row.no-border,.resp-row:last-child{border-bottom:none}.stat-code{color:var(--dim);font-family:var(--font-spline-mono), monospace;letter-spacing:.08em;text-transform:uppercase;font-size:13px}.stat-num{font-family:var(--font-archivo-black), sans-serif;letter-spacing:-.03em;margin-top:10px;font-size:clamp(44px,7vw,86px);line-height:.9}.stat-label{color:var(--dim);font-family:var(--font-archivo), sans-serif;margin-top:10px;font-size:16px;line-height:1.35}.stats-grid-exp{grid-template-columns:repeat(4,1fr);display:grid}.stat-cell-exp{border-right:3px solid var(--border);padding:clamp(20px,3vw,40px)}.stat-cell-exp:last-child{border-right:none}.about-col{border-right:3px solid var(--border);padding:clamp(28px,4vw,64px)}.eyebrow{color:var(--acc);font-family:var(--font-spline-mono), monospace;letter-spacing:.1em;text-transform:uppercase;align-items:center;gap:10px;margin-bottom:20px;font-size:16px;font-weight:700;display:flex}.about-heading{font-family:var(--font-archivo-black), sans-serif;letter-spacing:-.02em;text-transform:uppercase;margin:0 0 20px;font-size:clamp(26px,3.4vw,46px);line-height:1}.about-p,.projects-p{color:var(--dim);font-family:var(--font-archivo), sans-serif;margin:0 0 20px;font-size:clamp(18px,1.6vw,18px);line-height:1.7}.about-col .about-p+.about-p{margin:0}.about-p-desc,.projects-p-desc{margin:0;padding:clamp(22px,3vw,40px) clamp(16px,4vw,44px)}.skills-col{flex-direction:column;justify-content:center;gap:35px;padding:clamp(28px,4vw,64px);display:flex}.skill-head{font-family:var(--font-spline-mono), monospace;letter-spacing:.04em;text-transform:uppercase;justify-content:space-between;margin-bottom:10px;font-size:18px;display:flex}.skill-head .val,.section-link:hover,.rec-name:hover,.footer-top:hover{color:var(--acc)}.skill-bar{border:2px solid var(--border);height:15px;padding:1px}.skill-fill{background:var(--acc);transform-origin:0;height:100%;animation:1.5s cubic-bezier(.2,.8,.2,1) both barfill}.section-head{border-bottom:3px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding:clamp(20px,3vw,36px) clamp(16px,4vw,44px);display:flex}.section-title{font-family:var(--font-archivo-black), sans-serif;letter-spacing:-.02em;text-transform:uppercase;margin:0;font-size:clamp(24px,3.4vw,46px)}.section-title--sm{font-size:clamp(20px,2.6vw,32px)}.section-link{color:var(--dim);font-family:var(--font-spline-mono), monospace;letter-spacing:.06em;text-transform:uppercase;font-size:14px;transition:color .25s}.section-count{color:var(--dim);font-family:var(--font-spline-mono), monospace;letter-spacing:.06em;text-transform:uppercase;font-size:13px}.section-intro{color:var(--dim);font-family:var(--font-archivo), sans-serif;max-width:600px;margin:30px 0 0;font-size:18px;line-height:1.5}.exp-row{border-bottom:2px solid var(--rule);grid-template-columns:auto 1fr auto;align-items:center;gap:clamp(14px,3vw,34px);padding:clamp(16px,2.4vw,26px) clamp(16px,4vw,44px);transition:background .25s,color .25s;display:grid}.exp-idx{font-family:var(--font-spline-mono), monospace;width:35px;font-size:15px}.exp-main{flex-wrap:wrap;align-items:baseline;gap:clamp(12px,2.5vw,26px);min-width:0;display:flex}.exp-company{font-family:var(--font-archivo-black), sans-serif;letter-spacing:-.02em;text-transform:uppercase;font-size:clamp(20px,2.8vw,36px);line-height:1}.exp-role{font-family:var(--font-archivo), sans-serif;opacity:.75;font-size:18px}.exp-period{font-family:var(--font-spline-mono), monospace;white-space:nowrap;font-size:16px}.exp-stack-wrap,.policy-body{padding:clamp(24px,4vw,48px) clamp(16px,4vw,44px)}.focus{color:var(--dim);font-family:var(--font-spline-mono), monospace;letter-spacing:.1em;text-transform:uppercase;margin-bottom:20px;font-size:13px}.focus-container,.filter-tabs,.rec-pager-pages{flex-wrap:wrap;gap:10px;display:flex}.home.port-grid{border-top:none}.port-grid{border-top:3px solid var(--border);grid-template-columns:repeat(4,1fr);display:grid}.port-card{border-right:3px solid var(--border);border-bottom:3px solid var(--border);flex-direction:column;display:flex;position:relative}.port-card:nth-child(4n+1):before{background:var(--border);content:"";z-index:1;width:3px;position:absolute;top:0;bottom:0;left:0}.port-thumb{all:unset;aspect-ratio:16/11;background:var(--panel);border-bottom:3px solid var(--border);cursor:zoom-in;width:100%;display:block;position:relative}.lightbox{cursor:zoom-out;touch-action:none;z-index:100;background:#141210e6;justify-content:center;align-items:center;padding:clamp(20px,5vw,60px);display:none;position:fixed;inset:0}.lightbox.is-open{display:flex}.lightbox.is-dragging,.lightbox.is-dragging .lightbox-img{cursor:grabbing}.lightbox-img{cursor:pointer;user-select:none;-webkit-user-drag:none;width:auto;max-width:100%;max-height:90vh;transition:transform .25s;box-shadow:0 20px 60px #00000080}.lightbox-img.is-dragging{transition:none}.lightbox-close{background:var(--paper);border:3px solid var(--border);color:var(--ink);cursor:pointer;font-family:var(--font-spline-mono), monospace;width:40px;height:40px;font-size:16px;position:fixed;top:clamp(16px,4vw,40px);right:clamp(16px,4vw,40px)}.port-tag{background:var(--ink);color:var(--paper);font-family:var(--font-spline-mono), monospace;letter-spacing:.08em;text-transform:uppercase;padding:5px 9px;font-size:10px;position:absolute;top:0;left:0}.port-body{flex-direction:column;flex:1;gap:10px;padding:16px 18px;transition:background .25s;display:flex}.port-card:hover .port-body,.port-more:hover{background:var(--acc)}.port-card:hover .port-title,.port-card:hover .port-desc,.port-card:hover .port-sub,.port-card:hover .port-arrow,.port-more:hover .port-more-text,.port-more:hover .port-arrow,a.cat-row:hover .cat-arrow,a.edu-row:hover .edu-org,a.edu-row:hover .edu-date,a.edu-card:hover .edu-org,a.edu-card:hover .edu-date{color:#fff}.port-body-row{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.port-title{font-family:var(--font-archivo), sans-serif;letter-spacing:-.01em;text-transform:uppercase;font-size:18px;font-weight:700;transition:color .25s}.port-desc{color:var(--dim);font-family:var(--font-archivo), sans-serif;margin-top:5px;font-size:14px;font-weight:600;line-height:1.35;transition:color .25s}.port-sub{color:var(--dim);font-family:var(--font-spline-mono), monospace;letter-spacing:.02em;font-size:14px;line-height:1.5;transition:color .25s}.port-arrow{color:var(--acc);font-family:var(--font-spline-mono), monospace;font-size:18px;transition:color .25s}.port-more{text-align:center;justify-content:center;align-items:center;min-height:150px;padding:24px;transition:background .25s}.port-more-text{font-family:var(--font-archivo), sans-serif;letter-spacing:-.01em;text-transform:uppercase;font-size:16px;font-weight:700;transition:color .25s}.filter-bar{padding:clamp(16px,2.4vw,26px) clamp(16px,4vw,44px)}.filter-tab{background:var(--paper);border:2px solid var(--ink);color:var(--ink);cursor:pointer;font-family:var(--font-spline-mono), monospace;letter-spacing:.04em;text-transform:uppercase;padding:8px 16px;font-size:16px;font-weight:500;transition:background .25s,color .25s}.filter-tab:hover,.rec-pager-btn:hover:not(:disabled){background:var(--panel)}.filter-count{color:var(--dim);margin-left:8px}.filter-tab.is-active .filter-count,a.cat-row:hover .cat-sub{color:#fff;opacity:.85}.cat-group-head{color:var(--acc);font-family:var(--font-spline-mono), monospace;letter-spacing:.08em;text-transform:uppercase;align-items:baseline;gap:10px;padding:clamp(16px,2.4vw,26px) clamp(16px,4vw,44px);font-size:16px;font-weight:600;display:flex}.cat-group-count{color:var(--dim)}.cat-row{border-bottom:2px solid var(--rule);grid-template-columns:1fr auto;align-items:baseline;gap:clamp(10px,2vw,24px);padding:14px clamp(16px,4vw,44px);transition:background .25s,color .25s;display:grid}.cat-title{font-family:var(--font-archivo), sans-serif;letter-spacing:-.01em;text-transform:uppercase;font-size:16px;font-weight:700}.cat-sub{color:var(--dim);font-family:var(--font-spline-mono), monospace;font-size:11.5px}.cat-arrow{color:var(--acc);font-family:var(--font-spline-mono), monospace;font-size:13px}.edu-row{border-bottom:2px solid var(--rule);grid-template-columns:1fr auto;gap:10px;padding:15px clamp(15px,5vw,30px);display:grid}.edu-title{font-family:var(--font-archivo), sans-serif;font-size:18px;font-weight:700}.edu-org{font-family:var(--font-spline-mono), monospace;color:var(--dim);margin-top:5px;font-size:16px;transition:color .25s}.edu-date{color:var(--dim);font-family:var(--font-spline-mono), monospace;white-space:nowrap;font-size:16px;transition:color .25s}a.edu-row{color:inherit;text-decoration:none;transition:background .25s,color .25s}.skills-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));padding-top:3px;padding-left:3px;display:grid}.skill-cell{border:3px solid var(--border);margin-top:-3px;margin-left:-3px;padding:clamp(20px,2.6vw,34px) clamp(16px,4vw,44px)}.edu-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));padding-top:3px;padding-left:3px;display:grid}.edu-card{border:3px solid var(--border);color:inherit;margin-top:-3px;margin-left:-3px;padding:clamp(20px,2.6vw,32px) clamp(16px,4vw,28px);text-decoration:none;transition:background .25s,color .25s;display:block}a.edu-card:hover .edu-card-dash{background:#fff}.edu-card-top{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.edu-card-dash{background:var(--acc);width:22px;height:4px;transition:background .25s}.course-group{border-bottom:3px solid var(--border);grid-template-columns:minmax(160px,240px) 1fr;display:grid}.course-items{flex-direction:column;justify-content:center;display:flex}.course-items>.edu-row:only-child{flex:1;align-items:center}.course-group-label{border-right:3px solid var(--border);font-family:var(--font-archivo-black), sans-serif;letter-spacing:-.01em;text-transform:uppercase;padding:clamp(18px,2.4vw,30px) clamp(16px,3vw,28px);font-size:clamp(16px,2vw,24px);line-height:1}.tech-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));padding-top:3px;padding-left:3px;display:grid}.tech-card{border:3px solid var(--border);margin-top:-3px;margin-left:-3px;padding:clamp(20px,2.6vw,32px) clamp(16px,4vw,28px)}.tech-card-title{color:var(--acc);font-family:var(--font-spline-mono), monospace;letter-spacing:.06em;text-transform:uppercase;margin-bottom:15px;font-size:16px;font-weight:600}.tech-tags{flex-wrap:wrap;gap:7px;display:flex}.tech-tag{border:2px solid var(--ink);font-family:var(--font-spline-mono), monospace;padding:5px 10px;font-size:16px}.ref-grid{grid-template-columns:repeat(4,1fr);padding-top:3px;padding-left:3px;display:grid}.ref-card{border:3px solid var(--border);flex-direction:column;margin-top:-3px;margin-left:-3px;display:flex}.ref-photo{aspect-ratio:1;background:var(--panel);border-bottom:3px solid var(--border);position:relative;overflow:hidden}.ref-body{flex-direction:column;flex:1;gap:9px;padding:clamp(16px,2.2vw,24px);display:flex}.ref-name{font-family:var(--font-archivo-black), sans-serif;letter-spacing:-.02em;text-transform:uppercase;font-size:clamp(17px,2.1vw,24px);line-height:1}.ref-role{color:var(--dim);font-family:var(--font-archivo), sans-serif;font-size:16px;line-height:1.4}.ref-company{color:var(--ink);font-weight:600}.ref-btn{margin-top:auto;padding:10px 15px}.ref-card--mom .ref-photo{background:#00000021}.ref-card--mom .ref-body{justify-content:center}.ref-mom-label{font-family:var(--font-spline-mono), monospace;letter-spacing:.08em;opacity:.85;text-transform:uppercase;font-size:13px;font-weight:600}.ref-mom-name{font-family:var(--font-archivo-black), sans-serif;letter-spacing:-.02em;text-transform:uppercase;font-size:clamp(24px,3vw,38px);line-height:.95}.rec-row{border-bottom:3px solid var(--border);grid-template-columns:minmax(230px,320px) 1fr;display:grid}.rec-left{border-right:3px solid var(--border);flex-direction:column;gap:16px;padding:clamp(22px,3vw,40px) clamp(16px,3vw,32px);display:flex}.rec-num{color:var(--acc);font-family:var(--font-archivo-black), sans-serif;font-size:clamp(22px,4vw,44px);line-height:.9}.rec-person{align-items:center;gap:15px;display:flex}.rec-avatar{background:var(--panel);border:2px solid var(--border);flex:none;width:55px;height:55px;overflow:hidden}.rec-name{font-family:var(--font-archivo), sans-serif;letter-spacing:-.01em;text-transform:uppercase;align-items:baseline;gap:10px;font-size:18px;font-weight:700;line-height:1.1;transition:color .25s;display:inline-flex}.rec-role{color:var(--dim);font-family:var(--font-spline-mono), monospace;margin-top:5px;font-size:13px;line-height:1.4}.rec-company-tag{border:2px solid var(--border);font-family:var(--font-spline-mono), monospace;letter-spacing:.06em;text-transform:uppercase;align-self:flex-start;padding:5px 10px;font-size:13px}.rec-right{flex-direction:column;justify-content:center;padding:clamp(22px,3vw,40px) clamp(16px,4vw,44px);display:flex}.rec-quote-mark{color:var(--acc);font-family:var(--font-archivo-black), sans-serif;height:24px;margin-top:10px;font-size:clamp(38px,6vw,74px);line-height:0}.rec-quote{font-family:var(--font-archivo), sans-serif;margin:0;font-size:clamp(18px,1.6vw,18px);line-height:1.6}.rec-pager{border-top:solid 3px var(--border);flex-wrap:wrap;justify-content:center;align-items:center;gap:10px;padding:clamp(20px,3vw,32px) clamp(16px,4vw,44px);display:flex}.rec-pager-btn{background:var(--paper);border:2px solid var(--ink);color:var(--ink);cursor:pointer;font-family:var(--font-spline-mono), monospace;letter-spacing:.04em;text-transform:uppercase;min-width:40px;padding:8px 14px;font-size:14px;font-weight:500;transition:background .25s,color .25s}.rec-pager-btn:disabled{cursor:default;opacity:.35}.cta-section{background:var(--acc);border-bottom:3px solid var(--border);color:#fff}.cta-inner{padding:clamp(48px,8vw,120px) clamp(16px,4vw,44px)}.cta-eyebrow{font-family:var(--font-spline-mono), monospace;letter-spacing:.1em;opacity:.85;text-transform:uppercase;margin-bottom:24px;font-size:13px}.cta-heading{font-family:var(--font-archivo-black), sans-serif;letter-spacing:-.03em;text-transform:uppercase;margin:0 0 40px;font-size:clamp(38px,9vw,140px);line-height:.86}.cta-actions{font-family:var(--font-spline-mono), monospace;letter-spacing:.04em;text-transform:uppercase;flex-wrap:wrap;gap:12px;font-size:18px;font-weight:600;display:flex}.cta-btn-dark{background:var(--ink);border:2px solid var(--border);color:var(--paper);padding:14px 24px;transition:transform .25s}.cta-btn-light{border:2px solid #fff;padding:14px 24px;transition:background .25s,color .25s}.cta-btn-light:hover{color:var(--acc);background:#fff}.footer{color:var(--dim);font-family:var(--font-spline-mono), monospace;letter-spacing:.06em;text-transform:uppercase;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;max-width:1360px;margin:0 auto;padding:clamp(24px,3vw,40px) clamp(16px,4vw,44px);font-size:13px;display:flex}.footer-logo{color:var(--ink);font-family:var(--font-archivo-black), sans-serif;letter-spacing:-.01em;font-size:18px}.footer-top{transition:color .25s}.dot-shape{background:var(--acc);flex-shrink:0;width:10px;height:10px;display:inline-block}.dot-shape--circle{border-radius:50%}.dot-shape--square{border-radius:0}.detail-hero{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));display:grid}.detail-hero-body{border-right:3px solid var(--border);flex-direction:column;justify-content:center;padding:clamp(28px,4vw,60px) clamp(16px,4vw,44px);display:flex}.detail-hero-meta{font-family:var(--font-spline-mono), monospace;color:var(--dim);flex-wrap:wrap;gap:26px;margin-top:18px;font-size:16px;display:flex}.detail-hero-body .hero-role{margin-top:16px}.detail-hero-frame{background:var(--panel);border-right:3px solid var(--border);min-height:300px;position:relative;overflow:hidden}.resp-row{border-bottom:2px solid var(--rule);grid-template-columns:auto 1fr;gap:clamp(14px,3vw,40px);padding:clamp(22px,3vw,40px) clamp(16px,4vw,44px);display:grid}.resp-num{color:var(--acc);font-family:var(--font-archivo-black), sans-serif;font-size:clamp(28px,4vw,54px);line-height:.9}.resp-title{font-family:var(--font-archivo), sans-serif;letter-spacing:-.01em;text-transform:uppercase;margin:0 0 16px;font-size:clamp(17px,2.2vw,24px);font-weight:700}.resp-points{flex-direction:column;gap:11px;display:flex}.resp-point{align-items:flex-start;gap:12px;display:flex}.resp-point .dot-shape{margin-top:8px}.resp-point span{font-family:var(--font-archivo), sans-serif;color:var(--dim);font-size:18px;line-height:1.6}.nav-adjacent{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));padding-left:3px;display:grid}.nav-adjacent-item{border-left:3px solid var(--border);border-right:3px solid var(--border);margin-left:-3px;padding:clamp(24px,3vw,44px) clamp(16px,4vw,44px);transition:background .25s,color .25s}.nav-adjacent-dir{font-family:var(--font-spline-mono), monospace;letter-spacing:.08em;text-transform:uppercase;margin-bottom:14px;font-size:13px}.nav-adjacent-company{font-family:var(--font-archivo-black), sans-serif;text-transform:uppercase;letter-spacing:-.02em;font-size:clamp(24px,3.4vw,42px);line-height:.98}.nav-adjacent-period{font-family:var(--font-spline-mono), monospace;opacity:.7;margin-top:10px;font-size:16px}.crumb-bar{border-bottom:3px solid var(--border);color:var(--dim);font-family:var(--font-spline-mono), monospace;letter-spacing:.06em;text-transform:uppercase;padding:14px clamp(15px,4vw,0px);font-size:13px}.page-title{font-family:var(--font-archivo-black), sans-serif;letter-spacing:-.03em;text-transform:uppercase;margin:0;font-size:clamp(40px,10vw,140px);line-height:.86}.detail-hero-body .page-title{font-size:clamp(40px,10vw,65px)}.policy-section+.policy-section{margin-top:40px}.policy-body a{color:var(--acc);border-bottom:2px solid var(--acc);padding-bottom:2px;transition:all .25s}.policy-body a:hover{color:var(--dim);border-bottom:2px solid var(--dim)}.policy-body .about-p p,.policy-body .about-p ul{margin:0 0 15px}.policy-body .about-p p:last-child,.policy-body .about-p ul:last-child,.policy-body .policy-section:last-of-type .about-p{margin-bottom:0}.policy-body ul{padding-left:25px}.policy-body li+li{margin-top:5px}.comaporter{color:#e61493;border-bottom:2px solid #e61493;padding-bottom:2px;transition:all .25s}.comaporter:hover{color:var(--dim);border-bottom:2px solid var(--dim)}@media (width<=1100px){.nav{flex-wrap:wrap;padding-bottom:0}.nav.nav-open{padding-bottom:14px}.nav-burger{order:2;display:flex}.theme-toggle{order:3}.nav-panel{opacity:0;flex-direction:column;flex-basis:100%;order:4;align-items:stretch;gap:12px;max-height:0;margin-left:0;transition:max-height .3s,opacity .25s;overflow:hidden}.nav.nav-open .nav-panel{opacity:1;max-height:480px;margin-top:14px}.nav-links{flex-direction:column;gap:10px}.nav-link{text-align:center}.lang-group{justify-content:stretch}.lang-btn{text-align:center;flex:1}}@media (width<=960px){.about-col,.detail-hero-body,.stat-cell-exp:nth-child(2n){border-right:none}.detail-hero-frame{border-top:3px solid var(--border);border-left:3px solid var(--border)}.course-group{grid-template-columns:1fr}.course-group-label{border-right:none;border-bottom:3px solid var(--border);color:var(--acc)}.port-grid,.ref-grid,.stats-grid-exp{grid-template-columns:repeat(2,1fr)}.port-card:nth-child(odd):before{background:var(--border);content:"";z-index:1;width:3px;position:absolute;top:0;bottom:0;left:0}.stat-cell-exp{border-bottom:3px solid var(--border)}.stat-cell-exp:nth-last-child(-n+2){border-bottom:none}.hero-meta{display:none}}@media (width<=640px){.port-grid,.ref-grid,.rec-row,.resp-row,.edu-row{grid-template-columns:1fr}.rec-left{border-right:none}.nav-adjacent{grid-template-columns:1fr;padding-left:0}.nav-adjacent-item{border-left:3px solid var(--border);border-right:3px solid var(--border);border-bottom:3px solid var(--border);margin-left:0}.nav-adjacent-item:last-child{border-bottom:none}.port-card:before{background:var(--border);content:"";z-index:1;width:3px;position:absolute;top:0;bottom:0;left:0}.stat-cell:nth-child(odd){border-left:3px solid var(--border)}.exp-row{grid-template-columns:auto 1fr;grid-template-areas:"idx main""idx period"}.exp-idx{grid-area:idx}.exp-main{flex-direction:column;grid-area:main;gap:4px}.exp-period{grid-area:period;justify-self:start}.edu-row .edu-date{justify-self:start}.home.port-grid .port-card:nth-last-child(-n+1){border-bottom:none}}@media (width>=641px) and (width<=960px){.home.port-grid .port-card:nth-last-child(-n+2){border-bottom:none}.detail-hero-body .page-title{font-size:clamp(26px,5vw,48px)}}@media (width>=960px){.home.port-grid .port-card:nth-last-child(-n+4){border-bottom:none}}@media (width>=1400px){.cat-group-head{padding-left:0}}
