.skill-card.svelte-1f1pl16{background:var(--dark-blue);color:var(--cream);border:1px solid #ffffff20;flex-direction:column;justify-content:space-between;min-height:200px;padding:36px 28px 28px;transition:background .2s;display:flex;position:relative}.skill-card.svelte-1f1pl16:hover{background:var(--dark-blue2)}.skill-icon.svelte-1f1pl16{width:114px;height:114px;color:var(--red);margin:auto}.num.svelte-1f1pl16{font-family:var(--mono);letter-spacing:.18em;margin-bottom:auto;font-size:11px}.name.svelte-1f1pl16{font-family:var(--display);letter-spacing:-.02em;margin-top:32px;margin-bottom:4px;font-size:26px;font-weight:600}.kind.svelte-1f1pl16{font-family:var(--serif);color:var(--muted);font-size:14px;font-style:italic}@media (width<=640px){.skill-card.svelte-1f1pl16{flex-direction:row;justify-content:space-between;align-items:center;gap:16px;min-height:0;padding:22px}.skill-card.svelte-1f1pl16 .num:where(.svelte-1f1pl16){flex-shrink:0;order:2;margin-bottom:0}.skill-card.svelte-1f1pl16>div:where(.svelte-1f1pl16):last-child{text-align:left;order:1}.skill-card.svelte-1f1pl16 .name:where(.svelte-1f1pl16){margin-top:0;font-size:20px}.skill-card.svelte-1f1pl16 .kind:where(.svelte-1f1pl16){font-size:13px}}@media (width<=388px){.skill-icon.svelte-1f1pl16{width:50px;height:50px}}.cream.svelte-1e6mq4h{color:var(--dark-blue)}.blue.svelte-1e6mq4h{color:var(--cream)}.section-tag.svelte-1e6mq4h{font-family:var(--display);letter-spacing:-.02em;align-items:baseline;gap:22px;margin-bottom:72px;font-weight:600;display:flex}.section-tag.svelte-1e6mq4h .num:where(.svelte-1e6mq4h){font-family:var(--mono);letter-spacing:.18em;color:var(--red);text-transform:uppercase;padding-top:12px;font-size:13px;font-weight:500}.section-tag.svelte-1e6mq4h .title:where(.svelte-1e6mq4h){font-family:var(--display);font-size:56px;font-weight:700;line-height:1}.section-tag.svelte-1e6mq4h .rule:where(.svelte-1e6mq4h){opacity:.18;background:currentColor;flex:1;align-self:center;height:1px}.section-tag.svelte-1e6mq4h .meta:where(.svelte-1e6mq4h){font-family:var(--serif);opacity:.6;align-self:center;font-size:18px;font-style:italic}@media (width<=640px){.section-tag.svelte-1e6mq4h{flex-wrap:wrap;gap:8px;margin-bottom:44px}.section-tag.svelte-1e6mq4h .num:where(.svelte-1e6mq4h){flex-basis:100%;padding-top:0;font-size:11px}.section-tag.svelte-1e6mq4h .title:where(.svelte-1e6mq4h){font-size:38px;line-height:1}.section-tag.svelte-1e6mq4h .rule:where(.svelte-1e6mq4h),.section-tag.svelte-1e6mq4h .meta:where(.svelte-1e6mq4h){display:none}}.proj-card.svelte-1tes396{background:var(--cream);color:var(--ink);text-align:left;border:1px solid #1c314420;flex-direction:column;padding:0;transition:transform .22s,border-color .22s;display:flex;position:relative;overflow:hidden}.proj-card.svelte-1tes396:hover{border-color:var(--red);transform:translateY(-3px)}.proj-thumb.svelte-1tes396{background:var(--cream-2);border-bottom:1px solid #1c314420;justify-content:center;align-items:center;height:240px;display:flex;position:relative;overflow:hidden}.proj-body.svelte-1tes396{padding:28px 32px 32px}.proj-body.svelte-1tes396 h3:where(.svelte-1tes396){font-family:var(--display);letter-spacing:-.02em;margin:0 0 12px;font-size:28px;font-weight:600}.proj-body.svelte-1tes396 p:where(.svelte-1tes396){font-family:var(--serif);color:var(--ink);opacity:.85;margin:0 0 22px;font-size:16px;line-height:1.5}.proj-tags.svelte-1tes396{flex-wrap:wrap;gap:8px;margin-bottom:18px;display:flex}.tag.svelte-1tes396{color:var(--muted);font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;background:0 0;border:1px solid #1c314430;padding:3px 8px;font-size:10px}.proj-cta.svelte-1tes396{font-family:var(--mono);letter-spacing:.2em;text-transform:uppercase;color:var(--red);align-items:center;gap:8px;font-size:11px;display:inline-flex}.proj-cta.svelte-1tes396 .arrow:where(.svelte-1tes396){transition:transform .2s;display:inline-block}.proj-card.svelte-1tes396:hover .proj-cta:where(.svelte-1tes396) .arrow:where(.svelte-1tes396){transform:translate(4px)}.proj-card.empty.svelte-1tes396{min-height:460px;color:var(--muted);cursor:default;background:0 0;border:1px dashed #1c314440;justify-content:center;align-items:center}.proj-card.empty.svelte-1tes396:hover{border-color:#1c314440;transform:none}.proj-card.empty.svelte-1tes396 .label:where(.svelte-1tes396){font-family:var(--display);letter-spacing:-.01em;color:var(--ink);font-size:22px;font-weight:600}.proj-card.empty.svelte-1tes396 .sub:where(.svelte-1tes396){font-family:var(--serif);margin-top:6px;font-size:15px;font-style:italic}.modal-backdrop.svelte-1tes396{background-color:color-mix(in srgb, var(--dark-blue) 85%, transparent);z-index:200;justify-content:center;align-items:center;padding:2rem;animation:.18s svelte-1tes396-fadeIn;display:flex;position:fixed;inset:0}@keyframes svelte-1tes396-fadeIn{0%{opacity:0}to{opacity:1}}.modal.svelte-1tes396{background:var(--cream);color:var(--ink);border:1px solid var(--ink);width:100%;max-width:720px;max-height:85vh;padding:40px 44px 44px;position:relative;overflow:auto}.close-btn.svelte-1tes396{color:var(--muted);font-family:var(--mono);background:0 0;border:none;font-size:22px;line-height:1;transition:color .18s;position:absolute;top:14px;right:18px}.close-btn.svelte-1tes396:hover{color:var(--red)}.modal-num.svelte-1tes396{font-family:var(--mono);letter-spacing:.2em;text-transform:uppercase;color:var(--red);margin-bottom:10px;font-size:11px}.modal-title.svelte-1tes396{font-family:var(--display);letter-spacing:-.025em;margin:0 0 8px;font-size:36px;font-weight:700}.modal-sub.svelte-1tes396{font-family:var(--serif);color:var(--muted);border-bottom:1px solid #1c314420;margin-bottom:24px;padding-bottom:20px;font-size:17px;font-style:italic}.modal-images.svelte-1tes396{background:var(--cream-2);border:1px solid #1c314420;justify-content:center;margin-top:0;padding:32px;display:flex}.modal-images.svelte-1tes396 img:where(.svelte-1tes396){object-fit:cover;flex:200px;max-width:100%;height:380px}.modal-tech.svelte-1tes396{flex-wrap:wrap;gap:.4rem;margin:24px 0 18px;padding:0;list-style:none;display:flex}.modal-description.svelte-1tes396{font-family:var(--serif);color:var(--ink);opacity:.9;font-size:17px;line-height:1.55}.modal-links.svelte-1tes396{font-family:var(--mono);letter-spacing:.16em;text-transform:uppercase;margin-top:22px;font-size:12px}.modal-links.svelte-1tes396 a:where(.svelte-1tes396){color:var(--red);border-bottom:1px solid var(--red);padding-bottom:2px;text-decoration:none}@media (width<=960px){.proj-card.empty.svelte-1tes396{min-height:280px}}@media (width<=640px){.proj-thumb.svelte-1tes396{height:180px}.proj-body.svelte-1tes396{padding:22px 22px 24px}.proj-body.svelte-1tes396 h3:where(.svelte-1tes396){font-size:22px}.proj-body.svelte-1tes396 p:where(.svelte-1tes396){font-size:15px}.modal-backdrop.svelte-1tes396{padding:16px}.modal.svelte-1tes396{padding:28px 22px}.modal.svelte-1tes396 h2:where(.svelte-1tes396){font-size:26px}}.navstack.svelte-1uha8ag{z-index:50;pointer-events:none;mix-blend-mode:difference;flex-direction:column;justify-content:center;align-items:stretch;width:200px;height:100vh;display:flex;position:fixed;top:0;right:0}nav.svelte-1uha8ag{flex-direction:column;display:flex}nav.svelte-1uha8ag .navinner:where(.svelte-1uha8ag){pointer-events:auto;font-family:var(--serif);border-left:1px solid #ffffff20;flex-direction:column;gap:12px;padding:24px 32px 24px 22px;font-size:17px;font-style:italic;display:flex}nav.svelte-1uha8ag a:where(.svelte-1uha8ag){color:#c8c8c8;letter-spacing:.01em;align-items:center;gap:8px;text-decoration:none;transition:color .2s;display:flex}nav.svelte-1uha8ag a:where(.svelte-1uha8ag):before{content:">";height:17px;color:var(--red);opacity:0;line-height:15px;transition:opacity .2s;display:inline-block}nav.svelte-1uha8ag a.active:where(.svelte-1uha8ag){color:var(--red)}nav.svelte-1uha8ag a.active:where(.svelte-1uha8ag):before{opacity:1}.nav-toggle.svelte-1uha8ag{pointer-events:auto;border:1px solid var(--red);color:var(--red);mix-blend-mode:difference;cursor:pointer;z-index:101;background-color:#0000;border-radius:50%;justify-content:center;align-items:center;width:44px;height:44px;padding:8px;display:none;position:fixed;top:50%;right:5vw;transform:translateY(-50%)}.nav-arrow.svelte-1uha8ag{transition:transform .3s;transform:rotate(0)}.nav-arrow.open.svelte-1uha8ag{transform:rotate(90deg)}@media (width<=1000px){.navstack.svelte-1uha8ag{mix-blend-mode:normal}.nav-toggle.svelte-1uha8ag{display:flex}nav.svelte-1uha8ag{background-color:var(--dark-blue);border-left:3px solid var(--red);align-items:flex-start;gap:0;height:100vh;padding:80px 50px 40px 40px;transition:transform .3s;position:fixed;top:0;right:0;transform:translate(100%)}nav.open.svelte-1uha8ag{transform:translate(0)}nav.svelte-1uha8ag a:where(.svelte-1uha8ag){border-bottom:1px solid color-mix(in srgb, var(--red) 30%, transparent);align-self:flex-start;width:100%;padding:6px 0;font-size:23px!important}nav.svelte-1uha8ag a:where(.svelte-1uha8ag):first-child{border-top:1px solid color-mix(in srgb, var(--red) 30%, transparent)}}section.svelte-1uha8ag{padding:140px 240px 160px 96px;position:relative;overflow:hidden}@media (width<=1000px){section.svelte-1uha8ag{padding:140px 160px 96px}}section.cream.svelte-1uha8ag{background:var(--cream);color:var(--ink)}section.dark-blue.svelte-1uha8ag{background:var(--dark-blue);color:var(--cream)}section.cream-alt.svelte-1uha8ag{background:var(--cream-2);color:var(--ink)}.home.svelte-1uha8ag{height:100vh;color:var(--cream);flex-direction:column;justify-content:center;align-items:center;display:flex}.home.svelte-1uha8ag .topbar:where(.svelte-1uha8ag){font-family:var(--mono);letter-spacing:.2em;text-transform:uppercase;opacity:.55;justify-content:space-between;align-items:center;font-size:11px;display:flex;position:absolute;top:36px;left:96px;right:240px}.home.svelte-1uha8ag .topbar:where(.svelte-1uha8ag) .brand:where(.svelte-1uha8ag){color:var(--cream);opacity:1}.home.svelte-1uha8ag .topbar:where(.svelte-1uha8ag) .brand:where(.svelte-1uha8ag) .dot:where(.svelte-1uha8ag){color:var(--red);margin-right:6px}.home.svelte-1uha8ag .inner:where(.svelte-1uha8ag){text-align:left;max-width:1100px;margin:0 auto}.home.svelte-1uha8ag .inner:where(.svelte-1uha8ag) .eyebrow:where(.svelte-1uha8ag){font-family:var(--mono);letter-spacing:.28em;text-transform:uppercase;color:var(--cream);opacity:.55;margin-bottom:28px;font-size:11px}.home.svelte-1uha8ag .inner:where(.svelte-1uha8ag) .eyebrow:where(.svelte-1uha8ag) .marker:where(.svelte-1uha8ag){color:var(--red);opacity:1}.home.svelte-1uha8ag h1:where(.svelte-1uha8ag){font-family:var(--display);letter-spacing:-.045em;color:var(--cream);margin:0;font-size:clamp(72px,11vw,168px);font-weight:700;line-height:.92}.home.svelte-1uha8ag h2:where(.svelte-1uha8ag){font-family:var(--serif);letter-spacing:-.02em;font-style:italic;font-weight:400}.home.svelte-1uha8ag .tagline:where(.svelte-1uha8ag){font-family:var(--serif);color:var(--cream);opacity:.85;max-width:640px;margin-top:36px;font-size:clamp(20px,2vw,26px);font-style:italic;line-height:1.35}.home.svelte-1uha8ag .tagline:where(.svelte-1uha8ag) .accent:where(.svelte-1uha8ag){color:var(--red);font-style:normal}.home.svelte-1uha8ag .lower:where(.svelte-1uha8ag){font-family:var(--mono);letter-spacing:.2em;text-transform:uppercase;opacity:.55;justify-content:space-between;align-items:flex-end;gap:24px;font-size:11px;display:flex;position:absolute;bottom:56px;left:96px;right:240px}.home.svelte-1uha8ag .lower:where(.svelte-1uha8ag) .col:where(.svelte-1uha8ag){flex-direction:column;gap:4px;display:flex}.home.svelte-1uha8ag .lower:where(.svelte-1uha8ag) .col:where(.svelte-1uha8ag) .label:where(.svelte-1uha8ag){color:var(--red);opacity:1}.home.svelte-1uha8ag .scroll-cue:where(.svelte-1uha8ag){color:var(--cream);opacity:.5;font-family:var(--mono);letter-spacing:.3em;text-transform:uppercase;align-items:center;gap:10px;font-size:10px;display:flex;position:absolute;bottom:32px;left:50%;transform:translate(-50%)}.home.svelte-1uha8ag .scroll-cue:where(.svelte-1uha8ag) .arrow:where(.svelte-1uha8ag){background:currentColor;width:1px;height:28px;position:relative}.home.svelte-1uha8ag .scroll-cue:where(.svelte-1uha8ag) .arrow:where(.svelte-1uha8ag):after{content:"";transform-origin:50%;border-bottom:1px solid;border-right:1px solid;width:7px;height:7px;position:absolute;top:auto;bottom:0;left:-3px;transform:rotate(45deg)}.red.svelte-1uha8ag{color:var(--red)}.skills-container.svelte-1uha8ag{background:var(--ink);opacity:.96;border:1px solid #ffffff20;grid-template-columns:repeat(4,1fr);display:grid}.cream-bg.svelte-1uha8ag{background-color:var(--cream-2)}.projects-container.svelte-1uha8ag{grid-template-columns:repeat(2,1fr);gap:36px;display:grid}.jobs.svelte-1uha8ag{flex-direction:column;display:flex}.xp-row.svelte-1uha8ag{border-top:1px solid #ffffff18;grid-template-columns:220px 1fr;gap:56px;padding:44px 0;display:grid}.xp-row.svelte-1uha8ag:last-child{border-bottom:1px solid #ffffff18}.xp-row.svelte-1uha8ag .date:where(.svelte-1uha8ag){font-family:var(--mono);letter-spacing:.04em;color:var(--cream);font-size:13px}.xp-row.svelte-1uha8ag .date:where(.svelte-1uha8ag) .dur:where(.svelte-1uha8ag){color:#ffffff60;letter-spacing:.16em;text-transform:uppercase;margin-top:8px;font-size:11px;display:block}.xp-row.svelte-1uha8ag .role-block:where(.svelte-1uha8ag) .head:where(.svelte-1uha8ag){justify-content:space-between;align-items:baseline;gap:24px;margin-bottom:6px;display:flex}.xp-row.svelte-1uha8ag .role-block:where(.svelte-1uha8ag) h3:where(.svelte-1uha8ag){font-family:var(--display);letter-spacing:-.02em;color:var(--cream);margin:0;font-size:30px;font-weight:600}.xp-row.svelte-1uha8ag .role-block:where(.svelte-1uha8ag) .place:where(.svelte-1uha8ag){font-family:var(--serif);color:#ffffff70;text-align:right;white-space:nowrap;font-size:16px;font-style:italic}.xp-row.svelte-1uha8ag .role-block:where(.svelte-1uha8ag) .role-title:where(.svelte-1uha8ag){font-family:var(--serif);color:var(--red);margin-bottom:18px;font-size:18px;font-style:italic}.xp-row.svelte-1uha8ag .role-block:where(.svelte-1uha8ag) .stack:where(.svelte-1uha8ag){flex-wrap:wrap;gap:8px;margin-bottom:20px;display:flex}.xp-row.svelte-1uha8ag .role-block:where(.svelte-1uha8ag) .stack:where(.svelte-1uha8ag) .chip:where(.svelte-1uha8ag){font-family:var(--mono);color:#ffffff85;letter-spacing:.08em;text-transform:uppercase;border-color:#ffffff25;padding:3px 8px;font-size:10px}.xp-row.svelte-1uha8ag ul:where(.svelte-1uha8ag){flex-direction:column;gap:14px;max-width:760px;margin:0;padding:0;list-style:none;display:flex}.xp-row.svelte-1uha8ag li:where(.svelte-1uha8ag){font-family:var(--serif);color:var(--cream);opacity:.92;padding-left:22px;font-size:17px;line-height:1.55;position:relative}.xp-row.svelte-1uha8ag li:where(.svelte-1uha8ag):before{content:"";background:var(--red);width:8px;height:1px;position:absolute;top:12px;left:0}.schools.svelte-1uha8ag{grid-template-columns:1fr 1fr;gap:36px;display:grid}.school.svelte-1uha8ag{background:var(--cream);border:1px solid #1c314420;padding:40px 36px 36px;position:relative}.school-name.svelte-1uha8ag{font-family:var(--display);letter-spacing:-.02em;color:var(--ink);margin:0 0 4px;font-size:28px;font-weight:600}.degree.svelte-1uha8ag{font-family:var(--mono);letter-spacing:.2em;text-transform:uppercase;color:var(--red);margin-bottom:16px;font-size:11px}.school-description.svelte-1uha8ag{font-size:20px;font-family:var(--serif);margin-top:20px;margin-left:25px}.school.svelte-1uha8ag .where:where(.svelte-1uha8ag){font-family:var(--serif);color:var(--muted);border-bottom:1px solid #1c314420;margin-bottom:20px;padding-bottom:20px;font-size:16px;font-style:italic}.school.svelte-1uha8ag ul:where(.svelte-1uha8ag){flex-direction:column;gap:14px;margin:0;padding:0;list-style:none;display:flex}.school.svelte-1uha8ag li:where(.svelte-1uha8ag){font-family:var(--serif);color:var(--ink);padding-left:22px;font-size:16px;line-height:1.55;position:relative}.school.svelte-1uha8ag li:where(.svelte-1uha8ag):before{content:"";background:var(--red);width:8px;height:1px;position:absolute;top:12px;left:0}.about-grid.svelte-1uha8ag{grid-template-columns:1.4fr 1fr;align-items:start;gap:96px;display:grid}.about-side.svelte-1uha8ag{font-family:var(--mono);letter-spacing:.22em;text-transform:uppercase;color:var(--red);padding-top:14px;font-size:11px}.about-body.svelte-1uha8ag p:where(.svelte-1uha8ag){font-family:var(--serif);color:var(--cream);opacity:.88;max-width:620px;margin:0 0 22px;font-size:19px;line-height:1.55}.quiet-link.svelte-1uha8ag{color:inherit;opacity:.85;border-bottom:1px solid;padding-bottom:1px;text-decoration:none;transition:opacity .18s,color .18s}.quiet-link.svelte-1uha8ag:hover{color:var(--red);opacity:1;border-bottom-color:var(--red)}.about-body.svelte-1uha8ag p:where(.svelte-1uha8ag):last-child{margin-bottom:0}.about-side.svelte-1uha8ag{background:#ffffff15;border:1px solid #ffffff18;grid-template-columns:1fr 1fr;gap:1px;display:grid}.about-fact.svelte-1uha8ag{background:var(--navy);padding:22px 24px 24px}.about-fact.svelte-1uha8ag .label:where(.svelte-1uha8ag){font-family:var(--mono);letter-spacing:.22em;text-transform:uppercase;color:var(--red);margin-bottom:10px;font-size:10px}.about-fact.svelte-1uha8ag .value:where(.svelte-1uha8ag){font-family:var(--display);letter-spacing:-.01em;color:var(--cream);font-size:17px;font-weight:500}.about-fact.svelte-1uha8ag .value:where(.svelte-1uha8ag) a:where(.svelte-1uha8ag){color:inherit}.info.svelte-1uha8ag svg:where(.svelte-1uha8ag){width:16px;height:16px}.contact-wrap.svelte-1uha8ag{grid-template-columns:1.1fr 1fr;align-items:start;gap:96px;display:grid}.contact-blurb.svelte-1uha8ag h3:where(.svelte-1uha8ag){font-family:var(--display);letter-spacing:-.035em;margin:0 0 28px;font-size:clamp(44px,5vw,76px);font-weight:700;line-height:.95}.contact-blurb.svelte-1uha8ag h3:where(.svelte-1uha8ag) .ital:where(.svelte-1uha8ag){font-family:var(--serif);color:var(--red);letter-spacing:-.02em;font-style:italic;font-weight:400}.contact-blurb.svelte-1uha8ag p:where(.svelte-1uha8ag){font-family:var(--serif);max-width:440px;color:var(--ink);opacity:.85;margin:0 0 32px;font-size:18px;line-height:1.5}.contact-blurb.svelte-1uha8ag .info:where(.svelte-1uha8ag){flex-direction:column;gap:12px;display:flex}.contact-blurb.svelte-1uha8ag .info:where(.svelte-1uha8ag) a:where(.svelte-1uha8ag){color:var(--ink);font-family:var(--mono);border-bottom:1px solid #1c314415;grid-template-columns:72px 20px auto;align-items:center;gap:14px;padding:10px 0;font-size:13px;text-decoration:none;transition:color .18s;display:grid}.contact-blurb.svelte-1uha8ag .info:where(.svelte-1uha8ag) a:where(.svelte-1uha8ag):hover{color:var(--red)}.contact-blurb.svelte-1uha8ag .info:where(.svelte-1uha8ag) .label:where(.svelte-1uha8ag){color:var(--red);letter-spacing:.2em;text-transform:uppercase;font-size:10px}.contact-form.svelte-1uha8ag{flex-direction:column;gap:20px;display:flex}.field.svelte-1uha8ag{flex-direction:column;gap:8px;display:flex}.field.svelte-1uha8ag label:where(.svelte-1uha8ag){font-family:var(--mono);letter-spacing:.2em;text-transform:uppercase;color:var(--muted);font-size:10px}.field.svelte-1uha8ag input:where(.svelte-1uha8ag),.field.svelte-1uha8ag textarea:where(.svelte-1uha8ag){font:inherit;font-family:var(--serif);color:var(--ink);resize:vertical;background:0 0;border:none;border-bottom:1px solid #1c314430;outline:none;padding:12px 0;font-size:17px;transition:border-color .2s}.field.svelte-1uha8ag input:where(.svelte-1uha8ag):focus,.field.svelte-1uha8ag textarea:where(.svelte-1uha8ag):focus{border-bottom-color:var(--red)}.submit.svelte-1uha8ag{background:var(--ink);color:var(--cream);font-family:var(--display);letter-spacing:.12em;text-transform:uppercase;border:none;justify-content:center;align-self:flex-start;align-items:center;gap:12px;min-width:220px;margin-top:12px;padding:18px 22px;font-size:15px;font-weight:600;transition:background .18s;display:inline-flex}.submit.svelte-1uha8ag:hover{background:var(--red)}footer.svelte-1uha8ag{background:var(--navy);color:var(--cream);padding:80px 240px 56px 96px}.footer-wrap.svelte-1uha8ag{border-bottom:1px solid #ffffff15;justify-content:space-between;align-items:center;gap:24px;padding-bottom:48px;display:flex}.footer-wrap.svelte-1uha8ag .signoff:where(.svelte-1uha8ag){font-family:var(--display);letter-spacing:-.035em;font-size:clamp(36px,4.5vw,72px);font-weight:700;line-height:1}.footer-wrap.svelte-1uha8ag .signoff:where(.svelte-1uha8ag) .period:where(.svelte-1uha8ag){color:var(--red)}.footer-social.svelte-1uha8ag{gap:18px;display:flex}.footer-social.svelte-1uha8ag a:where(.svelte-1uha8ag){width:44px;height:44px;color:var(--cream);opacity:.7;border:1px solid #ffffff30;border-radius:50%;justify-content:center;align-items:center;text-decoration:none;transition:opacity .2s,border-color .2s,color .2s;display:flex}.footer-social.svelte-1uha8ag a:where(.svelte-1uha8ag):hover{opacity:1;border-color:var(--red);color:var(--red)}.copyright.svelte-1uha8ag{font-family:var(--mono);letter-spacing:.22em;text-transform:uppercase;opacity:.5;justify-content:space-between;margin-top:32px;font-size:11px;display:flex}@media (width<=960px){.skills-container.svelte-1uha8ag{grid-template-columns:repeat(2,1fr)}.head.svelte-1uha8ag{width:100%;max-width:100%}.jobs.svelte-1uha8ag{flex-direction:column;display:flex}input.svelte-1uha8ag,textarea.svelte-1uha8ag,.contact-form.svelte-1uha8ag button:where(.svelte-1uha8ag){width:100%}}@media (width<=838px){.degree.svelte-1uha8ag{width:100%}}@media (width<=700px){section.svelte-1uha8ag{padding:80px 22px 88px}.skills-container.svelte-1uha8ag{grid-template-columns:1fr}}@media (width<=960px){.home.svelte-1uha8ag .topbar:where(.svelte-1uha8ag){display:none}section.svelte-1uha8ag{padding:96px 56px 100px}.home.svelte-1uha8ag{padding:110px 56px 80px}.home.svelte-1uha8ag .lower:where(.svelte-1uha8ag){bottom:44px;left:56px;right:56px}footer.svelte-1uha8ag{padding:64px 56px 48px}.skills-container.svelte-1uha8ag{grid-template-columns:repeat(2,1fr)}.projects-container.svelte-1uha8ag{grid-template-columns:1fr;gap:28px}.schools.svelte-1uha8ag,.xp-row.svelte-1uha8ag{grid-template-columns:1fr;gap:24px}.xp-row.svelte-1uha8ag .date:where(.svelte-1uha8ag){padding-top:0}.xp-row.svelte-1uha8ag .role-block:where(.svelte-1uha8ag) .head:where(.svelte-1uha8ag){flex-direction:column;align-items:flex-start;gap:4px}.xp-row.svelte-1uha8ag .role-block:where(.svelte-1uha8ag) .place:where(.svelte-1uha8ag){text-align:left;white-space:normal}.jobs.svelte-1uha8ag{grid-template-columns:1fr;gap:24px}.about-grid.svelte-1uha8ag{grid-template-columns:1fr;gap:48px}.contact-wrap.svelte-1uha8ag{grid-template-columns:1fr;gap:56px}.footer-wrap.svelte-1uha8ag{flex-direction:column;align-items:flex-start;gap:28px}.copyright.svelte-1uha8ag{flex-direction:column;gap:8px}}@media (width<=640px){section.svelte-1uha8ag{padding:80px 22px 88px}.home.svelte-1uha8ag{min-height:auto;padding:110px 22px 100px}.scroll-cue.svelte-1uha8ag{display:none}.home.svelte-1uha8ag .lower:where(.svelte-1uha8ag){border-top:1px solid #ffffff20;flex-direction:column;align-items:flex-start;gap:18px;margin-top:40px;padding-top:28px;position:static;bottom:auto;left:auto;right:auto}.home.svelte-1uha8ag .tagline:where(.svelte-1uha8ag){margin-top:24px;font-size:17px}.home.svelte-1uha8ag h1:where(.svelte-1uha8ag){font-size:clamp(56px,14vw,88px);line-height:.94}.home.svelte-1uha8ag .eyebrow:where(.svelte-1uha8ag){letter-spacing:.22em;margin-bottom:22px;font-size:10px}.skills-container.svelte-1uha8ag{grid-template-columns:1fr}.xp-row.svelte-1uha8ag{gap:18px;padding:32px 0}.xp-row.svelte-1uha8ag .role-block:where(.svelte-1uha8ag) h3:where(.svelte-1uha8ag){font-size:24px}.xp-row.svelte-1uha8ag li:where(.svelte-1uha8ag){font-size:15px}.xp-row.svelte-1uha8ag .role-block:where(.svelte-1uha8ag) .stack:where(.svelte-1uha8ag){gap:6px}.school.svelte-1uha8ag{padding:28px 24px 24px}.school.svelte-1uha8ag h3:where(.svelte-1uha8ag){font-size:22px}.about-body.svelte-1uha8ag p:where(.svelte-1uha8ag){font-size:16px}.about-side.svelte-1uha8ag{grid-template-columns:1fr}.contact-blurb.svelte-1uha8ag h3:where(.svelte-1uha8ag){font-size:40px;line-height:1}.contact-blurb.svelte-1uha8ag p:where(.svelte-1uha8ag){font-size:16px}.contact-blurb.svelte-1uha8ag .info:where(.svelte-1uha8ag) a:where(.svelte-1uha8ag){grid-template-columns:56px 18px auto;gap:10px;font-size:12px}.submit.svelte-1uha8ag{width:100%;min-width:0}footer.svelte-1uha8ag{padding:56px 22px 40px}.footer-wrap.svelte-1uha8ag .signoff:where(.svelte-1uha8ag){font-size:38px}}
