@font-face{font-family:Bricolage Grotesque;font-style:normal;font-weight:200 800;font-stretch:100%;font-display:swap;src:url(../media/033400d475fad6b1-s.11x_mcju407z-.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Bricolage Grotesque;font-style:normal;font-weight:200 800;font-stretch:100%;font-display:swap;src:url(../media/26daee0352f50a5f-s.456c9vb2_utt8.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Bricolage Grotesque;font-style:normal;font-weight:200 800;font-stretch:100%;font-display:swap;src:url(../media/017d9bea37084d9b-s.p.2fl0vhx7oyatw.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Bricolage Grotesque Fallback;src:local(Arial);ascent-override:88.21%;descent-override:25.61%;line-gap-override:0.0%;size-adjust:105.43%}.bricolage_grotesque_a80b9a4b-module__-tuzlW__className{font-family:Bricolage Grotesque,Bricolage Grotesque Fallback;font-style:normal}.bricolage_grotesque_a80b9a4b-module__-tuzlW__variable{--font-bricolage:"Bricolage Grotesque", "Bricolage Grotesque Fallback"}
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-leading:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-ease:initial}}}@layer theme{:root,:host{--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-serif:var(--font-bricolage), ui-sans-serif, system-ui, sans-serif;--font-mono:"SFMono-Regular", Consolas, "Liberation Mono", monospace;--spacing:.25rem;--ease-out:cubic-bezier(0, 0, .2, 1);--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--font-display:var(--font-bricolage), ui-sans-serif, system-ui, sans-serif;--color-paper:#fafaf8;--color-ink:#202124;--color-dim:#5c5c62;--color-faint:#65656a;--color-border-warm:#d9d9d4;--color-accent:#b93422;--container-page:1280px}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}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;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.collapse{visibility:collapse}.invisible{visibility:hidden}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.mt-5{margin-top:calc(var(--spacing) * 5)}.mt-auto{margin-top:auto}.mb-6{margin-bottom:calc(var(--spacing) * 6)}.mb-8{margin-bottom:calc(var(--spacing) * 8)}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.table{display:table}.max-w-\[920px\]{max-width:920px}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.resize{resize:both}.flex-wrap{flex-wrap:wrap}.items-stretch{align-items:stretch}.gap-5{gap:calc(var(--spacing) * 5)}.gap-8{gap:calc(var(--spacing) * 8)}.gap-10{gap:calc(var(--spacing) * 10)}.self-start{align-self:flex-start}.border{border-style:var(--tw-border-style);border-width:1px}.border-current{border-color:currentColor}.bg-paper\/70{background-color:#fafaf8b3}@supports (color:color-mix(in lab, red, red)){.bg-paper\/70{background-color:color-mix(in oklab, var(--color-paper) 70%, transparent)}}.p-5{padding:calc(var(--spacing) * 5)}.p-6{padding:calc(var(--spacing) * 6)}.py-8{padding-block:calc(var(--spacing) * 8)}.py-10{padding-block:calc(var(--spacing) * 10)}.py-14{padding-block:calc(var(--spacing) * 14)}.py-20{padding-block:calc(var(--spacing) * 20)}.pt-6{padding-top:calc(var(--spacing) * 6)}.pt-8{padding-top:calc(var(--spacing) * 8)}.font-display{font-family:var(--font-display)}.text-\[18px\]{font-size:18px}.text-\[22px\]{font-size:22px}.text-\[32px\]{font-size:32px}.text-\[38px\]{font-size:38px}.text-\[40px\]{font-size:40px}.text-\[44px\]{font-size:44px}.text-\[52px\]{font-size:52px}.text-\[64px\]{font-size:64px}.leading-\[1\.1\]{--tw-leading:1.1;line-height:1.1}.leading-\[1\.02\]{--tw-leading:1.02;line-height:1.02}.text-balance{text-wrap:balance}.text-dim{color:var(--color-dim)}.text-faint{color:var(--color-faint)}.uppercase{text-transform:uppercase}.italic{font-style:italic}.underline{text-decoration-line:underline}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.blur{--tw-blur:blur(8px);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,)}.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,)}.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,)!important}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}@media (min-width:48rem){.md\:mb-10{margin-bottom:calc(var(--spacing) * 10)}.md\:p-6{padding:calc(var(--spacing) * 6)}.md\:p-8{padding:calc(var(--spacing) * 8)}.md\:py-12{padding-block:calc(var(--spacing) * 12)}.md\:py-16{padding-block:calc(var(--spacing) * 16)}.md\:py-22{padding-block:calc(var(--spacing) * 22)}.md\:py-28{padding-block:calc(var(--spacing) * 28)}.md\:text-\[44px\]{font-size:44px}.md\:text-\[52px\]{font-size:52px}.md\:text-\[64px\]{font-size:64px}}@media (min-width:64rem){.lg\:gap-14{gap:calc(var(--spacing) * 14)}.lg\:self-center{align-self:center}.lg\:self-stretch{align-self:stretch}.lg\:p-10{padding:calc(var(--spacing) * 10)}}}:root{--surface:#fafaf8;--surface-raised:#fff;--surface-soft:#f0efeb;--ink:#202124;--muted:#5c5c62;--line:#c9c9c2;--divider:var(--ink)}@supports (color:color-mix(in lab, red, red)){:root{--divider:color-mix(in srgb, var(--ink) 12%, transparent)}}:root{--accent:#b93422;--accent-soft:#fbe3dc;--accent-contrast:#fff;--brand:#d33d25;--blue:#3655ec;--blue-soft:#e7edff;--teal:#096346;--teal-soft:#d5efc1;--coral:#a92f20;--coral-soft:#f8dbcd;--ochre:#61540b;--ochre-soft:#ecf2b7;--violet:#70418d;--violet-soft:#eee3f6;--shadow:0 12px 30px #2021240a;--ease:cubic-bezier(.22, 1, .36, 1);--duration:.22s;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root.dark{--surface:#171719;--surface-raised:#222225;--surface-soft:#2b2b2f;--ink:#f7f5ee;--muted:#bdbbc0;--line:#424147;--accent:#ff8067;--accent-soft:#442923;--accent-contrast:#171719;--brand:#ff8067;--blue:#a2b6ff;--blue-soft:#252d53;--teal:#bfe99e;--teal-soft:#293c2a;--coral:#ff9d7e;--coral-soft:#472d24;--ochre:#e3e99a;--ochre-soft:#393b21;--shadow:0 12px 30px #00000020;--violet:#d9b4f1;--violet-soft:#36273f;--color-paper:var(--surface);--color-paper-soft:var(--surface-soft);--color-ink:var(--ink);--color-dim:var(--muted);--color-faint:var(--muted);--color-border-warm:var(--line);--color-accent:var(--accent);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:86px}body{background:var(--surface);color:var(--ink);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;margin:0;font-size:16px;line-height:1.55}button,input,textarea{font:inherit}button,summary{cursor:pointer}button,a,summary,textarea{-webkit-tap-highlight-color:transparent}button:disabled{cursor:wait}a{color:inherit;text-decoration:none}button{color:inherit}::selection{color:var(--accent-contrast);background:var(--accent)}:focus-visible{outline:2px solid var(--accent);outline-offset:4px;border-radius:2px}.theme-changing *,.theme-changing :before,.theme-changing :after{transition:none!important}img{max-width:100%;display:block}svg{flex-shrink:0}button svg,.button svg,.text-link svg{width:18px;height:18px}h1,h2,h3,h4,p{margin:0}h1,h2,h3{font-family:var(--font-display);text-wrap:balance}h2{letter-spacing:-.035em;font-size:clamp(32px,3.2vw,46px);font-weight:650;line-height:1.1}.section-shell{width:min(1280px,100% - 96px);margin-inline:auto}.section-description{color:var(--muted);max-width:560px;margin-top:10px;font-size:16px}.skip-link{z-index:30;background:var(--ink);color:var(--surface);padding:12px 20px;position:fixed;top:10px;left:20px;transform:translateY(-180%)}.skip-link:focus{transform:translateY(0)}.site-header{z-index:10;border-bottom:1px solid var(--divider);background:var(--surface);position:sticky;top:0}.header-inner{justify-content:space-between;align-items:center;gap:24px;height:66px;display:flex}.site-name{font-family:var(--font-display);letter-spacing:-.04em;white-space:nowrap;font-size:21px;font-weight:750}.name-period{color:var(--brand)}.site-header nav{align-items:center;gap:28px;display:flex}.site-header nav a{min-height:44px;color:var(--muted);align-items:center;font-size:14px;display:inline-flex;position:relative}.site-header nav a:after{content:"";background:var(--brand);transform-origin:0;height:2px;transition:transform var(--duration) var(--ease);position:absolute;bottom:6px;left:0;right:0;transform:scaleX(0)}.header-meta{align-items:center;gap:20px;display:flex}.availability{color:var(--muted);align-items:center;gap:8px;font-size:12px;display:inline-flex}.availability span{background:var(--teal);border-radius:50%;width:7px;height:7px}.theme-toggle{border:1px solid var(--line);background:0 0;border-radius:50%;place-items:center;width:44px;height:44px;display:inline-grid}.theme-toggle:hover{background:var(--accent-soft)}.theme-toggle svg{transition:transform .3s var(--ease)}.theme-toggle:hover svg{transform:rotate(25deg)}.hero{grid-template-columns:1fr .95fr;align-items:center;gap:64px;padding-block:40px 36px;display:grid}.hero-intro{align-items:center;gap:12px;margin-bottom:18px;font-size:14px;font-weight:600;display:inline-flex}.hero-intro small{color:var(--muted);margin-top:2px;font-size:12px;font-weight:400;display:block}.hero-portrait{background:var(--coral-soft);border-radius:50%;flex:0 0 44px;width:44px;height:44px;position:relative;overflow:hidden}.hero-portrait img{width:190px;max-width:none;height:auto;position:absolute;top:-37px;left:50%;transform:translate(-67%)}.hero-intro:hover .hero-portrait{outline:2px solid var(--brand);outline-offset:3px}h1{letter-spacing:-.045em;font-size:clamp(64px,7.4vw,104px);font-weight:750;line-height:.91}.hero h1 span{color:var(--brand)}.hero-role{font-family:var(--font-display);color:var(--brand);letter-spacing:-.025em;margin-top:23px;font-size:clamp(21px,2vw,27px);font-weight:600;line-height:1.2}.hero-description{max-width:450px;color:var(--muted);margin-top:13px;font-size:17px;line-height:1.55}.hero-actions{flex-wrap:wrap;align-items:center;gap:10px 20px;margin-top:23px;display:flex}.button{min-height:48px;transition:background var(--duration), transform var(--duration), box-shadow var(--duration);border:1px solid #0000;border-radius:4px;justify-content:center;align-items:center;gap:16px;padding:12px 17px;font-size:14px;font-weight:600;line-height:1.3;display:inline-flex}.button-primary{color:var(--accent-contrast);background:var(--accent)}.button:hover{box-shadow:3px 3px 0 var(--ink);transform:translateY(-2px)}.button-primary:hover{background:var(--accent)}@supports (color:color-mix(in lab, red, red)){.button-primary:hover{background:color-mix(in srgb, var(--accent) 90%, var(--ink))}}.text-link{align-items:center;gap:9px;min-height:44px;font-size:14px;font-weight:600;display:inline-flex}summary::-webkit-details-marker{display:none}.experience-strip{border-bottom:1px solid var(--divider);grid-template-columns:1.1fr .8fr 1fr 1.1fr;gap:24px;padding-block:18px;display:grid}.experience-strip>p{color:var(--muted);font-size:13px}.experience-strip>p strong{color:var(--ink);font-weight:600}.experience-strip>div{flex-direction:column;display:flex}.experience-strip>div>strong{font-family:var(--font-display);font-size:18px;font-weight:650}.experience-strip>div>span{color:var(--muted);margin-top:2px;font-size:12px}.work-section{padding-block:42px 24px}.section-heading-row{align-items:baseline;display:flex}[data-tone=coral]{--project-color:var(--coral);--project-surface:var(--coral-soft)}[data-tone=teal]{--project-color:var(--teal);--project-surface:var(--teal-soft)}[data-tone=ochre]{--project-color:var(--ochre);--project-surface:var(--ochre-soft)}[data-tone=blue]{--project-color:var(--blue);--project-surface:var(--blue-soft)}[data-tone=violet]{--project-color:var(--violet);--project-surface:var(--violet-soft)}.project-tabs{border-bottom:1px solid var(--divider);grid-template-columns:repeat(5,minmax(0,1fr));gap:0;margin-top:22px;display:grid}.project-tabs button{text-align:left;min-width:0;transition:background var(--duration), box-shadow var(--duration);background:0 0;border:0;align-items:center;gap:10px;padding:13px 14px;font-size:15px;font-weight:550;display:flex;box-shadow:inset 0 -3px #0000}.project-tabs small{color:var(--muted);margin-top:2px;font-size:11px;font-weight:400;display:block}.project-tab-dot{background:var(--project-color);flex-shrink:0;width:8px;height:8px}.project-tabs button[aria-selected=true]{background:var(--project-surface);color:var(--project-color);box-shadow:inset 0 -3px var(--project-color)}.project-tabs button:hover{background:var(--project-surface)}.project-tabs button:focus-visible{outline-offset:-4px}@media (prefers-reduced-motion:no-preference){.project-tab-dot{transition:transform .16s var(--ease)}.project-tabs button:active .project-tab-dot{transform:scale(.7)}.theme-toggle:active svg{transform:rotate(12deg)scale(.86)}}.project-stage{display:grid}.project-showcase{background:var(--surface-raised);border-bottom:1px solid var(--divider);grid-area:1/1;grid-template-columns:1.1fr .9fr;display:grid;overflow:hidden}.project-showcase[aria-hidden=true]{visibility:hidden;pointer-events:none}.project-showcase[aria-hidden=false]{animation:project-change .18s var(--ease)}.showcase-copy{flex-direction:column;justify-content:center;align-items:flex-start;padding:26px 30px;display:flex}.project-category{color:var(--project-color,var(--muted));margin-bottom:9px;font-size:12px;font-weight:600}.showcase-copy h3{letter-spacing:-.035em;max-width:410px;font-size:clamp(28px,2.7vw,38px);font-weight:650;line-height:1.1}.showcase-summary{color:var(--muted);max-width:47ch;margin-top:13px;font-size:15px;line-height:1.5}.showcase-facts{gap:26px;margin-block:16px;display:flex}.showcase-facts>div{flex-direction:column-reverse;display:flex}.showcase-facts dt{color:var(--muted);font-size:11px}.showcase-facts dd{font-family:var(--font-display);font-variant-numeric:tabular-nums;color:var(--project-color);margin:0;font-size:27px;font-weight:650;line-height:1.1}.project-actions{flex-wrap:wrap;align-items:center;gap:17px;display:flex}.project-actions .text-link{font-size:13px}.project-actions .button{gap:12px;min-height:44px;padding:10px 14px;font-size:13px}.showcase-note{color:var(--muted);max-width:55ch;margin-top:12px;font-size:11px}.project-image{display:block;position:relative;overflow:hidden}.showcase-image{background:var(--project-surface);align-items:center;min-height:340px;padding:26px;display:flex}.showcase-image img{aspect-ratio:36/25;border:1px solid var(--project-color);width:100%;height:auto}@supports (color:color-mix(in lab, red, red)){.showcase-image img{border:1px solid color-mix(in srgb, var(--project-color), transparent 60%)}}.showcase-image img{box-shadow:9px 10px 0 var(--project-color)}@supports (color:color-mix(in lab, red, red)){.showcase-image img{box-shadow:9px 10px 0 color-mix(in srgb, var(--project-color), transparent 80%)}}.showcase-image img{object-fit:contain;object-position:center;transition:transform .4s var(--ease)}.project-image:hover img{transform:translate(-3px,-3px)rotate(-.5deg)}.image-action{width:42px;height:42px;color:var(--ink);background:var(--surface-raised);border:1px solid var(--line);border-radius:50%;place-items:center;display:grid;position:absolute;bottom:14px;right:14px}.professional-work{border-bottom:1px solid var(--divider);grid-template-columns:.7fr 2fr;gap:30px;margin-top:20px;padding:22px 0;display:grid}.professional-header{color:var(--teal);flex-direction:column;justify-content:flex-start;align-items:flex-start;gap:8px;display:flex}.professional-header>p{flex-direction:column;font-size:13px;font-weight:600;display:flex}.professional-header>p span{color:var(--muted);margin-top:3px;font-size:11px;font-weight:400}.professional-header>a{font-family:var(--font-display);align-items:center;gap:7px;min-height:44px;font-size:22px;font-weight:650;display:inline-flex}.professional-header>a svg{width:17px;height:17px}.professional-main{grid-template-columns:1.7fr 1fr;gap:26px;display:grid}.professional-copy h3{letter-spacing:-.025em;font-size:24px;font-weight:650;line-height:1.18}.professional-copy>p,.work-detail p{max-width:65ch;color:var(--muted);margin-top:9px;font-size:14px}.professional-outputs{background:var(--teal-soft);align-self:start;padding:17px}.professional-outputs h4{color:var(--teal);margin:0 0 9px;font-size:12px;font-weight:650}.professional-outputs ul{margin:0;padding:0 0 0 15px;font-size:12px}.professional-outputs li{margin-bottom:7px;padding-left:1px}.professional-outputs li::marker{color:var(--teal)}.professional-report{border-top:1px solid var(--divider);grid-column:1/-1;grid-template-columns:1fr 1fr;align-items:center;gap:24px;padding-top:18px;display:grid}.professional-report h4{color:var(--teal);margin-bottom:8px;font-size:12px;font-weight:600}.report-turnaround{font-family:var(--font-display);flex-wrap:wrap;align-items:center;gap:9px;font-size:clamp(20px,2.3vw,28px);line-height:1.2;display:flex}.report-turnaround>span{color:var(--muted)}.report-turnaround svg{width:22px;height:22px;color:var(--teal)}.report-turnaround strong{color:var(--teal);font-weight:650}.professional-report>div>p:not(.report-turnaround){color:var(--ink);font-size:13px}.professional-report small{color:var(--muted);margin-top:6px;font-size:11px;display:block}.work-detail summary{min-height:44px;color:var(--teal);align-items:center;gap:8px;font-size:13px;font-weight:600;display:inline-flex}.work-detail summary svg{transition:transform var(--duration)}.work-detail[open] summary svg{transform:rotate(180deg)}.work-detail>div{padding-bottom:8px}.project-archive{margin-top:8px}.project-archive summary{align-items:center;gap:12px;min-height:44px;font-size:13px;display:flex}.project-archive summary span{color:var(--muted);font-size:11px}.project-archive summary svg{transition:transform var(--duration);margin-left:auto}.project-archive[open] summary svg{transform:rotate(90deg)}.project-archive>div{grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;padding-block:14px;display:grid}.project-archive>div>a{grid-template-columns:1fr 18px;gap:4px 16px;display:grid}.project-archive strong{font-size:15px;font-weight:600}.project-archive a span{color:var(--muted);grid-column:1;font-size:13px}.project-archive a svg{grid-area:1/2}.services-section{gap:24px;padding-block:28px 36px;display:grid}.services-intro{justify-content:space-between;align-items:baseline;gap:24px;display:flex}.services-intro .section-description{max-width:400px;margin-top:0}.service-options{border-top:1px solid var(--divider);min-width:0}.service-item{border-bottom:1px solid var(--divider);transition:background var(--duration)}.service-item[data-open=true]{background:var(--project-surface)}.service-item>h3{font:inherit}.service-item button{text-align:left;width:100%;min-height:68px;font-family:var(--font-display);background:0 0;border:0;justify-content:space-between;align-items:center;gap:14px;padding:18px 20px;font-size:22px;font-weight:550;line-height:1.15;display:flex}.service-item button:hover,.service-item[data-open=true] button{color:var(--project-color)}.service-item button>svg{transition:transform .25s var(--ease)}.service-item[data-open=true] button>svg{transform:rotate(45deg)}.service-panel{padding:0 20px 20px}.service-panel:not([hidden]){animation:panel-change .23s var(--ease)}.service-panel>p{max-width:64ch;font-size:15px}.service-panel p.service-evidence{color:var(--muted);margin-top:10px;font-size:13px}.service-bottom{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:0 18px;margin-top:12px;display:flex}.service-bottom .text-link{font-size:13px}.service-bottom .text-link:hover{color:var(--project-color)}.service-tools{color:var(--muted);font-size:12px}.development-tools{color:var(--muted);max-width:70ch;margin-top:-9px;font-size:13px}.about-section{grid-template-columns:.7fr 1fr;align-items:center;gap:56px;padding-block:34px;display:grid}.about-figure{min-width:0;margin:0}.about-figure figcaption{color:var(--muted);padding-top:8px;font-size:11px}.about-photo{aspect-ratio:1.15;min-width:0;position:relative;overflow:hidden}.about-photo img{width:auto;max-width:none;height:100%;position:absolute;top:0;left:50%;transform:translate(-67%)}.about-copy h2{color:var(--brand);margin-bottom:18px;font-size:clamp(30px,3vw,42px)}.about-copy>p{color:var(--muted);max-width:570px;margin-top:12px;font-size:16px}.about-links{flex-wrap:wrap;gap:25px;margin-top:15px;display:flex}.about-links .text-link{font-size:13px}.about-personal span:first-child{color:var(--coral)}.about-personal span:nth-child(2){color:var(--blue)}.about-personal span:nth-child(3){color:var(--teal)}.about-copy>p.about-personal{margin-top:12px;font-size:14px}.site-footer{border-top:1px solid var(--divider);grid-template-columns:1fr auto;gap:22px;padding-block:25px 20px;display:grid}.site-footer>div>p{color:var(--muted);margin-top:4px;font-size:12px}.footer-links{align-items:center;gap:16px;font-size:13px;display:flex}.footer-links a{touch-action:manipulation;align-items:center;gap:7px;min-width:44px;min-height:44px;display:inline-flex}.footer-email{--footer-color:var(--coral);--footer-soft:var(--coral-soft)}.footer-linkedin{--footer-color:var(--blue);--footer-soft:var(--blue-soft)}.footer-github{--footer-color:var(--teal);--footer-soft:var(--teal-soft)}.footer-cv{--footer-color:var(--ochre);--footer-soft:var(--ochre-soft)}.footer-link-icon{width:32px;height:32px;color:var(--footer-color);background:var(--footer-soft);border-radius:4px;flex-shrink:0;place-items:center;display:grid}.footer-link-icon svg{width:18px;height:18px}.footer-link-label{position:relative}.footer-link-label:after{content:"";transform-origin:0;background:currentColor;height:1px;position:absolute;bottom:-3px;left:0;right:0;transform:scaleX(0)}.footer-links a:is(:hover,:focus-visible){color:var(--footer-color)}.footer-links a:is(:hover,:focus-visible) .footer-link-label:after{transform:scaleX(1)}@media (prefers-reduced-motion:no-preference){.footer-link-icon,.footer-link-label:after{transition:transform .18s var(--ease)}.footer-links a:focus-visible .footer-link-icon{transform:translateY(-2px)}@media (hover:hover) and (pointer:fine){.footer-links a:hover .footer-link-icon{transform:translateY(-2px)rotate(-5deg)}}.footer-links a:active .footer-link-icon{transform:scale(.94)}}.footer-fine{color:var(--muted);grid-column:1/-1;justify-content:space-between;gap:20px;font-size:11px;display:flex}.inline-reference{text-decoration:underline;text-decoration-thickness:1px}@supports (color:color-mix(in lab, red, red)){.inline-reference{-webkit-text-decoration-color:color-mix(in srgb, currentColor, transparent 60%);-webkit-text-decoration-color:color-mix(in srgb, currentColor, transparent 60%);-webkit-text-decoration-color:color-mix(in srgb, currentColor, transparent 60%);text-decoration-color:color-mix(in srgb, currentColor, transparent 60%)}}.inline-reference{text-underline-offset:.2em}.case-study{max-width:1080px;padding-block:45px 65px}.case-study .back-link{color:var(--muted);margin-bottom:24px}.case-study h1{max-width:870px;font-size:clamp(38px,5vw,66px);line-height:1.07}.case-study .case-summary{max-width:740px;color:var(--muted);margin-top:20px;font-size:20px}.case-study .case-visual{border:1px solid var(--line);width:100%;height:auto;margin-top:30px}.case-study .case-note{color:var(--muted);margin-top:12px;font-size:12px}.case-content{grid-template-columns:1fr 2fr;gap:45px;margin-top:40px;display:grid}.case-content aside p{color:var(--muted);margin-top:12px;font-size:15px}.case-content h2{font-size:27px}.case-content section{margin-bottom:30px}.case-content section p{color:var(--muted);margin-top:12px;font-size:17px}.case-cta{border-top:1px solid var(--divider);flex-wrap:wrap;align-items:center;gap:20px;margin-top:35px;padding-top:25px;display:flex}.case-image-link{display:block}.case-image-link>span{min-height:44px;color:var(--muted);text-underline-offset:3px;justify-content:flex-end;align-items:center;gap:7px;font-size:12px;text-decoration:underline;display:flex}.case-ownership{margin-top:30px}.case-ownership h2{font-size:21px}.case-flow{background:var(--teal-soft);border:1px solid var(--teal);grid-template-columns:repeat(3,minmax(0,1fr));margin:24px 0 0;padding:0;list-style:none;display:grid}@supports (color:color-mix(in lab, red, red)){.case-flow{border:1px solid color-mix(in srgb, var(--teal), transparent 65%)}}.case-flow li{padding:18px 14px;position:relative}.case-flow li+li{border-left:1px solid var(--teal)}@supports (color:color-mix(in lab, red, red)){.case-flow li+li{border-left:1px solid color-mix(in srgb, var(--teal), transparent 65%)}}.case-flow li+li:before{content:"→";text-align:center;background:var(--teal-soft);width:20px;color:var(--teal);position:absolute;top:20px;left:-10px}.case-flow-number{font:12px var(--font-mono);color:var(--teal);margin-bottom:12px;display:block}.case-flow h3{text-wrap:initial;font-size:19px;font-weight:650;line-height:1.2}.case-content .case-flow p{color:var(--ink);margin-top:9px;font-size:13px;line-height:1.6}.case-decisions{counter-reset:decision;margin:16px 0 0;padding:0;list-style:none}.case-decisions li{counter-increment:decision;border-top:1px solid var(--divider);padding:20px 0 20px 36px;position:relative}.case-decisions li:before{content:"0" counter(decision);font:12px var(--font-mono);color:var(--accent);position:absolute;top:23px;left:0}.case-decisions h3{text-wrap:initial;font-size:21px;font-weight:600;line-height:1.3}.case-content .case-decisions p{margin-top:8px;font-size:16px}.case-checks{color:var(--muted);margin:16px 0 0;padding-left:20px;list-style:outside}.case-checks li{margin-top:10px;padding-left:4px}.case-checks li::marker{color:var(--teal)}.case-limits{border-left:3px solid var(--ochre);padding-left:20px}.project-metrics{gap:28px;margin-top:20px;display:flex}.project-metrics strong{color:var(--accent);font-size:26px;font-weight:600;display:block}.project-metrics span{color:var(--muted);font-size:12px;display:block}@keyframes panel-change{0%{opacity:.55;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}@keyframes project-change{0%{opacity:.8}to{opacity:1}}@media (prefers-reduced-motion:no-preference){.hero h1{animation:name-arrive .65s var(--ease) both}@keyframes name-arrive{0%{transform:translateY(6px)}to{transform:translateY(0)}}.scroll-arrive{animation:section-arrive .52s var(--ease)}.scroll-arrive:focus-within{animation:none}@keyframes section-arrive{0%{opacity:.72;transform:translateY(12px)}to{opacity:1;transform:none}}}@media (min-width:768px){.service-item[data-open=true]{grid-template-columns:minmax(240px,.7fr) minmax(0,1.3fr);display:grid}.service-item[data-open=true] button{align-items:flex-start}.service-item[data-open=true] .service-panel{padding:20px 24px 18px}}@media (max-width:1199px){.section-shell{width:calc(100% - 64px)}.hero{gap:35px;padding-block:34px}.header-meta{gap:12px}.availability{display:none}.hero-description{font-size:16px}.hero-actions{gap:6px 15px}.hero-actions .button{padding-inline:13px;font-size:13px}.showcase-copy{padding:23px}.showcase-image{min-height:300px;padding:20px}.professional-work{grid-template-columns:.55fr 2fr;gap:25px}.professional-main{grid-template-columns:1.5fr 1fr;gap:20px}.services-section{gap:22px}.about-section{gap:34px}}@media (max-width:900px){.hero{grid-template-columns:1fr .95fr;gap:28px}h1{font-size:76px}.hero-role{font-size:23px}.experience-strip{gap:16px}.experience-strip>div>strong{font-size:16px}.experience-strip>div>span{font-size:11px}.project-tabs button{padding-inline:10px;font-size:13px}.professional-main{grid-template-columns:1fr;gap:10px}.professional-outputs{padding:12px 15px}.professional-outputs ul{flex-wrap:wrap;gap:0 22px;display:flex}.professional-outputs h4{margin-bottom:6px}.services-section{gap:20px}.service-item button{font-size:20px}.about-section{grid-template-columns:.7fr 1fr}.about-photo{aspect-ratio:.85}}@media (max-width:1023px){.project-tabs{overscroll-behavior-x:contain;scrollbar-width:thin;scrollbar-color:var(--line) transparent;grid-template-columns:none;grid-auto-columns:minmax(max-content,1fr);grid-auto-flow:column;overflow-x:auto}.project-tabs button{white-space:nowrap}}@media (max-width:767px){html{scroll-padding-top:70px}.section-shell{width:calc(100% - 40px)}.header-inner{gap:12px;height:60px}.site-name{font-size:18px}.site-header nav{gap:14px;margin-left:auto}.site-header nav a{font-size:12px}.site-header nav a[href$=\#about],.site-header nav a[href$=\.pdf]{display:none}.header-meta{gap:0}.theme-toggle{width:40px;height:40px}.hero{grid-template-columns:1fr;gap:22px;padding-block:28px 24px}.hero-intro{margin-bottom:14px;font-size:13px}h1{font-size:clamp(66px,17vw,106px)}.hero-role{margin-top:20px;font-size:22px}.hero-description{max-width:480px;margin-top:10px;font-size:16px}.hero-actions{gap:6px 15px;margin-top:18px}.hero-actions .button{min-height:46px;font-size:13px}.hero-actions .text-link{font-size:13px}.experience-strip{grid-template-columns:1fr 1fr;gap:15px 20px;padding-block:16px}.experience-strip>p{font-size:12px}.experience-strip>div>strong{font-size:16px}.work-section{padding-block:30px 15px}h2{font-size:34px}.section-description{margin-top:8px;font-size:15px}.project-tabs{margin-top:18px}.project-tabs button{min-width:142px;min-height:51px;padding:10px;font-size:13px}.project-tabs small{display:none}.project-stage,.project-showcase{display:block}.project-showcase[aria-hidden=true]{display:none}.showcase-image{min-height:0;padding:16px}.showcase-image img{width:100%;height:auto;aspect-ratio:var(--image-ratio);object-fit:contain}.image-action{width:36px;height:36px;bottom:10px;right:10px}.showcase-copy{justify-content:flex-start;padding:20px}.showcase-copy .project-category{display:none}.showcase-copy h3{max-width:none;font-size:29px}.showcase-summary{margin-top:10px;font-size:14px}.showcase-facts{gap:25px;margin-block:14px}.showcase-facts dd{font-size:24px}.showcase-note{font-size:11px}.professional-work{grid-template-columns:1fr;gap:10px;margin-top:5px;padding-block:18px}.professional-header{flex-direction:row;justify-content:space-between;align-items:center}.professional-header>a{font-size:19px}.professional-header>p{font-size:12px}.professional-main{gap:9px}.professional-report{grid-template-columns:1fr;gap:12px;margin-top:8px;padding-top:15px}.professional-copy h3{font-size:23px}.professional-copy>p,.work-detail p{font-size:14px}.professional-outputs{padding:12px 15px}.professional-outputs ul{columns:2;column-gap:25px;display:block}.professional-outputs li{break-inside:avoid;margin-bottom:5px}.project-archive summary span{display:none}.project-archive>div{grid-template-columns:1fr;gap:20px}.services-section{grid-template-columns:1fr;gap:18px;padding-block:22px 30px}.services-intro{display:block}.services-intro .section-description{margin-top:9px}.services-intro{padding-top:0}.services-intro .section-description{max-width:none}.service-item button{min-height:58px;padding:15px 12px;font-size:19px}.service-panel{padding:0 12px 15px}.service-panel>p{font-size:14px}.service-panel p.service-evidence{margin-top:8px;font-size:12px}.service-bottom{flex-direction:column;align-items:flex-start;gap:4px;margin-top:8px}.about-section{grid-template-columns:1fr;gap:23px;padding-block:27px}.about-photo{aspect-ratio:1.4}.about-photo img{width:154%;height:auto;top:50%;transform:translate(-67%,-56%)}.about-copy h2{margin-bottom:13px;font-size:34px}.about-copy h2 br{display:none}.about-copy>p{margin-top:10px;font-size:15px}.about-links{gap:20px;margin-top:12px}.about-copy>p.about-personal{margin-top:8px;font-size:14px}.site-footer{grid-template-columns:1fr;gap:12px;padding-block:24px 20px}.footer-links{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid}.footer-links a{flex-direction:column;justify-content:center;gap:5px;padding-block:6px;font-size:12px}.footer-fine{flex-wrap:wrap;gap:5px 20px}.case-study{padding-top:28px}.case-study h1{font-size:39px}.case-study .case-summary{font-size:17px}.case-content{grid-template-columns:1fr;gap:24px;margin-top:30px}.case-content section p{font-size:16px}.case-flow{grid-template-columns:1fr}.case-flow li{padding:16px 18px 16px 54px}.case-flow li+li{border-left:0;border-top:1px solid var(--teal)}@supports (color:color-mix(in lab, red, red)){.case-flow li+li{border-top:1px solid color-mix(in srgb, var(--teal), transparent 65%)}}.case-flow li+li:before{content:"↓";top:-13px;left:18px}.case-flow-number{position:absolute;top:20px;left:20px}}@media (max-width:374px){.section-shell{width:calc(100% - 32px)}.site-header nav{gap:10px}.site-header nav a{font-size:11px}.site-name{font-size:16px}.header-inner{gap:8px}.theme-toggle{width:36px;height:36px}h1{font-size:64px}.hero-role{font-size:20px}.professional-outputs ul{columns:1}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition:none!important;animation:none!important}.button:hover,.project-image:hover img,.text-link:hover svg,.theme-toggle:hover svg{transform:none}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}
a[href]{--link-color:var(--project-color,var(--accent));--link-x:3px;--link-y:0px}a[target=_blank],a.button,a.contact-email{--link-x:2px;--link-y:-2px}a[download]{--link-x:0px;--link-y:2px}a.back-link{--link-x:-3px}.professional-work a,a.availability,.climate-counter-source a{--link-color:var(--teal)}:is(.text-link,.professional-header>a,.project-archive a strong){text-underline-offset:.22em;-webkit-text-decoration:underline #0000;text-decoration:underline #0000;text-decoration-thickness:1px}:is(.inline-reference,.climate-counter-source a,.cl-meta a,.cl-outro-primary,.cl-outro-secondary){text-decoration:underline;text-decoration-thickness:1px;-webkit-text-decoration-color:color-mix(in srgb, currentColor 40%, transparent);text-decoration-color:color-mix(in srgb, currentColor 40%, transparent);text-underline-offset:.2em}:is(.text-link,.inline-reference,.professional-header>a,.project-archive a,.climate-counter-source a,.cl-meta a,.cl-outro-primary,.cl-outro-secondary):is(:hover,:focus-visible),.contact-section a:is(.contact-email,.contact-calendar-link,.contact-mobile-booking-link,.contact-cal-external):is(:hover,:focus-visible){color:var(--link-color);text-underline-offset:.3em;text-decoration-color:currentColor}.project-archive a:is(:hover,:focus-visible) strong{text-underline-offset:.3em;text-decoration-color:currentColor}.case-image-link:is(:hover,:focus-visible)>span{color:var(--link-color);text-underline-offset:5px}.case-image-link:is(:hover,:focus-visible) .case-visual{border-color:var(--link-color)}.site-header .site-name{align-items:center;min-height:44px;display:inline-flex}.site-name .name-period{transform-origin:50% 75%;display:inline-block}.site-header nav a{isolation:isolate}.site-header nav a:before{content:"";z-index:-1;background:var(--accent-soft);opacity:0;pointer-events:none;border-radius:4px;position:absolute;inset:6px -8px}.site-header nav a:after{background:var(--accent);pointer-events:none;bottom:7px}.site-header nav a:is(:hover,:focus-visible){color:var(--accent)}.site-header nav a:is(:hover,:focus-visible):before{opacity:.65}.site-header nav a:is(:hover,:focus-visible):after{transform:scaleX(1)}.availability{min-height:44px}.availability:is(:hover,:focus-visible){color:var(--teal)}.availability:is(:hover,:focus-visible) span{box-shadow:0 0 0 5px var(--teal-soft)}.hero-intro:is(:hover,:focus-visible){color:var(--accent)}.hero-intro:focus-visible .hero-portrait{outline:2px solid var(--brand);outline-offset:3px}.project-image:is(:hover,:focus-visible) .image-action{color:var(--project-color);background:var(--project-surface);border-color:currentColor}.contact-section .contact-draft:is(:hover,:focus-visible){background-color:color-mix(in srgb, var(--accent) 90%, var(--ink))}@media (prefers-reduced-motion:no-preference){:where(a[href]),.project-archive a strong,.case-image-link>span{transition:color var(--duration) var(--ease), text-decoration-color var(--duration) var(--ease), text-underline-offset var(--duration) var(--ease)}.site-header nav a:before{transition:opacity var(--duration) var(--ease)}.site-name .name-period{transition:transform var(--duration) var(--ease)}.availability span{transition:box-shadow var(--duration) var(--ease)}.hero-portrait{transition:outline-offset var(--duration) var(--ease), outline-color var(--duration) var(--ease)}.image-action{transition:color var(--duration) var(--ease), background-color var(--duration) var(--ease), border-color var(--duration) var(--ease)}.case-visual{transition:border-color var(--duration) var(--ease)}:is(.text-link,.professional-header>a,.project-archive a,.button,.contact-email,.contact-calendar-link,.contact-mobile-booking-link,.contact-cal-external,.contact-draft)>svg,.case-image-link>span>svg,.image-action svg{transition:transform var(--duration) var(--ease)}:is(.text-link,.professional-header>a,.project-archive a,.button,.contact-email,.contact-calendar-link,.contact-mobile-booking-link,.contact-cal-external,.contact-draft):focus-visible>svg,.case-image-link:focus-visible>span>svg{transform:translate(var(--link-x), var(--link-y))}.site-name:focus-visible .name-period{transform:translateY(-2px)scale(1.15)}@media (hover:hover) and (pointer:fine){:is(.text-link,.professional-header>a,.project-archive a,.button,.contact-email,.contact-calendar-link,.contact-mobile-booking-link,.contact-cal-external,.contact-draft):hover>svg,.case-image-link:hover>span>svg{transform:translate(var(--link-x), var(--link-y))}.project-image:hover .image-action svg{transform:translate(2px,-2px)}.site-name:hover .name-period{transform:translateY(-2px)scale(1.15)}}}@media (max-width:767px){.site-header nav a:before{inset-inline:-4px}}@media (pointer:coarse) and (min-width:375px){.site-header nav a{justify-content:center;min-width:44px}}@media print{.cl-meta a,.cl-outro-primary,.cl-outro-secondary{color:inherit;text-decoration-color:currentColor}}
