.theme-toggle[data-astro-cid-l6lhmie6]{border:1px solid var(--color-border);background:var(--color-surface);min-width:44px;min-height:44px;color:var(--color-text);font:inherit;cursor:pointer;transition:background-color var(--motion-duration-fast) ease, border-color var(--motion-duration-fast) ease, color var(--motion-duration-fast) ease;border-radius:.25rem;padding:.625rem .875rem}.theme-toggle[data-astro-cid-l6lhmie6]:hover{border-color:var(--color-accent);color:var(--color-accent)}.theme-toggle[data-astro-cid-l6lhmie6]:focus-visible{outline:3px solid var(--color-focus);outline-offset:3px}:root{color-scheme:light;--color-background:#f8f5ef;--color-surface:#f0ece4;--color-text:#0e141a;--color-muted:#4b535b;--color-border:#7d776f;--color-accent:#006f82;--color-accent-secondary:#884099;--color-focus:#884099;--motion-duration-fast:.16s}[data-theme=dark]{color-scheme:dark;--color-background:#020c14;--color-surface:#0a1a24;--color-text:#e8ded2;--color-muted:#aaa29a;--color-border:#5f6b74;--color-accent:#56bfdf;--color-accent-secondary:#c26cd0;--color-focus:#e184ef}html{background:var(--color-background);color:var(--color-text)}body{background:var(--color-background);min-height:100vh;color:var(--color-text);transition:background-color var(--motion-duration-fast) ease, color var(--motion-duration-fast) ease;margin:0}@media (prefers-reduced-motion:reduce){:root{--motion-duration-fast:0s}html{scroll-behavior:auto}}@font-face{font-family:Roboto Condensed;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/RobotoCondensed-Variable-latin.woff2)format("woff2")}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;min-width:20rem;scroll-padding-top:5.5rem}body{font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:1rem;line-height:1.6;overflow-x:clip}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-underline-offset:.2em}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,[role=status]:focus-visible{outline:3px solid var(--color-focus);outline-offset:3px}main{min-width:0}h1,h2{margin:0;line-height:1.15}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (width>=64rem){html{scroll-padding-top:0}main{margin-left:var(--rail-width)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}:root{--rail-width:14rem;--shell-border:1px solid var(--color-border);--content-max:90rem;--font-display:"Roboto Condensed", "Arial Narrow", "Avenir Next Condensed", ui-sans-serif, sans-serif;--font-utility:ui-monospace, "SFMono-Regular", Consolas, "Liberation Mono", monospace}.skip-link{z-index:100;border:var(--shell-border);background:var(--color-background);color:var(--color-text);transition:transform var(--motion-duration-fast) ease;border-radius:.25rem;padding:.75rem 1rem;font-weight:700;position:fixed;top:.75rem;left:.75rem;transform:translateY(-200%)}.skip-link:focus{transform:translateY(0)}.site-brand{min-width:44px;min-height:44px;color:var(--color-text);letter-spacing:.08em;justify-content:center;align-items:center;font-size:1.35rem;font-weight:800;text-decoration:none;display:inline-flex}.site-brand:after{background:var(--color-accent);content:"";width:1.5rem;height:2px;margin-top:2.75rem;position:absolute}.site-rail{display:none}.navigation-list{gap:.25rem;margin:0;padding:0;list-style:none;display:grid}.navigation-link{min-height:44px;color:var(--color-text);border-left:2px solid #0000;padding:.65rem .75rem;line-height:1.25;text-decoration:none;display:grid}.navigation-link:hover,.navigation-link:focus-visible{border-left-color:var(--color-accent);color:var(--color-accent)}.navigation-number{color:var(--color-accent);letter-spacing:.12em;font-size:.75rem}.social-links{flex-wrap:wrap;gap:.5rem 1rem;display:flex}.social-links a{min-height:44px;padding-block:.55rem}.mobile-header{z-index:20;border-bottom:var(--shell-border);background:var(--color-background);position:sticky;top:0}.mobile-header-bar{justify-content:space-between;align-items:center;min-height:4.75rem;padding:.75rem 1rem;display:flex}.mobile-header-actions{align-items:center;gap:.5rem;display:flex}.menu-button{border:var(--shell-border);background:var(--color-surface);width:44px;min-width:44px;height:44px;min-height:44px;color:var(--color-text);cursor:pointer;border-radius:.25rem;place-content:center;gap:.3rem;padding:0;display:grid}.menu-button span{background:currentColor;width:1.35rem;height:2px;display:block}.mobile-menu{border-top:var(--shell-border);background:var(--color-background);max-height:calc(100vh - 4.75rem);padding:.75rem 1rem 1.25rem;overflow-y:auto}.mobile-menu[hidden]{display:none}.mobile-menu .social-links{border-top:var(--shell-border);margin-top:1rem;padding-top:1rem}.section-shell{width:min(100%, var(--content-max));margin-inline:auto;padding:clamp(4rem,7vw,6rem) clamp(1.25rem,6vw,6rem);scroll-margin-top:5.5rem}.section-heading{gap:1.5rem;margin-bottom:clamp(2.5rem,6vw,5rem);display:grid}.section-heading>div{min-width:0}.section-heading h2,.about h2,.resume-callout h2,.contact h2{max-width:18ch;font-family:var(--font-display);letter-spacing:-.045em;text-wrap:balance;font-size:clamp(2rem,5vw,4.25rem);font-stretch:75%}.section-heading>p{max-width:38rem;color:var(--color-muted);margin:0;font-size:clamp(1rem,1.7vw,1.2rem)}.section-number,.eyebrow,.detail-label,.work-item__number{color:var(--color-accent);font-family:var(--font-utility);letter-spacing:.12em;text-transform:uppercase;margin:0 0 .75rem;font-size:.8rem;font-weight:700}.eyebrow:before{content:"// "}.button{min-height:44px;transition:background-color var(--motion-duration-fast) ease, color var(--motion-duration-fast) ease, transform var(--motion-duration-fast) ease;border:1px solid;border-radius:.15rem;justify-content:space-between;align-items:center;gap:1.5rem;padding:.85rem 1rem;font-weight:750;line-height:1.2;text-decoration:none;display:inline-flex}.button:hover{transform:translateY(-2px)}.button--primary{border-color:var(--color-accent);background:var(--color-accent);color:var(--color-background)}.button--primary:hover{color:var(--color-accent);background:0 0}.button--secondary{color:var(--color-accent-secondary)}.button--secondary:hover{background:var(--color-accent-secondary);color:var(--color-background)}.hero{border-bottom:var(--shell-border);align-items:center;gap:2rem;min-height:min(54rem,100svh - 4.75rem);display:grid;position:relative;overflow:hidden}.hero__content,.hero__portrait{z-index:1;min-width:0;position:relative}.hero h1{max-width:8ch;font-family:var(--font-display);letter-spacing:-.055em;overflow-wrap:normal;text-wrap:balance;font-size:clamp(3.9rem,15vw,8rem);font-weight:800;font-stretch:75%;line-height:.82}.hero__role{color:var(--color-accent);font-family:var(--font-utility);margin:1.3rem 0 0;font-size:clamp(1.15rem,2.7vw,1.8rem);line-height:1.3}.hero__summary{max-width:42rem;margin:1.5rem 0 0;font-size:clamp(1.1rem,2.2vw,1.45rem)}.hero__availability{max-width:40rem;color:var(--color-muted);margin:1rem 0 0}.hero__actions{flex-wrap:wrap;gap:.75rem;margin-top:2rem;display:flex}.hero__portrait{align-self:end;min-height:19rem}.hero__portrait-disc{z-index:-1;aspect-ratio:1;border:1px solid var(--color-border);background:var(--color-surface);border-radius:50%;width:min(78vw,28rem);position:absolute;top:5%;right:2%}.hero__portrait img{width:min(100%,34rem);height:auto;margin-inline:auto;display:block}.credibility-strip{border-bottom:var(--shell-border)}.credibility-strip ul{width:min(100%, var(--content-max));grid-template-columns:repeat(2,minmax(0,1fr));margin:0 auto;padding:0;list-style:none;display:grid}.credibility-strip li{border-right:var(--shell-border);border-bottom:var(--shell-border);text-align:center;place-items:center;min-width:0;min-height:7rem;padding:1.25rem .75rem;display:grid}.credibility-strip li:nth-child(2n){border-right:0}.credibility-strip li:nth-last-child(-n+2){border-bottom:0}.credibility-strip strong{max-width:16ch;font-family:var(--font-utility);font-size:clamp(.75rem,2.4vw,1rem);line-height:1.35}.selected-work,.journey,.about,.resume-callout,.contact{border-bottom:var(--shell-border)}.work-list,.work-item__details ul,.journey-list{margin:0;padding:0;list-style:none}.work-list{gap:1rem;display:grid}.work-item{min-width:0}.work-item article{border:var(--shell-border);background:var(--color-surface);gap:1.5rem;min-width:0;padding:1.5rem;display:grid}.work-item__number{align-items:center;gap:.5rem;margin:0;font-size:1rem;display:inline-flex}.work-item__number:after{background:var(--color-accent);content:"";width:2rem;height:1px}.work-item h3{max-width:24ch;font-family:var(--font-display);margin:0;font-size:clamp(1.35rem,4vw,2rem);font-stretch:75%;line-height:1.2}.work-item__story p{max-width:42rem;color:var(--color-muted);margin:.75rem 0 0}.work-item__details{border-top:var(--shell-border);padding-top:1.25rem}.work-item__details ul{color:var(--color-muted);flex-wrap:wrap;gap:.35rem .75rem;display:flex}.work-item__details li:not(:last-child):after{color:var(--color-accent-secondary);content:"•";margin-left:.75rem}.text-link{min-height:44px;color:var(--color-accent);justify-content:space-between;align-items:center;gap:1.5rem;font-weight:750;text-decoration:none;display:inline-flex}.text-link:hover{text-decoration:underline}.journey-list{border-left:1px solid var(--color-border);gap:0;margin-left:.45rem;display:grid;position:relative}.journey-list li{min-width:0;padding:0 0 2.5rem 2rem;position:relative}.journey-list li:last-child{padding-bottom:0}.journey-marker{border:3px solid var(--color-background);background:var(--color-text);outline:1px solid var(--color-border);border-radius:50%;width:.85rem;height:.85rem;position:absolute;top:.15rem;left:-.46rem}.journey-item--current .journey-marker{background:var(--color-accent-secondary);outline-color:var(--color-accent-secondary)}.journey-item--current h3{color:var(--color-accent)}.journey-list h3{margin:0;font-size:1.05rem;line-height:1.35}.journey-list p{max-width:32rem;color:var(--color-muted);margin:.6rem 0 0;font-size:.95rem}.about,.resume-callout,.contact{gap:2rem;display:grid}.about__principles h2{color:var(--color-text)}.about__principles h2:first-line{color:var(--color-accent)}.about__copy{max-width:42rem}.about__copy p,.resume-callout p,.contact p{color:var(--color-muted);margin:0;font-size:clamp(1rem,1.8vw,1.15rem)}.about__copy p+p{margin-top:1rem}.resume-callout{background:var(--color-surface)}.resume-callout>div:last-child,.contact>div:last-child{align-content:start;justify-items:start;gap:1.5rem;display:grid}.resume-callout__actions{flex-wrap:wrap;gap:.75rem;display:flex}.contact h2{color:var(--color-accent)}.contact__intro,.contact__body{min-width:0}.contact__intro>p:last-child{max-width:38rem;margin-top:1.25rem}.contact__body,.contact-form{width:100%}.contact-form{gap:1rem;display:grid;position:relative}.contact-form__field{gap:.35rem;display:grid}.contact-form__field label{font-family:var(--font-utility);letter-spacing:.04em;font-size:.82rem;font-weight:700}.contact-form input,.contact-form textarea{border:var(--shell-border);background:var(--color-background);width:100%;min-height:44px;color:var(--color-text);font:inherit;border-radius:.15rem;padding:.75rem}.contact-form textarea{resize:vertical;min-height:10rem}.contact-form [aria-invalid=true]{border-color:var(--color-accent-secondary);box-shadow:0 0 0 1px var(--color-accent-secondary)}.contact-form__honeypot{width:1px;height:1px;position:absolute;left:-10000px;overflow:hidden}.contact-form__verification:empty{display:none}.contact-form__status{border-left:3px solid var(--color-border);background:var(--color-surface);min-height:3rem;color:var(--color-muted);padding:.75rem}.contact-form[data-state=invalid] .contact-form__status,.contact-form[data-state=error] .contact-form__status{border-left-color:var(--color-accent-secondary);color:var(--color-text)}.contact-form[data-state=success] .contact-form__status{border-left-color:var(--color-accent);color:var(--color-text)}.contact-form .button{cursor:pointer;width:100%;font:inherit}.contact-form .button:disabled{cursor:not-allowed;opacity:.6;transform:none}.contact__privacy{font-size:.95rem!important}.privacy{gap:1rem;max-width:58rem;display:grid}.privacy h1{font-family:var(--font-display);letter-spacing:-.05em;font-size:clamp(2.75rem,8vw,6.5rem);font-stretch:75%}.privacy h2{color:var(--color-accent);font-family:var(--font-display);margin:1.5rem 0 0;font-size:clamp(1.5rem,4vw,2.5rem);font-stretch:75%}.privacy p{max-width:44rem;color:var(--color-muted);margin:0;font-size:clamp(1rem,1.8vw,1.15rem)}.site-footer{min-height:13rem;position:relative;overflow:hidden}.site-footer__trace{width:100%;height:8rem;color:var(--color-accent);position:absolute;bottom:0;left:0;right:0}.site-footer__trace path{fill:none;stroke:currentColor;stroke-width:1.5px;vector-effect:non-scaling-stroke}.site-footer__inner{z-index:1;width:min(100%, var(--content-max));flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1.5rem;margin-inline:auto;padding:2.5rem clamp(1.25rem,6vw,6rem) 6rem;display:flex;position:relative}.site-footer__inner p{font-family:var(--font-utility);margin:0}.case-study__header,.case-study__meta,.case-study__body{border-bottom:var(--shell-border)}.case-study__header h1{max-width:18ch;font-family:var(--font-display);letter-spacing:-.05em;overflow-wrap:anywhere;text-wrap:balance;font-size:clamp(2.75rem,8vw,6.5rem);font-stretch:75%}.case-study__summary{max-width:42rem;color:var(--color-muted);margin:1.5rem 0 0;font-size:clamp(1.1rem,2.2vw,1.45rem)}.case-study__meta{background:var(--color-surface);gap:2rem;display:grid}.case-study__meta ul{gap:.5rem;margin:0;padding-left:1.25rem;display:grid}.case-study__body{gap:1rem;display:grid}.case-study__body h2,.case-study__body p{width:min(100%,44rem);margin:0}.case-study__body h2{color:var(--color-accent);font-family:var(--font-display);margin-top:1.5rem;font-size:clamp(1.75rem,4vw,2.75rem);font-stretch:75%}.case-study__body h2:first-child{margin-top:0}.case-study__body p{color:var(--color-muted);font-size:clamp(1rem,1.8vw,1.15rem)}.case-study__actions{flex-wrap:wrap;gap:.75rem;display:flex}@media (width>=64rem){.mobile-header{display:none}.site-rail{z-index:10;width:var(--rail-width);border-right:var(--shell-border);background:var(--color-background);flex-direction:column;padding:1.5rem 1.25rem;display:flex;position:fixed;inset:0 auto 0 0;overflow-y:auto}.site-rail .site-brand{align-self:flex-start;margin-bottom:clamp(2rem,7vh,5rem)}.rail-navigation{flex:1}.site-rail .navigation-list{gap:clamp(.5rem,1.25vh,1.25rem)}.rail-footer{border-top:var(--shell-border);gap:1rem;padding-top:1.5rem;display:grid}.rail-footer .social-links{gap:0;display:grid}.section-shell{scroll-margin-top:0}.section-heading{grid-template-columns:minmax(0,1.1fr) minmax(18rem,.9fr);align-items:end}.hero{grid-template-columns:minmax(26rem,1.15fr) minmax(23rem,.85fr);padding-top:3rem;padding-bottom:0}.hero__content{align-self:center;padding-block:3rem 5rem}.hero__portrait{height:100%;min-height:44rem}.hero__portrait-disc{width:min(34vw,34rem);top:10%;right:0}.hero__portrait img{object-fit:contain;object-position:bottom;width:min(44vw,44rem);max-height:48rem;position:absolute;bottom:0;right:-8rem}.credibility-strip ul{grid-template-columns:repeat(4,minmax(0,1fr));padding-inline:clamp(1.25rem,6vw,6rem)}.credibility-strip li,.credibility-strip li:nth-child(2n){border-right:var(--shell-border);border-bottom:0;min-height:9rem}.credibility-strip li:first-child{border-left:var(--shell-border)}.work-list{gap:0}.work-item article{border:0;border-top:var(--shell-border);background:0 0;grid-template-columns:3.5rem minmax(16rem,1.35fr) minmax(13rem,.85fr) auto;align-items:center;gap:2rem;padding:2rem 0}.work-item:last-child article{border-bottom:var(--shell-border)}.work-item__number{flex-direction:column;align-self:start;align-items:flex-start}.work-item__details{border-top:0;border-right:var(--shell-border);border-left:var(--shell-border);align-self:stretch;padding:0 2rem}.work-item__details ul{gap:.25rem;display:grid}.work-item__details li:not(:last-child):after{content:none}.journey-list{border-top:1px solid var(--color-border);border-left:0;grid-template-columns:repeat(5,minmax(0,1fr));gap:0;margin:0}.journey-list li,.journey-list li:last-child{padding:2rem 1.25rem 0 0}.journey-marker{top:-.46rem;left:0}.about,.resume-callout,.contact{grid-template-columns:minmax(0,1.1fr) minmax(20rem,.9fr);align-items:start;gap:5rem}.case-study__meta{grid-template-columns:repeat(2,minmax(0,1fr));gap:5rem}}@media (width<=30rem){.hero__actions,.hero__actions .button,.contact .button,.resume-callout .button,.resume-callout__actions,.case-study__actions,.case-study__actions .button{width:100%}.hero h1{font-size:clamp(3.45rem,18vw,5.25rem)}.work-item article{padding:1.25rem}}
