.about{position:relative;padding:var(--space-7, 8.5rem) var(--shell-gutter);background:color-mix(in srgb,var(--color-canvas) 91%,transparent);color:var(--color-navy)}.about__frame{width:min(100%,100rem);margin-inline:auto}.about__header{display:grid;grid-template-columns:minmax(10rem,.35fr) minmax(0,1fr);gap:var(--space-4, 2rem);align-items:start;padding-bottom:var(--space-5, 3.25rem);border-bottom:1px solid var(--color-line)}.about__index{margin:0;color:var(--color-slate);font:.75rem/1.4 var(--shell-font-mono);letter-spacing:.1em;text-transform:uppercase}.about__header h2{max-width:15ch;margin:0;font-size:clamp(3rem,7vw,7.5rem);letter-spacing:-.07em;line-height:.92;text-wrap:balance}.about__rail{display:grid;grid-template-columns:minmax(18rem,.75fr) minmax(0,1.25fr);gap:clamp(3rem,8vw,9rem);padding-block:var(--space-6, 5.25rem)}.about__story{max-width:64ch}.about__story p{margin:0;font-size:clamp(1rem,1.3vw,1.25rem);line-height:1.65;text-wrap:pretty}.about__story p+p{margin-top:var(--space-3, 1.25rem);color:var(--color-slate)}.about__story p:first-child{font-size:clamp(1.35rem,2.1vw,2.2rem);line-height:1.3}.about__capabilities{margin:0;padding:0;border-top:1px solid var(--color-line);list-style:none}.about__capabilities li{display:grid;grid-template-columns:2.5rem minmax(0,1fr);gap:var(--space-3, 1.25rem);padding:var(--space-4, 2rem) 0;border-bottom:1px solid var(--color-line);transition:padding .18s ease,border-color .18s ease}.about__capabilities li.is-active{padding-inline:var(--space-3, 1.25rem);border-color:var(--color-clear-blue)}.about__capabilities li>span{color:var(--color-slate);font:.75rem/1 var(--shell-font-mono)}.about__capabilities li.is-active>span{color:var(--color-clear-blue)}.about__capabilities h3{margin:0;font-size:clamp(1.5rem,2.5vw,2.7rem);line-height:1}.about__capabilities p{max-width:58ch;margin:.8rem 0 0;color:var(--color-slate);line-height:1.6}.about__recognition{display:grid;grid-template-columns:minmax(8rem,.4fr) minmax(0,1fr) auto;gap:var(--space-3, 1.25rem);align-items:start;padding-block:var(--space-4, 2rem);border-bottom:1px solid var(--color-line)}.about__recognition>span,.about__recognition-meta{margin:0;color:var(--color-slate);font:.75rem/1.4 var(--shell-font-mono);letter-spacing:.08em;text-transform:uppercase}.about__recognition strong{font-size:clamp(1.35rem,2.4vw,2.5rem);font-weight:550}.about__recognition-description{max-width:68ch;margin:var(--space-2, .75rem) 0 0;color:var(--color-slate);line-height:1.6}.about__recognition-meta{padding-top:.35rem;white-space:nowrap}@media (max-width: 900px){.about{padding-block:var(--space-6, 5.25rem)}.about__rail{grid-template-columns:1fr;gap:var(--space-5, 3.25rem)}.about__recognition{grid-template-columns:minmax(7rem,.25fr) minmax(0,1fr)}.about__recognition-meta{grid-column:2}}@media (max-width: 620px){.about{padding-block:var(--space-5, 3.25rem)}.about__header,.about__recognition{grid-template-columns:1fr}.about__recognition-meta{grid-column:auto}}@media (prefers-reduced-motion: reduce){.about__capabilities li{transition:none}}.contact{position:relative;padding:var(--space-7, 8.5rem) var(--shell-gutter) var(--space-4, 2rem);background:color-mix(in srgb,var(--color-navy) 96%,transparent);color:var(--color-canvas)}.contact__main,.contact__footer{width:min(100%,100rem);margin-inline:auto}.contact__eyebrow{margin:0 0 var(--space-4, 2rem);color:var(--color-slate);font:.75rem/1 var(--shell-font-mono);letter-spacing:.08em;text-transform:uppercase}.contact h2{max-width:14ch;margin:0;font-size:clamp(3.5rem,8vw,8.5rem);letter-spacing:-.08em;line-height:.88;text-wrap:balance}.contact__intro{max-width:64ch;margin:var(--space-5, 3.25rem) 0 0;color:var(--color-slate);font-size:clamp(1rem,1.4vw,1.3rem);line-height:1.6;text-wrap:pretty}.contact__actions{position:relative;display:flex;flex-wrap:wrap;gap:var(--space-2, .75rem);margin-top:var(--space-5, 3.25rem)}.contact__primary,.contact__copy{display:inline-flex;gap:.75rem;align-items:center;justify-content:center;min-height:3.5rem;padding:.75rem 1.25rem;border:1px solid var(--color-clear-blue);font:.75rem/1 var(--shell-font-mono);letter-spacing:.08em;text-transform:uppercase;cursor:pointer}.contact__primary{background:var(--color-clear-blue);color:var(--color-white);text-decoration:none}.contact__copy{background:transparent;color:var(--color-canvas)}.contact__primary:hover,.contact__copy:hover{background:var(--color-white);color:var(--color-navy)}.contact__primary:focus-visible,.contact__copy:focus-visible,.contact__links a:focus-visible{outline:2px solid var(--color-clear-blue);outline-offset:4px}.contact__live-status{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.contact__details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-4, 2rem);margin-top:var(--space-6, 5.25rem)}.contact__details>div{display:grid;gap:.5rem;padding-top:var(--space-2, .75rem);border-top:1px solid var(--color-line)}.contact__details span,.contact__footer-meta{color:var(--color-slate);font:.75rem/1.4 var(--shell-font-mono);letter-spacing:.08em;text-transform:uppercase}.contact__links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:var(--space-5, 3.25rem);border:1px solid var(--color-line)}.contact__links a{display:flex;justify-content:space-between;align-items:center;min-height:4.5rem;padding:var(--space-3, 1.25rem);border-right:1px solid var(--color-line);color:inherit;text-decoration:none}.contact__links a:last-child{border-right:0}.contact__links a:hover{background:var(--color-clear-blue);color:var(--color-white)}.contact__footer{display:flex;justify-content:space-between;gap:var(--space-4, 2rem);align-items:end;margin-top:var(--space-7, 8.5rem);padding-top:var(--space-4, 2rem);border-top:1px solid var(--color-line)}.contact__footer>p{max-width:28ch;margin:0;font-size:clamp(1.5rem,3vw,3.5rem);letter-spacing:-.05em;line-height:1}.contact__footer-meta{display:flex;gap:var(--space-4, 2rem)}@media (max-width: 720px){.contact{padding-block:var(--space-5, 3.25rem) var(--space-4, 2rem)}.contact h2{font-size:clamp(3.25rem,15vw,5rem)}.contact__actions,.contact__primary,.contact__copy{width:100%}.contact__details,.contact__links{grid-template-columns:1fr}.contact__links a{border-right:0;border-bottom:1px solid var(--color-line)}.contact__links a:last-child{border-bottom:0}.contact__footer{align-items:start;flex-direction:column;margin-top:var(--space-6, 5.25rem)}.contact__footer-meta{flex-direction:column;gap:.5rem}}.hero{position:relative;min-height:100svh;overflow:clip;background:color-mix(in srgb,var(--color-canvas) 88%,transparent);color:var(--color-navy)}.hero__grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(18rem,.65fr);grid-template-areas:"mast mast" "copy focus";gap:var(--space-4, 2rem) clamp(2rem,6vw,7rem);align-content:center;width:min(100%,100rem);min-height:100svh;margin-inline:auto;padding:calc(var(--shell-header-height) + var(--space-4, 2rem)) var(--shell-gutter) var(--space-4, 2rem)}.hero__mast{grid-area:mast;display:flex;justify-content:space-between;padding-bottom:var(--space-2, .75rem);border-bottom:1px solid var(--color-line);font-family:var(--shell-font-mono);font-size:.75rem;letter-spacing:.1em;text-transform:uppercase}.hero__mast p{margin:0}.hero__availability{display:flex;gap:.65rem;align-items:center}.hero__availability span{width:.5rem;height:.5rem;background:var(--color-clear-blue);box-shadow:0 0 0 .25rem color-mix(in srgb,var(--color-clear-blue) 16%,transparent)}.hero__copy{grid-area:copy;align-self:center;max-width:56rem}.hero__focus-panel{grid-area:focus;justify-self:end;width:min(100%,28rem);padding:var(--space-3, 1.25rem) 0 var(--space-3, 1.25rem) clamp(1.25rem,5vw,5rem);border-left:1px solid var(--color-line)}.hero__focus-label{margin:0;color:var(--color-slate);font:.7rem/1.3 var(--shell-font-mono);letter-spacing:.08em}.hero__focus-panel ul{display:grid;gap:.75rem;margin:var(--space-3, 1.25rem) 0 var(--space-4, 2rem);padding:0;list-style:none}.hero__focus-panel li{position:relative;padding-left:1.25rem;font-size:clamp(1.1rem,1.8vw,1.5rem);letter-spacing:-.025em}.hero__focus-panel li:before{position:absolute;top:.45em;left:0;width:.45rem;height:.45rem;background:var(--color-clear-blue);content:""}.hero__focus-panel .hero__metadata{grid-area:auto;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem}.hero__focus-panel .hero__metadata dt{font-size:.65rem}.hero__focus-panel .hero__metadata dd{font-size:.85rem}.hero__role{width:-moz-fit-content;width:fit-content;margin:0 0 var(--space-3, 1.25rem);padding:.45rem .7rem;background:var(--color-clear-blue);color:var(--color-white);font:.75rem/1 var(--shell-font-mono);letter-spacing:.1em;text-transform:uppercase}.hero__title{margin:0;font-family:var(--shell-font-display);font-size:clamp(4.75rem,9.7vw,10.75rem);font-weight:580;letter-spacing:-.085em;line-height:.78;text-wrap:balance}.hero__title span{display:block}.hero__title span:last-child{margin-left:clamp(0rem,4vw,4rem)}.hero__thesis{max-width:58ch;margin:var(--space-4, 2rem) 0 0;font-size:clamp(1rem,1.35vw,1.3rem);line-height:1.55;text-wrap:pretty}.hero__actions{display:flex;flex-wrap:wrap;gap:var(--space-2, .75rem);margin-top:var(--space-4, 2rem)}.hero__action{display:inline-flex;gap:1rem;align-items:center;justify-content:space-between;min-width:12rem;min-height:44px;padding:.75rem .9rem;border:1px solid currentColor;color:inherit;font:.75rem/1 var(--shell-font-mono);letter-spacing:.08em;text-decoration:none;text-transform:uppercase;transition:background-color .16s ease,color .16s ease,box-shadow .16s ease}.hero__action--primary,.hero__action:hover{border-color:var(--color-clear-blue);background:var(--color-clear-blue);color:var(--color-white)}.hero__action:focus-visible{outline:2px solid var(--color-clear-blue);outline-offset:4px}.hero__metadata{grid-area:meta;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-3, 1.25rem);margin:0}.hero__metadata div{padding-top:var(--space-2, .75rem);border-top:1px solid var(--color-line)}.hero__metadata dt,.hero__metadata dd{margin:0}.hero__metadata dt{margin-bottom:.35rem;color:var(--color-slate);font:.75rem/1 var(--shell-font-mono);letter-spacing:.08em;text-transform:uppercase}.hero__metadata dd{font-weight:650}.impact-reel{--color-slate: #aaa69c;position:relative;padding:var(--space-6, 5.25rem) var(--shell-gutter);border-block:1px solid var(--color-line);background:color-mix(in srgb,var(--color-navy) 96%,transparent);color:var(--color-canvas)}.impact-reel__header,.impact-reel__grid{width:min(100%,100rem);margin-inline:auto}.impact-reel__header{display:grid;grid-template-columns:minmax(12rem,.45fr) minmax(0,1fr);gap:var(--space-4, 2rem);align-items:end}.impact-reel__header p{margin:0;color:var(--color-slate);font:.75rem/1.4 var(--shell-font-mono);letter-spacing:.08em;text-transform:uppercase}.impact-reel__header h2{max-width:16ch;margin:0;font-size:clamp(2rem,4vw,4.75rem);line-height:.98;text-wrap:balance}.impact-reel__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin-top:var(--space-5, 3.25rem);border:1px solid var(--color-line)}.impact-reel__metric{position:relative;padding:var(--space-4, 2rem);border-right:1px solid var(--color-line);transition:background-color .18s ease}.impact-reel__metric:last-child{border-right:0}.impact-reel__metric>span{color:var(--color-slate);font:.75rem/1 var(--shell-font-mono)}.impact-reel__metric dt{margin-top:var(--space-5, 3.25rem);color:var(--color-slate);font:.75rem/1.3 var(--shell-font-mono);letter-spacing:.08em;text-transform:uppercase}.impact-reel__metric dd{margin:.45rem 0 0;font-size:clamp(2.5rem,4.8vw,5rem);font-weight:550;letter-spacing:-.07em;line-height:.9;white-space:nowrap;transition:color .18s ease,transform .18s ease}.impact-reel__metric:nth-child(2) dd{color:var(--color-clear-blue)}.impact-reel__metric:last-child dd{font-size:clamp(2.5rem,4.2vw,4.5rem)}@media (hover: hover) and (pointer: fine){.impact-reel__metric:hover{background:color-mix(in srgb,var(--color-clear-blue) 13%,transparent)}.impact-reel__metric:hover dd{color:var(--color-clear-blue);transform:translateY(-.2rem)}}@media (max-width: 900px){.hero__grid{grid-template-columns:1fr;grid-template-areas:"mast" "copy" "focus";gap:var(--space-4, 2rem)}.hero__title{font-size:clamp(4rem,11vw,7rem)}.impact-reel__grid{grid-template-columns:repeat(2,minmax(0,1fr))}.impact-reel__metric:nth-child(2){border-right:0}.impact-reel__metric:nth-child(-n+2){border-bottom:1px solid var(--color-line)}}@media (max-width: 680px){.hero__grid{grid-template-columns:1fr;gap:var(--space-4, 2rem);padding-top:calc(var(--shell-header-height) + var(--space-4, 2rem))}.hero__mast{gap:1rem;font-size:.75rem}.hero__availability{max-width:11rem;text-align:right}.hero__title{font-size:clamp(3.6rem,18vw,5.4rem);line-height:.82}.hero__title span:last-child{margin-left:0}.hero__focus-panel{justify-self:stretch;width:auto;padding-left:0;border-top:1px solid var(--color-line);border-left:0}.hero__focus-panel .hero__metadata{grid-template-columns:1fr}.hero__actions{display:grid}.hero__action{width:100%}.impact-reel{padding-block:var(--space-5, 3.25rem)}.impact-reel__header,.impact-reel__grid{grid-template-columns:1fr}.impact-reel__metric,.impact-reel__metric:nth-child(2){border-right:0;border-bottom:1px solid var(--color-line)}.impact-reel__metric:last-child{border-bottom:0}}.journey{position:relative;padding:var(--space-7, 8.5rem) var(--shell-gutter);background:color-mix(in srgb,var(--color-canvas) 92%,transparent);color:var(--color-navy)}.journey__inner{width:min(100%,100rem);margin-inline:auto}.journey__header{display:grid;grid-template-columns:minmax(10rem,.35fr) minmax(0,1fr) minmax(16rem,.45fr);gap:var(--space-4, 2rem);align-items:end;padding-bottom:var(--space-6, 5.25rem)}.journey__header>p{margin:0;color:var(--color-slate);line-height:1.55}.journey__header>p:first-child{align-self:start;font:.75rem/1.4 var(--shell-font-mono);letter-spacing:.08em;text-transform:uppercase}.journey__header h2{max-width:13ch;margin:0;font-size:clamp(3rem,6vw,6.5rem);letter-spacing:-.07em;line-height:.93;text-wrap:balance}.journey__timeline{margin:0;padding:0;border-top:1px solid var(--color-line);list-style:none}.journey__item{display:grid;grid-template-columns:5rem minmax(9rem,.4fr) minmax(0,1fr) minmax(9rem,.35fr);gap:var(--space-3, 1.25rem);align-items:start;padding-block:var(--space-5, 3.25rem);border-bottom:1px solid var(--color-line);transition:padding .18s ease,border-color .18s ease}.journey__item.is-active{padding-inline:var(--space-3, 1.25rem);border-color:var(--color-clear-blue)}.journey__event{color:var(--color-slate);font:.75rem/1 var(--shell-font-mono)}.journey__item.is-active .journey__event{color:var(--color-clear-blue)}.journey__period,.journey__location{margin:0;color:var(--color-slate);font:.75rem/1.5 var(--shell-font-mono);font-variant-numeric:tabular-nums}.journey__entry h3{margin:0;font-size:clamp(1.5rem,2.6vw,2.8rem);line-height:1}.journey__company{margin:.55rem 0 0;font-weight:650}.journey__context{max-width:62ch;margin:var(--space-3, 1.25rem) 0 0;color:var(--color-slate);line-height:1.6}.journey__location{text-align:right}@media (max-width: 900px){.journey{padding-block:var(--space-6, 5.25rem)}.journey__header{grid-template-columns:1fr}.journey__item{grid-template-columns:4rem minmax(0,1fr)}.journey__period,.journey__entry,.journey__location{grid-column:2}.journey__location{text-align:left}}@media (max-width: 620px){.journey{padding-block:var(--space-5, 3.25rem)}.journey__item{grid-template-columns:3.25rem minmax(0,1fr);padding-block:var(--space-4, 2rem)}}@media (prefers-reduced-motion: reduce){.journey__item{transition:none}}.projects-section{position:relative;overflow:clip;background:color-mix(in srgb,var(--color-navy) 94%,transparent);color:var(--color-canvas)}.projects-header{display:grid;grid-template-columns:minmax(10rem,.35fr) minmax(0,1fr) minmax(16rem,.45fr);gap:var(--space-4, 2rem);align-items:end;width:min(100%,100rem);margin-inline:auto;padding:var(--space-7, 8.5rem) var(--shell-gutter) var(--space-6, 5.25rem)}.projects-eyebrow,.projects-header>p:last-child,.project-scene__meta{margin:0;color:var(--color-slate);font:.75rem/1.5 var(--shell-font-mono);letter-spacing:.08em;text-transform:uppercase}.projects-header h2{max-width:13ch;margin:0;font-size:clamp(3rem,6.5vw,7rem);letter-spacing:-.07em;line-height:.92;text-wrap:balance}.projects-header>p:last-child{max-width:38ch;justify-self:end;text-transform:none;letter-spacing:0;font-family:var(--shell-font-body);font-size:1rem}.project-scenes{border-top:1px solid var(--color-line)}.project-scene{display:grid;grid-template-columns:minmax(18rem,.85fr) minmax(0,1.15fr);gap:clamp(3rem,7vw,8rem);align-items:start;width:min(100%,100rem);min-height:100svh;margin-inline:auto;padding:var(--space-7, 8.5rem) var(--shell-gutter);border-bottom:1px solid var(--color-line)}.project-scene__visual{--route-progress: 0;--spot-x: 50%;--spot-y: 50%;position:sticky;top:calc(var(--shell-header-height) + var(--space-4, 2rem));min-height:min(56vh,32rem);overflow:hidden;border:1px solid var(--color-line)}.project-scene__visual:after{position:absolute;z-index:0;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle 12rem at var(--spot-x) var(--spot-y),color-mix(in srgb,var(--color-clear-blue) 18%,transparent),transparent 68%);content:"";opacity:0;pointer-events:none;transition:opacity .22s ease}.project-scene__number{position:absolute;top:var(--space-3, 1.25rem);left:var(--space-3, 1.25rem);color:var(--color-slate);font:clamp(4.5rem,10vw,9rem)/.8 var(--shell-font-display);letter-spacing:-.09em;transition:color .18s ease,transform .18s ease;z-index:1}.project-scene__inspector{position:absolute;z-index:1;top:clamp(8.5rem,17vw,10.5rem);right:var(--space-3, 1.25rem);left:var(--space-3, 1.25rem);max-width:31rem}.project-scene__inspector-content{animation:inspector-enter .18s ease both}.project-scene__inspector>span{color:var(--color-clear-blue);font:.75rem/1 var(--shell-font-mono);letter-spacing:.1em;text-transform:uppercase}.project-scene__inspector strong{display:block;max-width:16ch;margin-top:.65rem;color:var(--color-canvas);font-size:clamp(1.8rem,3.2vw,3.2rem);font-weight:560;letter-spacing:-.055em;line-height:.95}.project-scene__inspector p{max-width:48ch;margin:.9rem 0 0;color:var(--color-slate);font-size:.85rem;line-height:1.5}@keyframes inspector-enter{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.project-scene__visual ol{position:absolute;z-index:1;inset:auto var(--space-3, 1.25rem) var(--space-3, 1.25rem);display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.55rem;margin:0;padding:0;list-style:none}.project-scene__visual ol:before,.project-scene__visual ol:after{position:absolute;z-index:-1;top:1rem;right:16.66%;left:16.66%;height:1px;content:""}.project-scene__visual ol:before{background:var(--color-line)}.project-scene__visual ol:after{transform:scaleX(var(--route-progress));transform-origin:left;background:var(--color-clear-blue);transition:transform .22s ease}.project-scene__visual li{position:relative;min-width:0;color:var(--color-slate);transition:color .16s ease}.project-scene__visual button{display:flex;flex-direction:column;gap:.55rem;align-items:center;width:100%;min-height:70px;padding:0;border:0;background:transparent;color:inherit;cursor:pointer;font:.75rem/1.25 var(--shell-font-mono);letter-spacing:.06em;text-align:center;text-transform:uppercase}.project-scene__visual button>span{display:grid;width:2rem;height:2rem;place-items:center;border:1px solid var(--color-line);background:var(--color-navy);color:var(--color-slate);transition:background-color .16s ease,border-color .16s ease,color .16s ease,transform .16s ease}.project-scene__visual li:hover,.project-scene__visual li:focus-within,.project-scene__visual li.is-active{color:var(--color-canvas)}.project-scene__visual li:hover button>span,.project-scene__visual li:focus-within button>span,.project-scene__visual li.is-active button>span{border-color:var(--color-clear-blue);background:var(--color-clear-blue);color:var(--color-canvas);transform:scale(1.12)}.project-scene__visual[data-active-step] .project-scene__number{color:var(--color-clear-blue);transform:translateY(-.35rem)}@media (hover: hover) and (pointer: fine){.project-scene__visual:hover:after{opacity:1}}.project-scene__copy{align-self:center;padding-block:var(--space-4, 2rem)}.project-scene__copy h3{max-width:14ch;margin:var(--space-3, 1.25rem) 0 var(--space-5, 3.25rem);font-size:clamp(2.7rem,5vw,6rem);letter-spacing:-.065em;line-height:.93;text-wrap:balance}.project-scene__copy dl{margin:0;border-top:1px solid var(--color-line)}.project-scene__copy dl>div{display:grid;grid-template-columns:minmax(7rem,.28fr) minmax(0,1fr);gap:var(--space-3, 1.25rem);padding-block:var(--space-4, 2rem);border-bottom:1px solid var(--color-line);transition:background-color .16s ease,box-shadow .16s ease,opacity .16s ease}.project-scene__copy dl>div.is-active{padding-left:var(--space-3, 1.25rem);background:color-mix(in srgb,var(--color-clear-blue) 12%,transparent);box-shadow:inset 3px 0 var(--color-clear-blue)}.project-scene__copy dl>div.is-muted{opacity:.48}.project-scene__copy dt{color:var(--color-slate);font:.75rem/1.4 var(--shell-font-mono);letter-spacing:.08em;text-transform:uppercase}.project-scene__copy dd{max-width:62ch;margin:0;font-size:clamp(1rem,1.25vw,1.2rem);line-height:1.6;text-wrap:pretty}.project-scene__copy dl>div:last-child dd{color:var(--color-canvas);font-size:clamp(1.25rem,2vw,2rem);line-height:1.35}.project-scene__copy>a{display:inline-flex;gap:.75rem;align-items:center;min-height:44px;margin-top:var(--space-4, 2rem);color:var(--color-canvas);font:.75rem/1 var(--shell-font-mono);letter-spacing:.08em;text-decoration:none;text-transform:uppercase}.project-scene__copy>a:hover{color:var(--color-clear-blue)}.project-index{padding:var(--space-7, 8.5rem) var(--shell-gutter);background:var(--color-navy);border-top:1px solid var(--color-line)}.project-index__header,.project-index__list{width:min(100%,100rem);margin-inline:auto}.project-index__header{display:grid;grid-template-columns:minmax(10rem,.35fr) minmax(0,1fr) minmax(16rem,.45fr);gap:var(--space-4, 2rem);align-items:end;margin-bottom:var(--space-5, 3.25rem)}.project-index__header h2{max-width:9ch;margin:0;font-size:clamp(2.5rem,5vw,5.5rem);letter-spacing:-.06em;line-height:.94;text-wrap:balance}.project-index__header>p:last-child{margin:0;color:var(--color-slate);line-height:1.55}.project-index__list{margin-block:0;padding:0;border-top:1px solid var(--color-line);list-style:none;counter-reset:projects}.project-index__list>li{counter-increment:projects}.project-index__item{display:grid;grid-template-columns:2.5rem minmax(14rem,1.25fr) minmax(10rem,.55fr) minmax(15rem,1fr) 2.75rem;gap:var(--space-3, 1.25rem);align-items:center;min-height:5.5rem;border-bottom:1px solid var(--color-line)}.project-index__item:before{color:var(--color-slate);font:.75rem/1 var(--shell-font-mono);content:counter(projects,decimal-leading-zero)}.project-index__identity p,.project-index__identity h3,.project-index__category,.project-index__outcome{margin:0}.project-index__identity p,.project-index__category{color:var(--color-slate);font:.75rem/1.4 var(--shell-font-mono);letter-spacing:.06em;text-transform:uppercase}.project-index__identity h3{margin-top:.25rem;font-size:1.25rem;font-weight:550}.project-index__outcome{color:var(--color-slate);font-size:.9rem;line-height:1.45}.project-index__item a,.project-index__no-link{display:grid;width:44px;height:44px;place-items:center;justify-self:end;color:var(--color-canvas)}@media (max-width: 900px){.projects-header,.project-index__header{grid-template-columns:1fr}.projects-header>p:last-child,.project-index__header>p:last-child{justify-self:start}.project-scene{grid-template-columns:1fr;min-height:auto;padding-block:var(--space-6, 5.25rem)}.project-scene__visual{position:relative;top:auto;min-height:24rem}.project-index__item{grid-template-columns:2.5rem minmax(0,1fr) 2.75rem;padding-block:var(--space-3, 1.25rem)}.project-index__category,.project-index__outcome{grid-column:2}.project-index__item a,.project-index__no-link{grid-column:3;grid-row:1 / 4}}@media (max-width: 620px){.projects-header,.project-index,.project-scene{padding-block:var(--space-5, 3.25rem)}.project-scene__visual{min-height:25rem}.project-scene__inspector{top:8.5rem}.project-scene__inspector strong{font-size:1.8rem}.project-scene__visual button{min-height:76px;font-size:.75rem}.project-scene__copy dl>div{grid-template-columns:1fr}.project-index__item{grid-template-columns:2rem minmax(0,1fr) 2.75rem}.project-scene__copy{min-width:0}}@media (max-height: 699px){.project-scene__visual{position:relative;top:auto;min-height:28rem}}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:300 700;font-display:swap;src:url(https://fonts.gstatic.com/s/spacegrotesk/v22/V8mDoQDjQSkFtoMM3T6r8E7mPbF4C_k3HqU.woff2) format("woff2")}*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.visible{visibility:visible}.mb-4{margin-bottom:1rem}.flex{display:flex}.hidden{display:none}.min-h-screen{min-height:100vh}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.resize{resize:both}.items-center{align-items:center}.justify-center{justify-content:center}.bg-\[\#F0EDE4\]{--tw-bg-opacity: 1;background-color:rgb(240 237 228 / var(--tw-bg-opacity, 1))}.text-center{text-align:center}.text-4xl{font-size:2.25rem;line-height:2.5rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.font-bold{font-weight:700}.font-semibold{font-weight:600}.text-\[\#151515\]{--tw-text-opacity: 1;color:rgb(21 21 21 / var(--tw-text-opacity, 1))}.text-\[\#67645E\]{--tw-text-opacity: 1;color:rgb(103 100 94 / var(--tw-text-opacity, 1))}.underline{text-decoration-line:underline}.decoration-\[\#2457FF\]{text-decoration-color:#2457ff}.decoration-2{text-decoration-thickness:2px}.underline-offset-4{text-underline-offset:4px}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}:root{--color-canvas: #f0ede4;--color-sky-mist: #e2ded4;--color-clear-blue: #2457ff;--color-navy: #151515;--color-slate: #67645e;--color-white: #f0ede4;--color-line: color-mix(in srgb, var(--color-navy) 20%, transparent);--color-shadow: color-mix(in srgb, var(--color-slate) 24%, transparent);--shell-gutter: max(clamp(1rem, 3vw, 3rem), env(safe-area-inset-left), env(safe-area-inset-right));--shell-header-height: 5.25rem;--shell-font-display: "Space Grotesk", system-ui, sans-serif;--shell-font-body: "Space Grotesk", system-ui, sans-serif;--shell-font-mono: ui-monospace, "SFMono-Regular", Consolas, monospace;--space-1: .5rem;--space-2: .75rem;--space-3: 1.25rem;--space-4: 2rem;--space-5: 3.25rem;--space-6: 5.25rem;--space-7: 8.5rem}html{scroll-behavior:auto;scroll-padding-top:var(--shell-header-height)}body{margin:0;min-width:320px;overflow-x:hidden;background:var(--color-canvas);color:var(--color-navy);font-family:var(--shell-font-body);text-rendering:optimizeLegibility;font-variant-numeric:tabular-nums}h1,h2,h3{text-wrap:balance}p{max-width:68ch;text-wrap:pretty}body,button,a{-webkit-font-smoothing:antialiased}button,a{font:inherit;touch-action:manipulation}a{color:inherit}::-moz-selection{background:var(--color-clear-blue);color:var(--color-white)}::selection{background:var(--color-clear-blue);color:var(--color-white)}:focus-visible{outline:2px solid var(--color-clear-blue);outline-offset:4px}.site-header :focus-visible,.projects-section :focus-visible,.contact :focus-visible,.mobile-menu :focus-visible,.site-header--menu-open :focus-visible,.project-index :focus-visible{outline-color:var(--color-clear-blue)}.projects-section,.contact{--color-slate: #aaa69c;--color-line: #4b4b4b;--color-shadow: rgba(0, 0, 0, .34)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.site-shell{min-height:100vh;overflow-x:clip}#main-content{min-height:100vh}#main-content>section[id]{scroll-margin-top:var(--shell-header-height)}#main-content:focus:not(:focus-visible){outline:none}#main-content:focus-visible{outline:2px solid var(--color-clear-blue);outline-offset:6px}.skip-link{position:fixed;z-index:200;top:.75rem;left:.75rem;display:inline-flex;align-items:center;min-height:44px;padding:.75rem 1rem;transform:translateY(-160%);background:var(--color-canvas);color:var(--color-navy);font-size:.75rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;transition:transform .16s ease}.skip-link:focus{transform:translateY(0)}.scroll-progress{position:fixed;z-index:130;top:0;left:0;width:100%;height:2px;pointer-events:none}.scroll-progress>div{width:100%;height:100%;transform:scaleX(0);transform-origin:left;background:var(--color-clear-blue);will-change:transform}body:has(.mobile-menu) .scroll-progress{visibility:hidden}.motion-ready [data-reveal]{opacity:0;transition:opacity .48s ease,transform .56s cubic-bezier(.2,.8,.2,1)}.motion-ready [data-reveal=header]{transform:translateY(16px)}.motion-ready [data-reveal=visual]{transform:scale(.985)}.motion-ready [data-reveal=copy]{transform:translate(20px)}.motion-ready [data-reveal].is-revealed{opacity:1;transform:none}@media (max-width: 620px){.motion-ready [data-reveal=copy]{transform:translateY(16px)}}.site-header{position:fixed;z-index:100;top:0;left:0;display:flex;align-items:center;justify-content:space-between;width:100%;min-height:var(--shell-header-height);padding:0 var(--shell-gutter);border-bottom:1px solid var(--color-line);background:color-mix(in srgb,var(--color-white) 92%,transparent);box-shadow:0 .35rem 1.5rem var(--color-shadow);color:var(--color-navy);transition:min-height .18s ease,background-color .18s ease,border-color .18s ease}.site-header--compact{min-height:4rem;border-color:var(--color-line);background:color-mix(in srgb,var(--color-sky-mist) 92%,transparent);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.site-logo{display:inline-flex;align-items:baseline;gap:.8rem;min-height:44px;text-decoration:none}.site-logo>span{font-family:var(--shell-font-display);font-size:1.35rem;font-weight:600;letter-spacing:-.08em}.site-logo>small{font-size:.75rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;opacity:.7}.desktop-nav{display:flex;align-items:center;gap:clamp(1rem,2.5vw,2.5rem)}.desktop-nav ol{display:flex;gap:clamp(.8rem,2vw,2rem);padding:0;margin:0;list-style:none}.desktop-nav ol a{display:inline-flex;align-items:center;min-height:44px;gap:.35rem;padding:.5rem 0;border-bottom:1px solid transparent;font-size:.75rem;font-weight:600;letter-spacing:.08em;text-decoration:none;text-transform:uppercase;opacity:.62;transition:border-color .15s ease,opacity .15s ease}.desktop-nav ol a span{color:var(--color-slate);font-size:.75rem}.desktop-nav ol a:hover,.desktop-nav ol a.is-active{border-color:currentColor;opacity:1}.desktop-nav ol a:hover span,.desktop-nav ol a.is-active span{color:var(--color-clear-blue)}.nav-resume{display:inline-flex;align-items:center;min-height:44px;padding:.7rem 1rem;border:1px solid var(--color-clear-blue);box-shadow:.22rem .22rem 0 var(--color-shadow);font-size:.75rem;font-weight:700;letter-spacing:.1em;text-decoration:none;text-transform:uppercase;transition:background-color .15s ease,color .15s ease}.nav-resume:hover{background:var(--color-white);color:var(--color-navy)}.menu-toggle{align-items:center;display:none;justify-content:center;min-height:44px;min-width:44px;border:0;background:transparent;color:inherit;cursor:pointer;font-size:.75rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.mobile-menu{position:fixed;z-index:120;top:0;right:0;bottom:0;left:0;display:grid;grid-template:auto 1fr auto / 1fr auto;min-height:100dvh;padding:var(--shell-gutter);overflow-y:auto;overscroll-behavior:contain;background:var(--color-clear-blue);box-shadow:.22rem .22rem 0 var(--color-shadow);color:var(--color-white)}.mobile-menu__brand,.mobile-menu__close,.mobile-menu__resume{font-size:.75rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.mobile-menu__brand,.mobile-menu__resume{text-decoration:none}.mobile-menu__close{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;border:0;background:transparent;color:inherit;cursor:pointer}.mobile-menu nav{grid-column:1 / -1;align-self:center}.mobile-menu ol{padding:0;margin:0;list-style:none}.mobile-menu ol a{display:grid;grid-template-columns:2.5rem 1fr;align-items:baseline;padding:.4rem 0;font-family:var(--shell-font-display);font-size:clamp(2.75rem,14vw,6rem);font-weight:500;letter-spacing:-.06em;line-height:.95;text-decoration:none;opacity:.58}.mobile-menu ol a.is-active,.mobile-menu ol a:hover{opacity:1;text-decoration:underline;text-decoration-thickness:.14em;text-underline-offset:.2em}.mobile-menu ol a span{color:var(--color-slate);font-family:var(--shell-font-body);font-size:.75rem;letter-spacing:.1em}.mobile-menu__resume{grid-column:1 / -1;justify-self:start;padding-bottom:.35rem;border-bottom:1px solid currentColor;color:var(--color-white)}@media (max-width: 767px){:root{--shell-header-height: 4.5rem}.desktop-nav{display:none}.menu-toggle{display:inline-flex;position:relative;z-index:125}.site-header:has(.mobile-menu) .site-logo,.site-header:has(.mobile-menu) .menu-toggle{visibility:hidden}}@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.opacity-0,[class*=opacity-0]{opacity:1!important}}.hover\:bg-\[\#2457FF\]:hover{--tw-bg-opacity: 1;background-color:rgb(36 87 255 / var(--tw-bg-opacity, 1))}.hover\:text-\[\#F0EDE4\]:hover{--tw-text-opacity: 1;color:rgb(240 237 228 / var(--tw-text-opacity, 1))}.focus-visible\:outline:focus-visible{outline-style:solid}.focus-visible\:outline-2:focus-visible{outline-width:2px}.focus-visible\:outline-offset-4:focus-visible{outline-offset:4px}.focus-visible\:outline-\[\#2457FF\]:focus-visible{outline-color:#2457ff}
