/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */
@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-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}}}@layer theme{:root,:host{--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@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,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, 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]){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;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:where(:not(iframe)){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{.fixed{position:fixed}.hidden{display:none}.italic{font-style:italic}.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,)}}@font-face{font-family:Noto Sans;src:url(/fonts/noto-sans-latin-variable.woff2)format("woff2-variations");font-style:normal;font-weight:100 900;font-display:swap}@font-face{font-family:Noto Sans;src:url(/fonts/noto-sans-latin-italic-variable.woff2)format("woff2-variations");font-style:italic;font-weight:100 900;font-display:swap}@font-face{font-family:Merriweather;src:url(/fonts/merriweather-latin-variable.woff2)format("woff2-variations");font-style:normal;font-weight:300 900;font-display:swap}@font-face{font-family:Merriweather;src:url(/fonts/merriweather-latin-italic-variable.woff2)format("woff2-variations");font-style:italic;font-weight:300 900;font-display:swap}:root{--accent:#e16b8c;--accent-light:#f596aa;--accent-dark:#db4d6d;--black:40, 40, 40;--gray:120, 120, 120;--gray-light:220, 231, 235;--gray-dark:60, 60, 60;--pink-light:255, 240, 245;--pink-gradient:rgba(var(--pink-light), 50%), #fff;--box-shadow:0 2px 6px rgba(var(--gray), 25%), 0 8px 24px rgba(var(--gray), 20%);--background:255, 255, 255;--background-gradient-start:var(--pink-light);--background-gradient-end:255, 255, 255;--text:var(--gray-dark);--card-bg:255, 255, 255;--header-bg:255, 255, 255, .9;--code-bg:var(--gray-light)}@media (prefers-color-scheme:dark){:root{--black:220, 220, 220;--gray:180, 180, 180;--gray-light:70, 70, 80;--gray-dark:220, 220, 220;--pink-light:45, 30, 35;--pink-gradient:rgba(var(--pink-light), 80%), #1a1a1a;--box-shadow:0 2px 6px #0006, 0 8px 24px #0000004d;--background:26, 26, 26;--background-gradient-start:var(--pink-light);--background-gradient-end:26, 26, 26;--text:var(--gray-dark);--card-bg:35, 35, 35;--header-bg:30, 30, 30, .95;--code-bg:var(--gray-light)}}*{box-sizing:border-box}html{scroll-behavior:smooth;min-width:320px}body{min-height:100vh;color:rgb(var(--text));background:linear-gradient(rgba(var(--background-gradient-start), 50%), rgb(var(--background-gradient-end))) no-repeat;background-color:rgb(var(--background));overflow-wrap:break-word;background-size:100% 600px;margin:0;font-family:Noto Sans,system-ui,sans-serif;font-size:17px;line-height:1.65}a{color:var(--accent);text-underline-offset:.18em;text-decoration:none}a:hover{color:var(--accent-dark);text-decoration:underline}a:focus-visible{outline:3px solid var(--accent-light);outline-offset:4px;border-radius:3px}h1,h2,h3{color:rgb(var(--black));text-wrap:balance;margin:0;font-weight:720;line-height:1.18}h1{letter-spacing:-.045em;font-size:clamp(2.35rem,7vw,4.85rem)}h2{letter-spacing:-.025em;font-size:clamp(1.55rem,3vw,2.15rem)}h3{font-size:1.18rem}p,ul,dl{margin:0}code{background:rgb(var(--code-bg));border-radius:4px;padding:.12em .34em;font-size:.9em}.site-header{z-index:10;border-bottom:1px solid rgba(var(--gray), 18%);background:rgba(var(--header-bg));backdrop-filter:blur(5px);position:sticky;top:0}.nav-shell{justify-content:space-between;align-items:center;gap:1rem;width:min(1120px,100% - 2rem);min-height:68px;margin:0 auto;display:flex}.site-name{color:rgb(var(--black));font-family:Merriweather,Georgia,serif;font-size:1.08rem;font-weight:700}.nav-shell ul{gap:.25rem;margin:0;padding:0;list-style:none;display:flex}.nav-shell li a{color:rgb(var(--text));padding:.5rem .7rem;font-size:.94rem;font-weight:650;display:block}.nav-shell li a[aria-current=page]{color:var(--accent-dark)}.page-shell{width:min(72ch,100% - 2rem);min-height:calc(100vh - 150px);margin:0 auto;padding:clamp(3.5rem,8vw,7rem) 0}.page-shell--wide{width:min(940px,100% - 2rem)}.site-footer{border-top:1px solid rgba(var(--gray), 22%);width:min(1120px,100% - 2rem);color:rgb(var(--gray));text-align:center;margin:0 auto;padding:2rem 0 3rem;font-size:.86rem}.eyebrow{color:var(--accent-dark);letter-spacing:.13em;text-transform:uppercase;font-size:.75rem;font-weight:780}.hero{align-content:center;gap:1.35rem;min-height:500px;display:grid}.hero h1{font-size:clamp(2.35rem,6vw,4rem)}.hero__headline{max-width:58ch;color:rgb(var(--black));font-size:clamp(1.15rem,2.5vw,1.55rem);font-weight:650;line-height:1.45}.hero__intro,.page-intro>p:last-child,.lede{max-width:66ch;font-size:1.04rem}.hero__intro{text-wrap:pretty;width:100%;max-width:none}.hero__actions{flex-wrap:wrap;align-items:center;gap:1.25rem;margin-top:.4rem;display:flex}.button{border:1px solid var(--accent-dark);background:var(--accent-dark);color:#fff;border-radius:999px;align-items:center;min-height:44px;padding:.65rem 1.1rem;font-weight:700;display:inline-flex}.button:hover{background:var(--accent);color:#fff;text-decoration:none}.text-link{font-weight:700}.featured-work{padding-top:3rem}.section-heading,.page-intro,.case-header{gap:1rem;margin-bottom:2.5rem;display:grid}.page-intro h1{font-size:clamp(2rem,5vw,3.25rem)}.work-grid,.work-list{gap:1.25rem;display:grid}.work-carousel{position:relative}.work-carousel:before,.work-carousel:after{z-index:1;content:"";opacity:0;pointer-events:none;width:4.5rem;transition:opacity .18s;position:absolute;top:0;bottom:0}.work-carousel:before{background:linear-gradient(to left, rgba(var(--background), 0), rgb(var(--background)) 88%);left:0}.work-carousel:after{background:linear-gradient(to right, rgba(var(--background), 0), rgb(var(--background)) 88%);right:0}.work-carousel.is-enhanced:not(.is-at-start):before,.work-carousel.is-enhanced:not(.is-at-end):after{opacity:1}.featured-work .work-grid{overscroll-behavior-inline:contain;scroll-snap-type:inline mandatory;scrollbar-width:none;-webkit-overflow-scrolling:touch;grid-auto-columns:calc(50% - .625rem);grid-auto-flow:column;padding:1.5rem 1.5rem 2rem;scroll-padding-inline:1.5rem;overflow:auto hidden}.featured-work .work-grid::-webkit-scrollbar{display:none}.featured-work .work-grid:focus-visible{outline:3px solid var(--accent-light);outline-offset:4px;border-radius:12px}.featured-work .work-card{scroll-snap-align:start}.work-carousel__hint{z-index:2;border:1px solid rgba(var(--gray), 20%);background:rgba(var(--header-bg));width:2.75rem;height:2.75rem;box-shadow:0 2px 8px rgba(var(--gray), 18%);color:var(--accent-dark);font:inherit;opacity:.94;cursor:pointer;backdrop-filter:blur(4px);border-radius:999px;place-items:center;font-size:1.4rem;line-height:1;display:grid;position:absolute;top:50%;right:.75rem;transform:translateY(-50%)}.work-carousel__hint[hidden]{display:none}.work-carousel__hint:hover{border-color:rgba(var(--gray), 32%);color:var(--accent);transform:translateY(-50%)scale(1.04)}.work-carousel__hint:focus-visible{outline:3px solid var(--accent-light);outline-offset:4px}.work-card{border:1px solid rgba(var(--gray), 18%);background:rgb(var(--card-bg));box-shadow:var(--box-shadow);border-radius:18px;gap:.85rem;padding:clamp(1.25rem,3vw,1.8rem);display:grid}.work-card__meta{color:rgb(var(--gray));letter-spacing:.08em;text-transform:uppercase;justify-content:space-between;gap:1rem;font-size:.75rem;font-weight:750;display:flex}.work-card h2{font-size:1.35rem}.work-card h2 a{color:rgb(var(--black))}.work-card__role{color:rgb(var(--gray));font-size:.88rem;font-weight:650}.tag-list{flex-wrap:wrap;gap:.45rem;padding:0;list-style:none;display:flex}.tag-list li{background:rgba(var(--gray-light), 55%);min-height:1.65rem;color:rgb(var(--text));border-radius:999px;align-items:center;padding:.22rem .55rem;font-size:.72rem;font-weight:650;line-height:1;display:inline-flex}.writing-note,.artefacts{border-left:4px solid var(--accent);background:rgba(var(--pink-light), 55%);border-radius:0 12px 12px 0;margin-top:3rem;padding:1.5rem}.writing-note h2,.artefacts h2{margin-bottom:.75rem;font-size:1.2rem}.case-header+.artefacts{margin-top:0;margin-bottom:3rem}.case-header h1{font-size:clamp(2.2rem,6vw,4rem)}.case-facts{border-top:1px solid rgb(var(--gray-light));border-bottom:1px solid rgb(var(--gray-light));gap:.8rem;margin-top:1rem;padding:1.2rem 0;display:grid}.case-facts div{grid-template-columns:5rem 1fr;gap:.75rem;display:grid}.case-facts dt{color:rgb(var(--gray));text-transform:uppercase;font-size:.8rem;font-weight:750}.case-facts dd{margin:0}.prose h2{border-bottom:1px solid rgb(var(--gray-light));margin-top:3.5rem;padding-bottom:.75rem}.prose h3{margin-top:2rem}.prose p,.prose ul{margin-top:1.15rem}.prose ul{padding-left:1.25rem;list-style-type:disc}.artefacts ul{margin:0;padding-left:1.15rem}.cv-page{border:1px solid rgba(var(--gray), 16%);background:rgb(var(--card-bg));box-shadow:var(--box-shadow);border-radius:18px;padding:clamp(1.5rem,4vw,3.25rem)}.cv-header{border-bottom:2px solid var(--accent);break-inside:avoid;gap:.65rem;padding-bottom:1.75rem;display:grid}.cv-header h1{font-size:clamp(2.25rem,6vw,3.8rem)}.cv-headline{color:rgb(var(--black));font-size:1.05rem;font-weight:650}.cv-header address{flex-wrap:wrap;align-items:center;gap:.25rem 1rem;font-size:.88rem;font-style:normal;display:flex}.cv-rights,.cv-languages{font-size:.84rem}.cv-languages{flex-wrap:wrap;gap:.2rem 1.1rem;display:flex}.cv-body h2{margin-top:2.5rem;font-size:1.45rem}.cv-body h3{margin-top:1.8rem;font-size:1.08rem}.cv-body h3+p{color:rgb(var(--gray));margin-top:.35rem;font-size:.87rem}.cv-body h3+p+ul{margin-top:.65rem}.not-found{align-content:center;gap:1rem;min-height:50vh;display:grid}@media (width>=860px){.featured-work .work-grid{grid-auto-columns:calc(33.3333% - .833333rem);width:min(1168px,100vw - 1rem);margin-inline:calc(min(1168px,100vw - 1rem)/-2 + 50%)}.work-carousel__hint{right:calc(min(1168px,100vw - 1rem)/-2 + 50% + 2rem)}.work-carousel:before{left:calc(min(1168px,100vw - 1rem)/-2 + 50%)}.work-carousel:after{right:calc(min(1168px,100vw - 1rem)/-2 + 50%)}}@media (width<=700px){.featured-work .work-grid{scroll-snap-type:none;grid-template-columns:minmax(0,1fr);grid-auto-columns:auto;grid-auto-flow:row;margin-inline:0;padding:0;overflow:visible}.work-carousel__hint,.work-carousel:before,.work-carousel:after{display:none}}@media (width<=520px){body{font-size:16px}.page-shell,.page-shell--wide,.nav-shell,.site-footer{width:min(100% - 3rem,72ch)}.page-shell{padding-block:3rem}.hero{min-height:440px}.cv-page{border-radius:12px;padding:1.15rem}.cv-header address,.cv-languages{flex-direction:column;align-items:flex-start}.case-facts div{grid-template-columns:1fr;gap:.1rem}}@media print{@page{margin:1.5cm}.site-header,.site-footer,.button,.text-link{display:none!important}html,body{min-width:0;font-size:9.5pt;line-height:1.38;color:#000!important;background:#fff!important}.page-shell,.page-shell--wide{width:100%;min-height:0;margin:0;padding:0}.cv-page{border:0;border-radius:0;padding:0;color:#000!important;box-shadow:none!important;background:#fff!important}.cv-page *,.cv-page a,.cv-page h1,.cv-page h2,.cv-page h3{color:#000!important;box-shadow:none!important;text-shadow:none!important;background:0 0!important}.cv-header{break-inside:avoid;border-bottom:1px solid #000;gap:3pt;padding-bottom:8pt}.cv-header .eyebrow{display:none}.cv-header h1{font-size:23pt}.cv-headline{font-size:10pt}.cv-header address,.cv-rights,.cv-languages{font-size:8.2pt}.cv-body h2{break-after:avoid;border-bottom:1px solid #000;margin-top:12pt;padding-bottom:3pt;font-size:13pt}.cv-body h3{break-after:avoid;margin-top:8pt;font-size:10.5pt}.cv-body h3+p{break-after:avoid;margin-top:1pt;font-size:8.5pt}.cv-body p,.cv-body ul{margin-top:4pt}.cv-body ul,.cv-body li{break-inside:avoid}.cv-body a[href^=http]:after,.cv-header a[href^=http]:after{content:" (" attr(href) ")";overflow-wrap:anywhere;font-size:.9em}}@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}
