@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-space-y-reverse:0;--tw-border-style:solid;--tw-gradient-position:initial;--tw-gradient-from:#0000;--tw-gradient-via:#0000;--tw-gradient-to:#0000;--tw-gradient-stops:initial;--tw-gradient-via-stops:initial;--tw-gradient-from-position:0%;--tw-gradient-via-position:50%;--tw-gradient-to-position:100%;--tw-font-weight:initial;--tw-duration: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}}}@layer theme{:root,:host{--font-sans:ui-sans-serif,system-ui,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;--color-red-400:#ff6568;--color-red-700:#bf000f;--color-red-900:#82181a;--color-orange-400:#ff8b1a;--color-orange-700:#c53c00;--color-orange-900:#7e2a0c;--color-emerald-600:#009767;--color-blue-600:#155dfc;--color-purple-500:#ac4bff;--color-purple-600:#9810fa;--color-gray-300:#d1d5dc;--color-gray-400:#99a1af;--color-gray-500:#6a7282;--color-gray-700:#364153;--color-gray-800:#1e2939;--color-white:#fff;--spacing:.25rem;--container-md:28rem;--text-xs:.75rem;--text-xs--line-height:calc(1/.75);--text-2xl:1.5rem;--text-2xl--line-height:calc(2/1.5);--text-3xl:1.875rem;--text-3xl--line-height:calc(2.25/1.875);--text-4xl:2.25rem;--text-4xl--line-height:calc(2.5/2.25);--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--radius-xl:.75rem;--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)}@supports (color:lab(0% 0 0)){:root,:host{--color-red-400:lab(63.7053% 60.745 31.3109);--color-red-700:lab(40.4273% 67.2623 53.7441);--color-red-900:lab(28.5139% 44.5539 29.0463);--color-orange-400:lab(70.0429% 42.5156 75.8207);--color-orange-700:lab(46.4615% 57.7275 70.8507);--color-orange-900:lab(30.2951% 36.0434 37.671);--color-emerald-600:lab(55.0481% -49.9246 15.93);--color-blue-600:lab(44.0605% 29.0279 -86.0352);--color-purple-500:lab(52.0183% 66.11 -78.2316);--color-purple-600:lab(43.0295% 75.21 -86.5669);--color-gray-300:lab(85.1236% -.612259 -3.7138);--color-gray-400:lab(65.9269% -.832707 -8.17473);--color-gray-500:lab(47.7841% -.393182 -10.0268);--color-gray-700:lab(27.1134% -.956401 -12.3224);--color-gray-800:lab(16.1051% -1.18239 -11.7533)}}}@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}:-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{.visible{visibility:visible}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.static{position:static}.mt-6{margin-top:calc(var(--spacing)*6)}.mr-2{margin-right:calc(var(--spacing)*2)}.mb-2{margin-bottom:calc(var(--spacing)*2)}.mb-4{margin-bottom:calc(var(--spacing)*4)}.mb-6{margin-bottom:calc(var(--spacing)*6)}.mb-8{margin-bottom:calc(var(--spacing)*8)}.flex{display:flex}.inline{display:inline}.inline-flex{display:inline-flex}.table{display:table}.h-4{height:calc(var(--spacing)*4)}.h-8{height:calc(var(--spacing)*8)}.min-h-screen{min-height:100vh}.w-4{width:calc(var(--spacing)*4)}.w-8{width:calc(var(--spacing)*8)}.w-full{width:100%}.max-w-md{max-width:var(--container-md)}.items-center{align-items:center}.justify-center{justify-content:center}:where(.space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*3)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*3)*calc(1 - var(--tw-space-y-reverse)))}.rounded-full{border-radius:3.40282e38px}.rounded-xl{border-radius:var(--radius-xl)}.border{border-style:var(--tw-border-style);border-width:1px}.border-orange-700\/50{border-color:#c53c0080}@supports (color:color-mix(in lab, red, red)){.border-orange-700\/50{border-color:color-mix(in oklab,var(--color-orange-700)50%,transparent)}}.border-red-700\/50{border-color:#bf000f80}@supports (color:color-mix(in lab, red, red)){.border-red-700\/50{border-color:color-mix(in oklab,var(--color-red-700)50%,transparent)}}.bg-gray-800{background-color:var(--color-gray-800)}.bg-orange-900\/30{background-color:#7e2a0c4d}@supports (color:color-mix(in lab, red, red)){.bg-orange-900\/30{background-color:color-mix(in oklab,var(--color-orange-900)30%,transparent)}}.bg-red-900\/30{background-color:#82181a4d}@supports (color:color-mix(in lab, red, red)){.bg-red-900\/30{background-color:color-mix(in oklab,var(--color-red-900)30%,transparent)}}.bg-gradient-to-r{--tw-gradient-position:to right in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.from-blue-600{--tw-gradient-from:var(--color-blue-600);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.via-purple-600{--tw-gradient-via:var(--color-purple-600);--tw-gradient-via-stops:var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-via)var(--tw-gradient-via-position),var(--tw-gradient-to)var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}.to-emerald-600{--tw-gradient-to:var(--color-emerald-600);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.p-4{padding:calc(var(--spacing)*4)}.px-4{padding-inline:calc(var(--spacing)*4)}.px-6{padding-inline:calc(var(--spacing)*6)}.py-3{padding-block:calc(var(--spacing)*3)}.pt-20{padding-top:calc(var(--spacing)*20)}.text-center{text-align:center}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.text-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.text-gray-300{color:var(--color-gray-300)}.text-gray-400{color:var(--color-gray-400)}.text-gray-500{color:var(--color-gray-500)}.text-orange-400{color:var(--color-orange-400)}.text-red-400{color:var(--color-red-400)}.text-white{color:var(--color-white)}.uppercase{text-transform:uppercase}.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,visibility,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))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-300{--tw-duration:.3s;transition-duration:.3s}@media (hover:hover){.hover\:bg-gray-700:hover{background-color:var(--color-gray-700)}.hover\:shadow-lg:hover{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a),0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.hover\:shadow-purple-500\/50:hover{--tw-shadow-color:#ac4bff80}@supports (color:color-mix(in lab, red, red)){.hover\:shadow-purple-500\/50:hover{--tw-shadow-color:color-mix(in oklab,color-mix(in oklab,var(--color-purple-500)50%,transparent)var(--tw-shadow-alpha),transparent)}}}}:root{--font-source-sans:Arial;--font-source-serif:Georgia;--canvas:#f7f9fa;--surface:#fff;--surface-muted:#eaf0f2;--text:#111820;--text-muted:#4b5b65;--border:#c9d5da;--accent:#007f9e;--accent-strong:#006780;--focus:#005f78;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}.dark{--canvas:#081014;--surface:#0e181d;--surface-muted:#14242b;--text:#f3f7f8;--text-muted:#bed0d5;--border:#36515a;--accent:#46bdd0;--accent-strong:#70d1df;--focus:#9ae4ec;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{border-color:var(--border)}html{scroll-behavior:smooth;min-width:320px}body{background:var(--canvas);min-width:320px;color:var(--text);font-family:var(--font-source-sans),Arial,sans-serif;margin:0;line-height:1.5}h1,h2,h3{font-family:var(--font-source-serif),Georgia,serif}a{color:inherit}:focus-visible{outline:3px solid var(--focus);outline-offset:3px}.skip-link{z-index:100;background:var(--accent);color:#fff;border-radius:.375rem;padding:.6rem .9rem;font-weight:700;position:fixed;top:.75rem;left:.75rem;transform:translateY(-200%)}.skip-link:focus{transform:translateY(0)}.site-header{z-index:40;border-bottom:1px solid var(--border);background:var(--canvas);position:sticky;top:0}@supports (color:color-mix(in lab, red, red)){.site-header{background:color-mix(in srgb,var(--canvas)94%,transparent)}}.site-header{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.site-header-inner,.site-footer-inner{justify-content:space-between;align-items:center;gap:1rem;width:min(100% - 2rem,72rem);min-height:4.5rem;margin:0 auto;display:flex}.site-brand{border:1px solid var(--border);color:var(--text);font-family:var(--font-source-serif),Georgia,serif;letter-spacing:-.025em;border-radius:.25rem;padding:.2rem .38rem;font-size:1.25rem;font-weight:700;text-decoration:none;transition:border-color .12s;display:inline-flex}.site-brand:hover,.site-brand:focus-visible{border-color:var(--accent)}.site-brand-letter{color:var(--text);transition:color .1s}.site-brand-letter:nth-child(6){margin-right:.28em}.site-brand-letter--initial{color:var(--accent-strong)}.site-brand:hover .site-brand-letter,.site-brand:focus-visible .site-brand-letter{color:var(--accent-strong);transition-delay:calc(var(--brand-index)*35ms)}.site-navigation{gap:1.4rem;display:flex}.site-navigation a{color:var(--text-muted);font-weight:600;text-decoration:none}.site-navigation a:hover{color:var(--accent-strong)}.site-actions{align-items:center;gap:.75rem;display:flex}.button,.icon-button{border:1px solid var(--border);background:var(--surface);min-height:2.5rem;color:var(--text);font:inherit;border-radius:.4rem;justify-content:center;align-items:center;font-weight:650;text-decoration:none;display:inline-flex}.button{padding:.45rem .75rem}.button-primary{border-color:var(--accent);background:var(--accent);color:#fff}.button-primary:hover{background:var(--accent-strong);color:#fff}.dark .button-primary,.dark .button-primary:hover{color:#081014}.icon-button{cursor:pointer;width:2.5rem;padding:0}.button-secondary:hover,.icon-button:hover{border-color:var(--accent);color:var(--accent-strong)}.mobile-navigation{display:none;position:relative}.mobile-navigation-menu{border:1px solid var(--border);background:var(--surface);border-radius:.5rem;min-width:12rem;display:grid;position:absolute;top:calc(100% + .65rem);right:0;overflow:hidden;box-shadow:0 16px 36px #0000002e}.mobile-navigation-menu a{color:var(--text);padding:.8rem 1rem;font-weight:600;text-decoration:none}.mobile-navigation-menu a:hover{background:var(--surface-muted)}.site-footer{border-top:1px solid var(--border);background:var(--surface)}.site-footer p{color:var(--text-muted);font-size:.925rem}.site-footer nav{gap:.85rem;display:flex}.site-footer nav a{color:var(--text-muted)}.site-footer nav a:hover{color:var(--accent-strong)}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (max-width:700px){.site-header-inner,.site-footer-inner{width:min(100% - 1.25rem,72rem)}.site-navigation,.site-actions>.button{display:none}.mobile-navigation{display:block}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.site-brand-letter{transition-delay:0s!important}}.homepage{--home-width:76rem;overflow:clip}.homepage-hero,.homepage-section,.contact-panel{width:min(100% - 2rem,var(--home-width));margin-inline:auto}.homepage-hero{grid-template-columns:minmax(0,1.05fr) minmax(24rem,.9fr);align-items:start;gap:clamp(2.5rem,5vw,5rem);min-height:min(44rem,100svh - 4.5rem);padding:clamp(4.5rem,9vw,8rem) 0;display:grid}.homepage-hero-copy h1{letter-spacing:-.06em;text-wrap:balance;max-width:11ch;margin:0;font-size:clamp(3.2rem,7vw,6.5rem);line-height:.93}.homepage-proposition{max-width:36rem;color:var(--text-muted);margin:1.75rem 0 0;font-size:clamp(1.2rem,2vw,1.55rem);line-height:1.45}.homepage-supporting-copy{max-width:43rem;color:var(--text-muted);margin:1rem 0 0;line-height:1.65}.homepage-actions{flex-wrap:wrap;gap:.75rem;margin-top:2rem;display:flex}.homepage-actions .button{min-height:3rem;padding:.7rem 1rem}.project-card-label,.eyebrow{color:var(--accent-strong);letter-spacing:.08em;text-transform:uppercase;font-size:.75rem;font-weight:750}.homepage-section{padding:clamp(4.5rem,9vw,7.5rem) 0}.section-intro{margin-bottom:clamp(2rem,5vw,4rem)}.section-intro-row{justify-content:space-between;align-items:end;gap:2rem;display:flex}.section-intro h2,.contact-panel h2{letter-spacing:-.05em;text-wrap:balance;max-width:18ch;margin:0;font-size:clamp(2.4rem,5vw,4.5rem);line-height:.98}.section-intro>p:not(.eyebrow),.contact-panel>div>p:not(.eyebrow){max-width:32rem;color:var(--text-muted);margin:0;line-height:1.6}.section-intro a,.visual-work-story a,.experience-snapshot a,.writing-preview a{color:var(--accent-strong);text-underline-offset:.25em;font-weight:750}.visual-work-stories{border:1px solid var(--border);background:var(--border);gap:1px;display:grid}.visual-work-story{background:var(--surface);grid-template-columns:minmax(13rem,.72fr) minmax(0,1.28fr);column-gap:clamp(2rem,6vw,6rem);padding:clamp(1.5rem,4vw,3rem);display:grid}.visual-work-story-heading h3{letter-spacing:-.04em;max-width:17ch;margin:.6rem 0 0;font-size:clamp(1.8rem,3.4vw,3rem);line-height:1}.visual-work-story-details{max-width:34rem}.visual-work-story-details>p{color:var(--text-muted);margin:0;line-height:1.6}.visual-work-story-details ul{color:var(--text-muted);flex-wrap:wrap;gap:.45rem .9rem;margin:1.25rem 0;padding:0;font-size:.85rem;list-style:none;display:flex}.visual-work-story-details li:before{color:var(--accent);content:"•";margin-right:.35rem}@media (min-width:801px){.visual-work-story{align-items:start}}.experience-snapshot{border-top:1px solid var(--border)}.experience-snapshot>ol{border-top:1px solid var(--border);margin:0;padding:0;list-style:none}.experience-snapshot li{border-bottom:1px solid var(--border);grid-template-columns:minmax(12rem,.7fr) 1fr auto;gap:1rem;padding:1.2rem 0;display:grid}.experience-snapshot span,.experience-snapshot time{color:var(--text-muted)}.experience-snapshot time{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.85rem}.writing-preview-list{border-top:1px solid var(--border);display:grid}.writing-preview-list a{border-bottom:1px solid var(--border);color:var(--text);grid-template-columns:10rem 1fr auto;gap:1rem;padding:1.4rem 0;text-decoration:none;display:grid}.writing-preview-list a span{color:var(--text-muted);font-size:.85rem}.contact-panel{border:1px solid var(--border);background:var(--surface);justify-content:space-between;align-items:center;gap:2rem;margin-bottom:clamp(4rem,9vw,7rem);padding:clamp(2rem,5vw,4rem);display:flex}.contact-panel .eyebrow{margin:0 0 .75rem}.contact-panel h2{margin-bottom:1rem}.work-page{width:min(100% - 2rem,76rem);margin:0 auto;padding:clamp(4rem,8vw,7rem) 0}.work-hero{max-width:56rem;margin-bottom:clamp(3rem,7vw,6rem)}.work-hero h1{letter-spacing:-.055em;margin:0;font-size:clamp(3rem,7vw,6rem);line-height:.92}.work-hero>p:last-child{max-width:46rem;color:var(--text-muted);font-size:1.15rem;line-height:1.6}.work-grid{border-top:1px solid var(--border)}.work-card{border-bottom:1px solid var(--border);grid-template-columns:minmax(15rem,.75fr) minmax(0,1.25fr);column-gap:clamp(2rem,7vw,7rem);padding:clamp(2rem,5vw,4rem) 0;display:grid}.work-card h2{letter-spacing:-.04em;margin:.6rem 0 0;font-size:clamp(1.8rem,3.3vw,3rem);line-height:1}.work-card-details{max-width:42rem}.work-card-details>p{color:var(--text-muted);margin:0;line-height:1.6}.work-card-result{margin-top:1rem!important}.work-card-details ul{flex-wrap:wrap;gap:.45rem;margin:1rem 0;padding:0;list-style:none;display:flex}.work-card li{color:var(--text-muted);font-size:.8rem}.work-card li:not(:last-child):after{color:var(--accent);content:" /";padding-left:.45rem}.work-card-details a{color:var(--accent-strong);text-underline-offset:.25em;font-weight:750}.case-study{width:min(100% - 2rem,76rem);margin:0 auto;padding:clamp(2.5rem,5vw,4.5rem) 0 clamp(5rem,10vw,8rem)}.case-study-breadcrumb{color:var(--text-muted);margin-bottom:clamp(2.5rem,6vw,5rem);font-size:.86rem}.case-study-breadcrumb a{color:var(--accent-strong);text-underline-offset:.2em;text-decoration:underline}.case-study-snapshot{max-width:62rem;padding-bottom:clamp(3rem,7vw,6rem)}.case-study-snapshot h1{letter-spacing:-.06em;text-wrap:balance;max-width:13ch;margin:0;font-size:clamp(3.2rem,7vw,6.5rem);line-height:.9}.case-study-snapshot-copy>p:not(.eyebrow){max-width:46rem;color:var(--text-muted);font-size:clamp(1.1rem,2vw,1.35rem);line-height:1.55}.case-study-snapshot dl{background:var(--border);grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;margin:2.5rem 0 0;display:grid}.case-study-snapshot dl div{background:var(--surface);padding:1rem}.case-study-snapshot dl .case-study-snapshot-role{grid-column:1/-1}.case-study-snapshot dt,.case-study-decisions dt{color:var(--accent-strong);letter-spacing:.08em;text-transform:uppercase;font-size:.72rem;font-weight:750}.case-study-snapshot dd,.case-study-decisions dd{color:var(--text-muted);margin:.4rem 0 0;font-size:.9rem;line-height:1.5}.case-study-system,.case-study-decisions,.case-study-outcome{border-top:1px solid var(--border);padding:clamp(3.5rem,7vw,6rem) 0}.case-study-section-heading{margin-bottom:2rem}.case-study-section-heading h2{letter-spacing:-.045em;max-width:16ch;margin:0;font-size:clamp(2.1rem,4.5vw,4rem);line-height:.98}.case-study-architecture{margin:0}.case-study-architecture figcaption{color:var(--text-muted);margin-bottom:.8rem;font-size:.84rem}.architecture-map{border:1px solid var(--border);background:var(--surface);overflow:hidden}.architecture-text-equivalent{margin-top:1rem}.architecture-text-equivalent summary{cursor:pointer;color:var(--accent-strong);font-weight:700}.architecture-text-equivalent ol{color:var(--text-muted);grid-template-columns:repeat(2,1fr);gap:.75rem 1.5rem;padding-left:1.25rem;display:grid}.architecture-text-equivalent li{padding-left:.2rem;line-height:1.5}.architecture-text-equivalent li>*{display:block}.case-study-system>p{max-width:66ch;color:var(--text-muted);margin:2rem 0 0;font-size:1.05rem;line-height:1.7}.case-study-decisions>div:last-child{grid-template-columns:repeat(auto-fit,minmax(15rem,1fr));gap:1rem;display:grid}.case-study-decisions article{border:1px solid var(--border);background:var(--surface);padding:1.25rem}.case-study-decisions h3{font-family:var(--font-source-sans),Arial,sans-serif;margin:0 0 1.25rem;font-size:1.2rem}.case-study-decisions dl{gap:1rem;margin:0;display:grid}.case-study-outcomes{border-block:1px solid var(--border);grid-template-columns:repeat(auto-fit,minmax(13rem,1fr));display:grid}.case-study-outcomes article{border-right:1px solid var(--border);padding:1.25rem}.case-study-outcomes strong{font-family:var(--font-source-serif),Georgia,serif;letter-spacing:-.04em;font-size:clamp(1.8rem,3vw,2.8rem);font-weight:500}.case-study-outcomes h3{font-family:var(--font-source-sans),Arial,sans-serif;margin:.5rem 0;font-size:1rem}.case-study-outcomes p,.case-study-evidence{color:var(--text-muted);line-height:1.55}.case-study-evidence{gap:.75rem;margin-top:1.5rem;display:grid}.case-study-evidence p{margin:0}.case-study-evidence a{color:var(--accent-strong);font-weight:750}.evidence-boundary{border-left:3px solid var(--accent);background:var(--surface-muted);color:var(--text-muted);margin-top:1.5rem;padding:1rem 1.25rem;line-height:1.55}.evidence-boundary p{margin:0}.url-shortener-architecture{border:1px solid var(--border);background:linear-gradient(145deg,var(--accent),var(--surface));margin:2rem 0;padding:1rem}@supports (color:color-mix(in lab, red, red)){.url-shortener-architecture{background:linear-gradient(145deg,color-mix(in srgb,var(--accent)7%,var(--surface)),var(--surface))}}.url-shortener-architecture figcaption{color:var(--accent-strong);margin-bottom:.8rem;font-size:.86rem;font-weight:750}.url-shortener-architecture svg{width:100%;height:auto;display:block}.url-shortener-architecture svg rect{fill:var(--surface);stroke:var(--border);stroke-width:1.5px}.url-shortener-architecture svg path{fill:none;stroke:var(--accent);stroke-width:2px}.url-shortener-architecture svg marker path{fill:var(--accent)}.url-shortener-architecture svg text{fill:var(--text);font-family:var(--font-source-sans),Arial,sans-serif;font-size:13px;font-weight:700}.url-shortener-architecture .url-system-boundary rect{fill:var(--accent)}@supports (color:color-mix(in lab, red, red)){.url-shortener-architecture .url-system-boundary rect{fill:color-mix(in srgb,var(--accent)3%,var(--surface))}}.url-shortener-architecture .url-system-boundary text{fill:var(--accent-strong);letter-spacing:.04em;font-size:12px;font-weight:750}.url-shortener-architecture .url-architecture-node-type{fill:var(--text-muted);letter-spacing:.02em;font-size:9px;font-weight:650}.url-shortener-architecture .url-architecture-node--cache rect{fill:var(--accent)}@supports (color:color-mix(in lab, red, red)){.url-shortener-architecture .url-architecture-node--cache rect{fill:color-mix(in srgb,var(--accent)5%,var(--surface))}}.url-shortener-architecture .url-architecture-node--data-store rect{fill:var(--accent)}@supports (color:color-mix(in lab, red, red)){.url-shortener-architecture .url-architecture-node--data-store rect{fill:color-mix(in srgb,var(--accent)8%,var(--surface))}}.url-shortener-architecture .url-architecture-node--async-component rect{fill:var(--accent)}@supports (color:color-mix(in lab, red, red)){.url-shortener-architecture .url-architecture-node--async-component rect{fill:color-mix(in srgb,var(--accent)5%,var(--surface))}}.url-shortener-architecture .url-async-path{stroke-dasharray:5 5}.url-shortener-architecture .url-architecture-labels text{fill:var(--text-muted);paint-order:stroke;stroke:var(--surface);stroke-width:4px;stroke-linejoin:round;font-size:10px;font-weight:650}.url-analytics-node rect{fill:var(--accent)!important}@supports (color:color-mix(in lab, red, red)){.url-analytics-node rect{fill:color-mix(in srgb,var(--accent)9%,var(--surface))!important}}.url-shortener-text-equivalent{color:var(--text-muted);margin-top:.7rem;font-size:.88rem}.url-shortener-text-equivalent summary{cursor:pointer;color:var(--accent-strong);font-weight:750}.url-shortener-text-equivalent ul{margin-bottom:0}.short-code-tradeoff-matrix{border:1px solid var(--border);margin:2rem 0;overflow-x:auto}.short-code-tradeoff-matrix table{border-collapse:collapse;width:100%;min-width:38rem}.short-code-tradeoff-matrix caption{color:var(--text);text-align:left;padding:1rem;font-weight:750}.short-code-tradeoff-matrix th,.short-code-tradeoff-matrix td{border-top:1px solid var(--border);color:var(--text-muted);text-align:left;vertical-align:top;padding:.9rem;line-height:1.5}.short-code-tradeoff-matrix thead th,.short-code-tradeoff-matrix tbody th{color:var(--text)}@media (max-width:800px){.homepage-hero,.visual-work-story{grid-template-columns:1fr}.homepage-hero{min-height:auto}.section-intro-row{display:block}.section-intro-row>p,.section-intro-row>a{margin-top:1rem;display:block}.case-study-snapshot dl{grid-template-columns:1fr}.case-study-snapshot dl div+div{border-top:1px solid var(--border)}}@media (max-width:700px){.homepage-hero,.homepage-section,.contact-panel,.work-page,.case-study{width:min(100% - 1.25rem,76rem)}.homepage-hero{padding-top:4rem}.visual-work-story{padding:1.25rem}.experience-snapshot li{grid-template-columns:1fr;gap:.25rem}.writing-preview-list a{grid-template-columns:1fr;gap:.35rem}.writing-preview-list a>span:last-child{display:none}.contact-panel,.work-card{display:block}.work-card-details{margin-top:1rem}.architecture-text-equivalent ol,.case-study-outcomes{grid-template-columns:1fr}.case-study-outcomes article{border-right:0;border-bottom:1px solid var(--border)}.case-study-outcomes article:last-child{border-bottom:0}}.homepage-signature{color:var(--text-muted);flex-wrap:wrap;gap:.45rem;margin:1.2rem 0 0;font-size:.88rem;display:flex}.homepage-signature strong{color:var(--text)}.system-showcase{border:1px solid var(--border);background:linear-gradient(145deg,var(--accent),var(--surface)58%);min-width:0;padding:clamp(1rem,2.5vw,1.5rem)}@supports (color:color-mix(in lab, red, red)){.system-showcase{background:linear-gradient(145deg,color-mix(in srgb,var(--accent)9%,var(--surface)),var(--surface)58%)}}@media (min-width:801px){.system-showcase{justify-self:end;width:100%;max-width:34rem}}.system-showcase-heading{justify-content:space-between;align-items:baseline;gap:1rem;display:flex}.system-showcase-heading h2{max-width:15ch;font-family:var(--font-source-sans),Arial,sans-serif;margin:0;font-size:1.1rem}.system-showcase-tabs{border-bottom:1px solid var(--border);gap:.45rem;margin:1.25rem 0;display:flex}.system-showcase-tabs button{color:var(--text-muted);font:inherit;cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;padding:.55rem .1rem;font-size:.82rem;font-weight:700}.system-showcase-tabs button[aria-selected=true]{border-color:var(--accent);color:var(--text)}.system-showcase-panel svg{width:100%;height:auto;display:block;overflow:visible}.system-showcase-panel svg rect{fill:var(--surface);stroke:var(--border);stroke-width:1.5px}.system-showcase-panel svg path{fill:none;stroke:var(--accent);stroke-width:2px}.system-showcase-panel svg marker path{fill:var(--accent)}.system-showcase-panel svg text{fill:var(--text);font-family:var(--font-source-sans),Arial,sans-serif;font-size:17px;font-weight:700}.system-showcase-panel details{color:var(--text-muted);margin-top:.85rem;font-size:.95rem;line-height:1.55}.system-showcase-panel summary{cursor:pointer;color:var(--accent-strong);font-weight:700}.system-showcase-panel details p{margin:.65rem 0 0}.system-showcase-all-flows{color:var(--text-muted);margin-top:1rem;font-size:.85rem}.system-showcase-all-flows details+details{margin-top:.5rem}.system-showcase-all-flows summary{cursor:pointer;color:var(--accent-strong);font-weight:750}.architecture-map{border:1px solid var(--border);background:var(--accent);padding:clamp(1rem,3vw,2rem)}@supports (color:color-mix(in lab, red, red)){.architecture-map{background:color-mix(in srgb,var(--accent)5%,var(--surface))}}.architecture-map svg{width:100%;height:auto;display:block}.architecture-map svg rect{fill:var(--surface);stroke:var(--border);stroke-width:1.5px}.architecture-map svg path{fill:none;stroke:var(--accent);stroke-width:2px}.architecture-map svg marker path{fill:var(--accent)}.architecture-map svg text{fill:var(--text);font-family:var(--font-source-sans),Arial,sans-serif;font-size:15px;font-weight:700}.architecture-map .architecture-map-boundary rect{fill:var(--accent)}@supports (color:color-mix(in lab, red, red)){.architecture-map .architecture-map-boundary rect{fill:color-mix(in srgb,var(--accent)3%,var(--surface))}}.architecture-map .architecture-map-boundary rect{stroke:var(--border)}.architecture-map .architecture-map-boundary text{fill:var(--accent-strong);letter-spacing:.04em;font-size:12px;font-weight:750}.architecture-map svg text.architecture-map-node-type{fill:var(--text-muted);letter-spacing:.02em;font-size:9px;font-weight:650}.architecture-map svg text.architecture-map-edge-label{fill:var(--text-muted);paint-order:stroke;stroke:var(--surface);stroke-width:4px;stroke-linejoin:round;font-size:10px;font-weight:650}.architecture-map-node--data rect{fill:var(--accent)}@supports (color:color-mix(in lab, red, red)){.architecture-map-node--data rect{fill:color-mix(in srgb,var(--accent)8%,var(--surface))}}.architecture-map-node--decision rect{fill:var(--accent)}@supports (color:color-mix(in lab, red, red)){.architecture-map-node--decision rect{fill:color-mix(in srgb,var(--accent)5%,var(--surface))}}.visual-work-story--tactical-tech-modernisation{background:linear-gradient(135deg,var(--accent),var(--surface)55%)}@supports (color:color-mix(in lab, red, red)){.visual-work-story--tactical-tech-modernisation{background:linear-gradient(135deg,color-mix(in srgb,var(--accent)8%,var(--surface)),var(--surface)55%)}}.experience-page{width:min(100% - 2rem,72rem);margin:0 auto;padding:clamp(4rem,8vw,7rem) 0}.experience-hero{border-bottom:1px solid var(--border);max-width:56rem;padding-bottom:clamp(3rem,6vw,5rem)}.experience-hero h1,.experience-section h2{letter-spacing:-.04em;margin:0;font-size:clamp(2.2rem,5vw,4.2rem);line-height:1.04}.experience-hero>p:not(.eyebrow):not(.experience-signature){color:var(--text-muted);font-size:1.18rem;line-height:1.65}.experience-signature{color:var(--text-muted);flex-wrap:wrap;gap:.55rem;display:flex}.experience-signature strong{color:var(--text)}.experience-section{border-bottom:1px solid var(--border);padding:clamp(3.5rem,7vw,6rem) 0}.experience-section h2{margin-bottom:2rem;font-size:clamp(2rem,3.5vw,3rem)}.capability-evidence-grid{border:1px solid var(--border);background:var(--border);grid-template-columns:repeat(2,1fr);gap:1px;display:grid}.capability-evidence-grid article{background:var(--surface);min-height:13rem;padding:1.35rem;position:relative;overflow:hidden}.capability-evidence-grid article:after{color:var(--accent);position:absolute;bottom:-2rem;right:-1rem}@supports (color:color-mix(in lab, red, red)){.capability-evidence-grid article:after{color:color-mix(in srgb,var(--accent)12%,transparent)}}.capability-evidence-grid article:after{font-family:var(--font-source-serif),Georgia,serif;content:"◒";font-size:9rem;line-height:1}.capability-evidence-grid h3,.experience-timeline h3,.experience-details h3{z-index:1;font-family:var(--font-source-sans),sans-serif;margin:.9rem 0 0;font-size:1.15rem;position:relative}.capability-mark{z-index:1;color:var(--accent-strong);font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.78rem;font-weight:750;position:relative}.capability-evidence-grid p{z-index:1;max-width:29rem;color:var(--text-muted);line-height:1.55;position:relative}.capability-technologies{font-size:.83rem;font-weight:700;color:var(--text)!important}.capability-evidence-grid article div{z-index:1;flex-wrap:wrap;gap:.5rem;margin-top:1rem;display:flex;position:relative}.capability-evidence-grid a{border:1px solid var(--border);background:var(--surface);color:var(--accent-strong);padding:.25rem .45rem;font-size:.8rem;font-weight:750;text-decoration:none}.capability-evidence-grid a:hover{border-color:var(--accent)}.experience-timeline{margin:0;padding:0 0 0 clamp(1.4rem,4vw,3rem);list-style:none;position:relative}.experience-timeline:before{background:var(--border);content:"";width:1px;position:absolute;top:.75rem;bottom:.75rem;left:.35rem}.experience-timeline>li{scroll-margin-top:6rem;position:relative}.experience-timeline>li:before{z-index:1;border:2px solid var(--accent);background:var(--canvas);content:"";border-radius:50%;width:.65rem;height:.65rem;position:absolute;top:1.35rem;left:calc(-1*clamp(1.4rem,4vw,3rem) + .04rem)}.experience-timeline>li>article{padding:1.2rem 0 2.5rem}.role-heading{justify-content:space-between;gap:2rem;display:flex}.role-heading h3{font-size:1.4rem}.role-heading p,.role-heading time,.role-tech{color:var(--text-muted)}.role-heading time{white-space:nowrap;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.85rem}.role-tech{font-size:.9rem}.experience-timeline ul{max-width:50rem;margin:1.2rem 0 0;padding-left:1.1rem}.experience-timeline li li{color:var(--text-muted);margin:.6rem 0;line-height:1.55}.experience-timeline details{max-width:50rem;color:var(--text-muted)}.experience-timeline summary{cursor:pointer;color:var(--accent-strong);font-weight:750}.experience-earlier{padding-bottom:1.5rem}.experience-earlier>details{border:1px solid var(--border);background:var(--surface-muted);padding:1rem}.experience-earlier ol{gap:1rem;margin:1rem 0 0;padding:0;list-style:none;display:grid}.experience-earlier ol li{border-top:1px solid var(--border);grid-template-columns:1fr auto;gap:.5rem 1rem;padding-top:1rem;display:grid}.experience-earlier h3,.experience-earlier p{margin:0}.experience-earlier time{color:var(--text-muted);font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.82rem}.experience-details{grid-template-columns:repeat(2,1fr);gap:clamp(2rem,8vw,8rem);display:grid}.experience-details article{margin-bottom:1.75rem}.experience-details article p,.experience-details article time{margin:.45rem 0;display:block}.experience-details dl{margin:0 0 2rem}.experience-details dl div{border-bottom:1px solid var(--border);justify-content:space-between;gap:1rem;padding:.8rem 0;display:flex}.experience-details dt{font-weight:750}.experience-details dd{color:var(--text-muted);text-align:right;margin:0}.language-panel{border:1px solid var(--border);background:var(--surface-muted);align-self:start;padding:1.25rem}.language-panel>h3{margin-top:0}@media (max-width:700px){.experience-page{width:min(100% - 1.25rem,72rem)}.capability-evidence-grid,.experience-details{grid-template-columns:1fr}.role-heading{display:block}.role-heading time{margin-top:.6rem;display:block}.experience-earlier ol li{grid-template-columns:1fr}}.writing-page,.writing-post{width:min(100% - 2rem,72rem);margin:0 auto;padding:clamp(4rem,8vw,7rem) 0}.writing-hero{border-bottom:1px solid var(--border);max-width:52rem;padding-bottom:clamp(3rem,6vw,5rem)}.writing-hero h1,.writing-post h1{letter-spacing:-.04em;max-width:18ch;margin:0;font-size:clamp(2.5rem,5vw,4.5rem);line-height:1.02}.writing-hero>p:last-child,.writing-post header>p:not(.writing-meta){max-width:44rem;color:var(--text-muted);font-size:1.18rem;line-height:1.65}.writing-list{border-top:1px solid var(--border)}.writing-list>article{border-bottom:1px solid var(--border);grid-template-columns:minmax(8rem,.4fr) minmax(0,1fr);gap:.25rem clamp(1.5rem,6vw,5rem);padding:clamp(2rem,5vw,3.5rem) 0;display:grid}.writing-list .writing-meta{grid-row:span 3;padding-top:.45rem}.writing-list h2{max-width:28ch;margin:.4rem 0 .8rem;font-size:clamp(1.7rem,3vw,2.45rem);line-height:1.08}.writing-list h2 a,.writing-post nav a,.writing-content a{color:var(--accent-strong)}.writing-list>article>p:not(.writing-meta){max-width:44rem;color:var(--text-muted);font-size:1.05rem;line-height:1.6}.writing-meta{color:var(--text-muted);font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.82rem}.writing-list ul,.writing-post header ul{flex-wrap:wrap;gap:.45rem;padding:0;list-style:none;display:flex}.writing-list li,.writing-post header li{background:var(--surface-muted);color:var(--text-muted);border-radius:999px;padding:.25rem .55rem;font-size:.8rem}.writing-post{max-width:64rem}.writing-post>nav{color:var(--text-muted);margin-bottom:2.5rem;font-size:.9rem}.writing-post>header{border-bottom:1px solid var(--border);max-width:56rem;padding-bottom:3rem}.writing-post header h1{margin:.7rem 0 1.25rem}.writing-content{max-width:46rem;padding-top:clamp(2.5rem,6vw,4rem);font-size:clamp(1.03rem,1vw + .8rem,1.12rem);line-height:1.78}.writing-content>:first-child{margin-top:0}.writing-content h2,.writing-content h3,.writing-content h4{color:var(--text);letter-spacing:-.035em;text-wrap:balance}.writing-content h2{max-width:22ch;margin:clamp(3.5rem,8vw,5rem) 0 1.15rem;font-size:clamp(1.75rem,3vw,2.55rem);line-height:1.05}.writing-content h3{font-family:var(--font-source-sans),Arial,sans-serif;margin:2.1rem 0 .7rem;font-size:1.24rem;line-height:1.25}.writing-content h4{font-family:var(--font-source-sans),Arial,sans-serif;margin:1.7rem 0 .5rem;font-size:1.05rem;line-height:1.35}.writing-content p{max-width:65ch;color:var(--text-muted);margin:1.15rem 0}.writing-content strong{color:var(--text);font-weight:750}.writing-content a{text-underline-offset:.18em;font-weight:700;text-decoration-line:underline;text-decoration-thickness:.08em}.writing-content a:hover{color:var(--text);-webkit-text-decoration-color:var(--accent);-webkit-text-decoration-color:var(--accent);-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent)}.writing-content ul,.writing-content ol{max-width:62ch;color:var(--text-muted);margin:1.35rem 0 1.6rem;padding:0;list-style:none}.writing-content li{margin:.7rem 0;padding-left:1.4rem;position:relative}.writing-content ul>li:before{background:var(--accent);content:"";border-radius:50%;width:.38rem;height:.38rem;position:absolute;top:.73em;left:.15rem}.writing-content ol{counter-reset:article-list}.writing-content ol>li{counter-increment:article-list}.writing-content ol>li:before{color:var(--accent-strong);content:counter(article-list)".";font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.78em;font-weight:750;position:absolute;left:0}.writing-content li>ul,.writing-content li>ol{margin:.55rem 0 .3rem}.writing-content li>ul>li:before{border:1px solid var(--accent);background:0 0;width:.33rem;height:.33rem}.writing-content code{border:1px solid var(--border);padding:.12rem .34rem}@supports (color:color-mix(in lab, red, red)){.writing-content code{border:1px solid color-mix(in srgb,var(--border)80%,transparent)}}.writing-content code{background:var(--surface-muted);color:var(--text);border-radius:.25rem;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.86em}.writing-content pre{border:1px solid var(--border);border-left:3px solid var(--accent);background:var(--surface-muted);color:var(--text);border-radius:.35rem;margin:1.8rem 0;padding:clamp(1rem,3vw,1.4rem);font-size:.88rem;line-height:1.65;overflow-x:auto}.writing-content pre code{color:inherit;font-size:inherit;background:0 0;border:0;padding:0}.writing-content blockquote{border-left:3px solid var(--accent);max-width:60ch;color:var(--text);font-family:var(--font-source-serif),Georgia,serif;margin:1.8rem 0;padding:.2rem 0 .2rem 1.25rem;font-size:1.18rem;line-height:1.5}.writing-content blockquote>:first-child{margin-top:0}.writing-content blockquote>:last-child{margin-bottom:0}.writing-content hr{background:var(--border);border:0;height:1px;margin:3rem 0}.writing-content-table{border:1px solid var(--border);max-width:100%;margin:2rem 0;overflow-x:auto}.writing-content-table table{border-collapse:collapse;width:100%;min-width:34rem}.writing-content-table th,.writing-content-table td{border-top:1px solid var(--border);color:var(--text-muted);text-align:left;vertical-align:top;padding:.85rem 1rem;line-height:1.55}.writing-content-table th{color:var(--text);font-family:var(--font-source-sans),Arial,sans-serif;font-weight:750}.writing-content-table thead{background:var(--accent)}@supports (color:color-mix(in lab, red, red)){.writing-content-table thead{background:color-mix(in srgb,var(--accent)6%,var(--surface))}}.writing-content details{border:1px solid var(--border);background:var(--surface-muted);margin:1.5rem 0;padding:.85rem 1rem}.writing-content summary{cursor:pointer;color:var(--accent-strong);font-weight:750}@media (max-width:700px){.writing-page,.writing-post{width:min(100% - 1.25rem,72rem)}.writing-list>article{display:block}.writing-list .writing-meta{padding-top:0}.writing-content{font-size:1rem;line-height:1.72}.writing-content h2{margin-top:3.25rem}.writing-content pre{margin-inline:-.1rem}}.checker-page{width:min(100% - 2rem,62rem);margin:0 auto;padding:clamp(4rem,8vw,7rem) 0}.checker-hero{border-bottom:1px solid var(--border);max-width:52rem;padding-bottom:3rem}.checker-hero h1,.checker-results h2,.checker-limitations h2{letter-spacing:-.04em;margin:0;font-size:clamp(2.4rem,5vw,4.25rem);line-height:1.03}.checker-hero>p:last-child,.checker-results header>p,.checker-limitations p{color:var(--text-muted);font-size:1.08rem;line-height:1.65}.checker-panel,.checker-results{border-bottom:1px solid var(--border);padding:clamp(2rem,5vw,3.5rem) 0}.checker-panel h2{margin:0 0 1.25rem;font-size:1.6rem}.checker-panel label{margin-bottom:.5rem;font-weight:750;display:block}.checker-input-row{gap:.75rem;display:flex}.checker-input-row input{border:1px solid var(--border);background:var(--surface);min-width:0;min-height:3rem;color:var(--text);font:inherit;border-radius:.4rem;flex:1;padding:.65rem .8rem}.checker-input-row button{white-space:nowrap;cursor:pointer;gap:.45rem;min-height:3rem}.checker-input-row button:disabled{cursor:wait;opacity:.7}.checker-note,.checker-status,.checker-error{color:var(--text-muted);align-items:center;gap:.55rem;margin:1rem 0 0;font-size:.92rem;line-height:1.5;display:flex}.checker-status{color:var(--accent-strong);font-weight:650}.checker-status svg{animation:1s linear infinite checker-spin}.checker-error{color:#a51d1d;font-weight:650}.dark .checker-error{color:#ffaaa3}.checker-results header h2{margin:0 0 .8rem;font-size:clamp(2rem,3.5vw,3rem)}.checker-results header a,.checker-violations a{color:var(--accent-strong);align-items:center;gap:.25rem;display:inline-flex}.checker-summary{border-block:1px solid var(--border);grid-template-columns:repeat(3,1fr);margin:2rem 0;display:grid}.checker-summary div{border-right:1px solid var(--border);padding:1rem}.checker-summary div:last-child{border:0}.checker-summary dt{color:var(--text-muted);letter-spacing:.08em;text-transform:uppercase;font-size:.8rem;font-weight:750}.checker-summary dd{font-family:var(--font-source-serif),Georgia,serif;margin:.2rem 0 0;font-size:2rem}.checker-violations{margin:0;padding:0;list-style:none}.checker-violations>li{border:1px solid var(--border);background:var(--surface);border-radius:.65rem;padding:1.5rem}.checker-violations>li+li{margin-top:1rem}.checker-violations h3{font-family:var(--font-source-sans),sans-serif;margin:.35rem 0;font-size:1.2rem}.checker-violations p:not(.checker-impact){color:var(--text-muted);line-height:1.55}.checker-impact{color:var(--accent-strong);letter-spacing:.08em;text-transform:uppercase;margin:0;font-size:.8rem;font-weight:750}.checker-violations details{color:var(--text-muted);margin-top:1rem}.checker-violations summary{cursor:pointer;font-weight:650}.checker-violations ul{margin:1rem 0 0;padding-left:1.2rem}.checker-violations ul li{gap:.4rem;margin:.8rem 0;display:grid}.checker-violations code{overflow-wrap:anywhere;background:var(--surface-muted);font-family:var(--font-geist-mono),monospace;border-radius:.25rem;padding:.15rem .3rem;font-size:.82rem}.checker-empty{color:var(--text-muted);align-items:center;gap:.5rem;display:flex}.checker-limitations{background:var(--surface-muted);border-radius:.65rem;gap:1rem;margin-top:3rem;padding:1.5rem;display:flex}.checker-limitations>svg{color:var(--accent-strong);flex:none}.checker-limitations h2{font-family:var(--font-source-sans),sans-serif;font-size:1.2rem}.checker-limitations p{margin-bottom:0;font-size:1rem}@keyframes checker-spin{to{transform:rotate(360deg)}}@media (max-width:700px){.checker-page{width:min(100% - 1.25rem,62rem)}.checker-input-row{display:grid}.checker-input-row button{width:100%}.checker-summary{grid-template-columns:1fr}.checker-summary div{border-right:0;border-bottom:1px solid var(--border)}.checker-summary div:last-child{border-bottom:0}}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-gradient-position{syntax:"*";inherits:false}@property --tw-gradient-from{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-via{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-to{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-stops{syntax:"*";inherits:false}@property --tw-gradient-via-stops{syntax:"*";inherits:false}@property --tw-gradient-from-position{syntax:"<length-percentage>";inherits:false;initial-value:0%}@property --tw-gradient-via-position{syntax:"<length-percentage>";inherits:false;initial-value:50%}@property --tw-gradient-to-position{syntax:"<length-percentage>";inherits:false;initial-value:100%}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-duration{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}
