:root{--sky: #BCD2DA;--ridge-far: #A3BEC8;--ridge-near: #86A5AC;--ink: #12231D;--ink-soft: #2C3E37;--t1: #1E4235;--t2: #2F4F2E;--t3: #4C5324;--t4: #74341F;--t5: #572A1E;--t6: #3A2B25;--t7: #2C2420;--on-plane: #F0ECDF;--on-plane-soft: #D5D1BF;--ground: #DDE2D6;--valley: #16211C;--mine-0: #E6E0CD;--mine-1: #D5CFBA;--mine-2: #C5BFA9;--team-0: #808A78;--team-1: #717B69;--team-2: #636D5D;--font-display: "Besley", Georgia, serif;--font-text: "Alegreya Sans", ui-sans-serif, system-ui, sans-serif;--gutter: clamp(16px, 4vw, 40px)}[data-theme=dark]{--sky: #0F1B26;--ridge-far: #16283A;--ridge-near: #1B3341;--ink: #EAE7D9;--ink-soft: #BFC4B8;--t1: #12291F;--t2: #1A2D1A;--t3: #2B2F15;--t4: #431D12;--t5: #32180F;--t6: #211815;--t7: #1A1411;--ground: #17221C;--valley: #0B110E;--mine-0: #B8B3A2;--mine-1: #A7A292;--mine-2: #979283;--team-0: #56604F;--team-1: #4B5546;--team-2: #414A3D}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;scroll-padding-top:56px;overflow-x:clip;scrollbar-color:var(--team-1) var(--sky)}body{font-family:var(--font-text);font-size:1.1875rem;line-height:1.5;background:var(--sky);color:var(--ink);font-variant-numeric:lining-nums;-webkit-font-smoothing:antialiased;overflow-x:clip}a{color:inherit}ul,ol{list-style:none}img,svg{display:block}button{font:inherit;color:inherit;background:none;border:none;cursor:pointer}h1,h2,h3{font-family:var(--font-display);font-weight:800;text-wrap:balance}::selection{background:var(--mine-1);color:#12231d}:focus-visible{outline:2px solid currentColor;outline-offset:3px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.shell{max-width:1240px;margin:0 auto;padding:0 var(--gutter)}.figures{font-variant-numeric:tabular-nums lining-nums}.nowrap{white-space:nowrap}.text-link{font-weight:700;text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:4px}.text-link:hover{text-decoration-thickness:4px}.nav{position:sticky;top:0;z-index:10;background:var(--sky);transition:background-color .4s}.nav-inner{display:flex;align-items:center;justify-content:space-between;gap:16px;height:56px}.nav-brand{font-family:var(--font-display);font-weight:800;font-size:1.0625rem;text-decoration:none;white-space:nowrap}.nav-links{display:flex;align-items:center;gap:clamp(14px,3vw,28px)}.nav-links a{font-weight:500;text-decoration:none}.nav-links a:hover{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:4px}.theme-toggle{min-height:36px;font-weight:700;text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:4px}.sky{position:relative;overflow:hidden;background:var(--sky);transition:background-color .4s}.ridges{position:absolute;left:0;right:0;bottom:0;width:100%;height:46%}.ridge-far{fill:var(--ridge-far)}.ridge-near{fill:var(--ridge-near)}.hero-grid{position:relative;display:grid;grid-template-columns:minmax(0,7.5fr) minmax(0,4fr);gap:clamp(24px,4vw,56px);align-items:end;min-height:calc(100svh - 204px);padding-top:clamp(24px,5vh,56px)}.hero-copy{align-self:start;padding-bottom:48px}h1{font-size:clamp(2.375rem,5.6vw,5rem);font-weight:900;line-height:1.03;letter-spacing:-.025em}h1 span{display:block}.lede{max-width:30em;margin-top:28px;font-size:clamp(1.1875rem,1.6vw,1.375rem);line-height:1.42}.hero-open{margin-top:14px;font-weight:700}.hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:16px 28px;margin-top:28px}.btn{display:inline-block;padding:12px 24px;font-weight:700;text-decoration:none;background:var(--t1);color:var(--on-plane);border-radius:2px;transition:background-color .2s}.btn:hover{background:var(--t4)}[data-theme=dark] .btn{background:var(--mine-0);color:#12231d}[data-theme=dark] .btn:hover{background:var(--on-plane)}.portrait img{width:auto;height:auto;max-width:100%;max-height:calc(100svh - 224px);margin-left:auto}[data-theme=dark] .portrait img{filter:brightness(.74) saturate(.82)}.terrace{--plane: var(--t1);--next: var(--t2);background:var(--plane);color:var(--on-plane);transition:background-color .4s}.t2{--plane: var(--t2);--next: var(--t3)}.t3{--plane: var(--t3);--next: var(--t4)}.t4{--plane: var(--t4);--next: var(--t5)}.t5{--plane: var(--t5);--next: var(--t6)}.t6{--plane: var(--t6);--next: var(--t7)}.t7{--plane: var(--t7);--next: var(--ground)}.terrace-grid{position:relative;display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(20px,5vw,72px);padding-top:clamp(48px,7vw,96px);padding-bottom:clamp(36px,4.5vw,60px)}.terrace-head h3{font-size:clamp(2.75rem,5.2vw,4.5rem);line-height:1.04;letter-spacing:-.02em}@media (min-width: 900px){.minor .terrace-grid{padding-top:clamp(40px,4vw,56px);padding-bottom:clamp(28px,3vw,40px)}}.minor .terrace-head h3{font-size:clamp(2.125rem,3.1vw,2.75rem);line-height:1.08}.planting{fill:color-mix(in srgb,var(--plane) 62%,#06100B)}.terrace-what{margin-top:10px;font-size:1.3125rem;line-height:1.3}.terrace-status{display:flex;flex-wrap:wrap;gap:4px 16px;margin-top:16px}.terrace-status strong{font-weight:700}.terrace-figures{margin-top:20px;max-width:19rem}.terrace-figures>div{display:flex;justify-content:space-between;gap:16px}.terrace-figures dt{color:var(--on-plane-soft)}.terrace-figures dd{font-weight:700;font-variant-numeric:tabular-nums lining-nums;white-space:nowrap}.terrace-body{max-width:33em}.terrace-body ul{margin-top:18px}.terrace-body li{padding-left:18px;text-indent:-18px}.terrace-body li+li{margin-top:8px}.terrace-body li:before{content:"";display:inline-block;width:9px;height:7px;margin-right:9px;background:var(--mine-1);vertical-align:.1em}.terrace-stack{margin-top:20px;color:var(--on-plane-soft)}.terrace-meta{margin-top:4px;color:var(--on-plane-soft)}.wall-key{display:flex;align-items:center;gap:12px;margin-top:20px;font-style:italic}.wall-key svg{flex:none}.wall{width:100%;line-height:0}.wall svg{overflow:visible}.wall-bed{fill:color-mix(in srgb,var(--plane) 38%,#06100B)}.wall-bank{fill:color-mix(in srgb,var(--plane) 74%,#06100B)}.wall-swell{fill:color-mix(in srgb,color-mix(in srgb,var(--plane) 38%,#06100B) 50%,var(--next))}.wall-next{fill:var(--next)}.wall-bed,.wall-bank,.wall-swell,.wall-next{transition:fill .4s}.swell-join{--plane: var(--ground);--next: var(--valley);background:var(--plane);line-height:0;transition:background-color .4s}.swell-join svg{overflow:visible}.stone{stroke-width:2;stroke-linejoin:round}.mine-0{fill:var(--mine-0);stroke:var(--mine-0)}.mine-1{fill:var(--mine-1);stroke:var(--mine-1)}.mine-2{fill:var(--mine-2);stroke:var(--mine-2)}.team-0{fill:var(--team-0);stroke:var(--team-0)}.team-1{fill:var(--team-1);stroke:var(--team-1)}.team-2{fill:var(--team-2);stroke:var(--team-2)}@media (prefers-reduced-motion: no-preference){.wall .stone{transition:opacity .35s cubic-bezier(.16,1,.3,1),transform .5s cubic-bezier(.16,1,.3,1)}.wall:not(.is-laid) .stone{opacity:0;transform:translateY(-16px)}}@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}}.ground{background:var(--ground);color:var(--ink);padding:clamp(56px,8vw,104px) 0;transition:background-color .4s}.ground-grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(20px,5vw,72px)}.ground h2{font-size:clamp(2.25rem,4.4vw,3.75rem);line-height:1.05;letter-spacing:-.02em}.ground-main{max-width:44em}.jobs li{display:grid;grid-template-columns:10.5rem minmax(0,1fr);gap:16px}.jobs li+li{margin-top:28px}.jobs p{max-width:33em}.job-date{font-weight:500;color:var(--ink-soft);padding-top:2px}.jobs h3{font-size:1.3125rem;line-height:1.3;margin-bottom:4px}.ground-sub{margin-top:52px;margin-bottom:14px;font-size:1.5rem;line-height:1.2}.skills>div{display:grid;grid-template-columns:10.5rem minmax(0,1fr);gap:16px}.skills>div+div{margin-top:8px}.skills dt{font-weight:700}.studies li+li{margin-top:6px}.valley{background:var(--valley);color:var(--on-plane);padding:clamp(64px,9vw,120px) 0 28px;transition:background-color .4s}.valley h2{font-size:clamp(2.5rem,5.6vw,4.75rem);font-weight:900;line-height:1.05;letter-spacing:-.02em}.valley-lede{max-width:34em;margin-top:18px;font-size:1.3125rem;line-height:1.4}.valley-email{display:inline-block;margin-top:32px;font-family:var(--font-display);font-weight:800;font-size:clamp(1.1875rem,4vw,2.25rem);overflow-wrap:anywhere;text-decoration:underline;text-decoration-thickness:3px;text-underline-offset:7px}.valley-email:hover{color:var(--mine-2)}.valley-links{display:flex;flex-wrap:wrap;gap:10px 28px;margin-top:32px}.valley-foot{margin-top:clamp(56px,8vw,96px);color:var(--on-plane-soft);font-size:1.0625rem}@media (max-width: 899px){.terrace-grid,.ground-grid{grid-template-columns:minmax(0,1fr)}}@media (max-width: 759px){.hero-grid{display:block;min-height:0;padding-top:20px}.hero-copy{padding-bottom:20px}.lede{margin-top:16px}.lede-more{display:none}.hero-open,.hero-actions{max-width:54%}.hero-actions{flex-direction:column;align-items:flex-start;margin-top:18px}.portrait{position:absolute;right:0;bottom:0;width:46%;pointer-events:none}.portrait img{max-height:300px}.ridges{height:38%}}@media (max-width: 479px){body{font-size:1.125rem}.nav-optional{display:none}.skills>div{display:block}.skills>div+div{margin-top:12px}.jobs li,.job-date{display:block}}
