/*!
Disclosures:

This code is my own work, but I want to include the below disclosures for transparency and to preemptively disclose any potential future use of AI tools or code adapted from other sources, 
including my previous work.

Some of this code is adapted from my previous work, which is available at hwalkermerrill.github.io. 
As that content has been developed over the course of several years, some of it may have been inspired by or adapted from various other online sources,  
but I have not copied any code directly from other sources except from scaffolding code this an previous classes without attributing the original source.
All the work I have written is my own, written and stylized by me, though they may be reminiscent of other works I have read and been inspired by.

AI Assistance:
I have the github copilot extension installed, which sometimes suggests code completions as I write, though the suggestions are rarely used and when they are, they are often heavily modified.
Some of the code adapted from my previous work has been proofread by AI after writing, in order to check for errors and suggest improvements, but it was written originally and principally by me.
While I have not yet done so with this file or class, I do intend to use AI tools for tutoring and proofreading in the future.
I have similarly not yet used the github copilot extension's code completion for this file, but I may in the future, which is why I have included it in this disclosure and above.
*/
/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */
@layer vendors{@font-face{font-family:Indiana Jonas;src:url(/fonts/Indiana-Jonas-48p.woff2)format("woff2"),url(/fonts/indiana-jonas-48p.woff)format("woff");font-display:swap;font-style:normal;font-weight:500}@font-face{font-family:Indiana Jonas Inline;src:url(/fonts/Indiana-Jonas-48ip.woff2)format("woff2"),url(/fonts/Indiana-Jonas-48ip.woff)format("woff");font-display:swap;font-style:normal;font-weight:500}}@layer tokens{:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--seed-bg:#f4f6f8;--seed-surface:#fff;--seed-text:#1e293b;--seed-text-muted:#64748b;--seed-accent:#a06100;--seed-accent-hover:color-mix(in oklch, var(--seed-accent) 80%, black);--seed-primary:#006743;--seed-soft-vis:#037ac0;--seed-high-vis:magenta;--seed-adobe:#fd0000;--seed-adobe-hover:color-mix(in oklch, var(--seed-link-pdf) 80%, black);--seed-link:var(--seed-accent);--seed-link-hover:var(--seed-accent-hover);--seed-border:#e2e8f0;--seed-border-strong:#050505;--accent-200:color-mix(in oklch, var(--seed-accent) 30%, white);--accent-300:color-mix(in oklch, var(--seed-accent) 50%, white);--accent-400:color-mix(in oklch, var(--seed-accent) 75%, white);--accent-500:var(--seed-accent);--accent-600:color-mix(in oklch, var(--seed-accent) 80%, black);--accent-700:color-mix(in oklch, var(--seed-accent) 60%, black);--accent-800:color-mix(in oklch, var(--seed-accent) 40%, black);--primary-300:color-mix(in oklch, var(--seed-primary) 50%, white);--primary-200:color-mix(in oklch, var(--seed-primary) 30%, white);--primary-400:color-mix(in oklch, var(--seed-primary) 75%, white);--primary-500:var(--seed-primary);--primary-600:color-mix(in oklch, var(--seed-primary) 80%, black);--primary-700:color-mix(in oklch, var(--seed-primary) 60%, black);--primary-800:color-mix(in oklch, var(--seed-primary) 40%, black);--color-indiana-gradient-light:linear-gradient(to bottom, #97271b 0%, #c43b15 20%, #e75f00 40%, #ff8a00 60%, #ffc13d 80%, #f9e596 100%);--color-indiana-gradient-dark:linear-gradient(to bottom, #8d0001 0%, #b71a00 20%, #d94900 40%, #f67400 60%, #fe9f00 80%, #f8c655 100%);--color-metallic-highlight:linear-gradient(to bottom, rgba(249,239,201,.35) 0%, rgba(230,222,193,0) 40%);--color-metallic-holo:linear-gradient(135deg, rgba(255,249,226,.08) 16%, rgba(255,249,226,0) 20%, rgba(255,249,221,.35) 26%, rgba(255,255,255,.9) 28%, rgba(255,255,255,.75) 29%, rgba(255,249,221,.35) 30%, rgba(255,249,226,.15) 34%, rgba(255,249,226,0) 38%);--color-chromatic-holo:linear-gradient(135deg, rgba(255,229,228,.1) 16%, rgba(255,229,228,.2) 20%, rgba(255,231,220,.45) 24%, rgba(255,236,201,.55) 28%, rgba(255,220,61,.75) 29%, rgba(255,236,201,.55) 30%, rgba(255,231,220,.45) 34%, rgba(255,229,228,.15) 36%, rgba(255,229,228,0) 40%);--indy-stroke:var(--lightningcss-light,#271610)var(--lightningcss-dark,#372b26);--color-indiana-gradient:var(--lightningcss-light,var(--color-indiana-gradient-light))var(--lightningcss-dark,var(--color-indiana-gradient-dark));--color-primary:var(--primary-600);--color-bg:var(--lightningcss-light,var(--seed-bg))var(--lightningcss-dark,oklch(18% .02 260));--color-surface:var(--lightningcss-light,var(--seed-surface))var(--lightningcss-dark,oklch(22% .03 260));--color-text:var(--lightningcss-light,var(--seed-text))var(--lightningcss-dark,oklch(88% .02 260));--color-text-muted:var(--lightningcss-light,var(--seed-text-muted))var(--lightningcss-dark,oklch(68% .03 250));--color-disabled:var(--color-text-muted);--color-accent:var(--lightningcss-light,var(--seed-accent))var(--lightningcss-dark,oklch(62% .15 68));--color-accent-hover:var(--lightningcss-light,var(--seed-accent-hover))var(--lightningcss-dark,oklch(68% .18 68));--color-soft:var(--seed-soft-vis);--color-vis:var(--seed-high-vis);--color-link:var(--lightningcss-light,var(--seed-link))var(--lightningcss-dark,oklch(65% .16 68));--color-link-hover:var(--lightningcss-light,var(--seed-link-hover))var(--lightningcss-dark,oklch(72% .18 68));--color-link-pdf:var(--seed-adobe);--color-link-pdf-hover:var(--seed-adobe-hover);--color-border:var(--lightningcss-light,var(--seed-border))var(--lightningcss-dark,oklch(32% .02 260));--color-border-strong:var(--lightningcss-light,var(--seed-border-strong))var(--lightningcss-dark,oklch(38% .02 260));--header-bg:var(--color-accent);--header-text:var(--lightningcss-light,#fff)var(--lightningcss-dark,#f0f4f8);--theme-toggle-bg:color-mix(in srgb, var(--header-text) 20%, var(--header-bg));--theme-toggle-border:color-mix(in srgb, var(--header-text) 40%, var(--header-bg));--theme-toggle-bg-hover:color-mix(in srgb, var(--header-text) 30%, var(--header-bg));--theme-toggle-border-hover:color-mix(in srgb, var(--header-text) 55%, var(--header-bg));--shadow-color-text:var(--lightningcss-light,rgba(3,3,3,.5))var(--lightningcss-dark,rgba(2,2,2,.75));--shadow-color:var(--lightningcss-light,rgba(22,22,22,.1))var(--lightningcss-dark,rgba(11,11,11,.4));--shadow-color-soft:var(--lightningcss-light,rgba(22,22,22,.07))var(--lightningcss-dark,rgba(11,11,11,.3));--shadow-color-softer:var(--lightningcss-light,rgba(22,22,22,.05))var(--lightningcss-dark,rgba(11,11,11,.2));--shadow-indy-warm:var(--lightningcss-light,rgba(53,24,14,.55))var(--lightningcss-dark,rgba(32,11,4,.75))}@supports (color:lab(0% 0 0)){:root{--seed-accent:lab(46.9391% 39.9015 132.154);--seed-primary:lab(37.7756% -41.27 14.2397);--seed-soft-vis:lab(48.4876% -8.46875 -45.4143);--seed-adobe:lab(53.2163% 84.947 79.3959);--color-indiana-gradient-light:linear-gradient(to bottom, lab(34.7681% 46.4759 36.0727) 0%, lab(46.1921% 54.215 52.0438) 20%, lab(57.9002% 55.3034 78.9807) 40%, lab(69.8992% 49.1638 139.121) 60%, lab(82.5789% 19.7642 87.2089) 80%, lab(91.1825% -.480503 40.7498) 100%);--color-indiana-gradient-dark:linear-gradient(to bottom, lab(28.5726% 56.8892 46.3554) 0%, lab(39.8551% 68.465 73.0357) 20%, lab(51.5628% 69.9725 118.516) 40%, lab(63.5008% 65.6036 189.226) 60%, lab(73.8113% 38.9027 160.931) 80%, lab(82.8261% 9.77922 61.542) 100%);--color-metallic-highlight:linear-gradient(to bottom, lab(94.475% -.958473 19.4963/.35) 0%, lab(88.6253% -.853241 15.5171/0) 40%);--color-metallic-holo:linear-gradient(135deg, lab(97.8558% -.750631 11.544/.08) 16%, lab(97.8558% -.750631 11.544/0) 20%, lab(97.9563% -.979692 19.4762/.35) 26%, lab(100% 0 0/.9) 28%, lab(100% 0 0/.75) 29%, lab(97.9563% -.979692 19.4762/.35) 30%, lab(97.8558% -.750631 11.544/.15) 34%, lab(97.8558% -.750631 11.544/0) 38%);--color-chromatic-holo:linear-gradient(135deg, lab(92.6557% 47.8647 20.9996/.1) 16%, lab(92.6557% 47.8647 20.9996/.2) 20%, lab(92.68% 56.2127 56.3639/.45) 24%, lab(94.1798% 21.9055 96.5091/.55) 28%, lab(88.9956% 3.03066 84.3818/.75) 29%, lab(94.1798% 21.9055 96.5091/.55) 30%, lab(92.68% 56.2127 56.3639/.45) 34%, lab(92.6557% 47.8647 20.9996/.15) 36%, lab(92.6557% 47.8647 20.9996/0) 40%);--indy-stroke:var(--lightningcss-light,lab(9.30611% 8.20865 7.19495))var(--lightningcss-dark,lab(18.6666% 5.31162 5.08522));--shadow-color-text:var(--lightningcss-light,lab(.903296% 0 0/.5))var(--lightningcss-dark,lab(.462488% 0 0/.75));--shadow-color:var(--lightningcss-light,lab(7.22637% -.0000149012 0/.1))var(--lightningcss-dark,lab(3.04863% 0 0/.4));--shadow-color-soft:var(--lightningcss-light,lab(7.22637% -.0000149012 0/.07))var(--lightningcss-dark,lab(3.04863% 0 0/.3));--shadow-color-softer:var(--lightningcss-light,lab(7.22637% -.0000149012 0/.05))var(--lightningcss-dark,lab(3.04863% 0 0/.2));--shadow-indy-warm:var(--lightningcss-light,lab(12.6233% 14.0035 13.1213/.55))var(--lightningcss-dark,lab(5.03912% 9.393 5.97913/.75))}}html{accent-color:var(--color-accent)}html:has(input[name=theme-preference][value=dark]:checked){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}@media (prefers-color-scheme:dark){html:has(input[name=theme-preference][value=system]:checked){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}@supports (color:contrast-color(red)){:root,html{--header-text:contrast-color(var(--header-bg));--theme-toggle-text:contrast-color(var(--theme-toggle-bg))}}@keyframes holo-sweep{0%{--holo-sweep:0%}50%{--holo-sweep:100%}to{--holo-sweep:0%}}:root{--font-family-sans:"Amiri", system-ui, -apple-system, sans-serif;--font-family-serif:"Trade Winds", "Amiri", serif;--font-family-mono:"Courier New", Courier, monospace;--font-family-head:"Indiana Jonas", serif;--font-size-xs:clamp(1rem, .028vw + .9rem, 1.125rem);--font-size-sm:clamp(1.25rem, .034vw + 1.13rem, 1.5rem);--font-size-md:clamp(1.5rem, .043vw + 1.32rem, 1.875rem);--font-size-lg:clamp(1.875rem, .054vw + 1.63rem, 2.35rem);--font-size-xl:clamp(2.35rem, .067vw + 2.03rem, 2.95rem);--font-size-2xl:clamp(2.95rem, .084vw + 2.55rem, 3.7rem);--font-size-3xl:clamp(3.7rem, .105vw + 3.2rem, 4.6rem);--font-size-body:var(--font-size-md);--font-size-body-sm:var(--font-size-sm);--font-size-caption:var(--font-size-xs);--font-size-heading-sm:var(--font-size-lg);--font-size-heading-md:var(--font-size-xl);--font-size-heading-lg:var(--font-size-2xl);--font-size-display:var(--font-size-3xl);--spacing-xs:.25rem;--spacing-sm:.5rem;--spacing-md:1rem;--spacing-lg:2rem;--spacing-xl:4rem;--spacing-xxl:6rem;--line-height:1.5;--radius-sm:.25rem;--radius-md:.5rem;--radius-lg:1rem;--shadow-sm:0 1px 2px var(--shadow-color), 0 2px 4px var(--shadow-color-soft);--shadow-md:0 2px 4px var(--shadow-color), 0 6px 12px var(--shadow-color-soft), 0 16px 32px var(--shadow-color-softer);--shadow-lg:0 4px 8px var(--shadow-color), 0 12px 24px var(--shadow-color-soft), 0 24px 48px var(--shadow-color-softer);--shadow-indiana:2px 2px 0 var(--shadow-indy-warm), 4px 4px 4px var(--shadow-color-soft);--shadow-legible:0 1px 3px var(--shadow-color-text);--shadow-neon:0 0 4px color-mix(in oklch, var(--color-accent) 80%, white), 0 0 12px color-mix(in oklch, var(--color-accent) 60%, white), 0 0 24px color-mix(in oklch, var(--color-accent) 40%, black);--transition-base:.2s ease;--layout-container-small:24rem;--layout-container-medium:48rem;--layout-container-large:80rem;--opacity-disabled:.6;--icon-size-sm:24px;--icon-size-md:32px;--outline-width:2px;--gradient-vignette:radial-gradient(ellipse at center, transparent 40%, rgba(3,3,3,.6) 100%)}@supports (color:lab(0% 0 0)){:root{--gradient-vignette:radial-gradient(ellipse at center, transparent 40%, lab(.903296% 0 0/.6) 100%)}}}@layer base{*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;line-height:1.15}body{margin:0}main{display:block}h1{margin:.67em 0;font-size:2em}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace;font-size:1em}a{background-color:transparent}abbr[title]{border-bottom:none;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace;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}img{border-style:none}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:100%;line-height:1.15}button,input{overflow:visible}button,select{text-transform:none}button{-webkit-appearance:button}[type=button]{-webkit-appearance:button}[type=reset]{-webkit-appearance:button}[type=submit]{-webkit-appearance:button}button::-moz-focus-inner{border-style:none;padding:0}[type=button]::-moz-focus-inner{border-style:none;padding:0}[type=reset]::-moz-focus-inner{border-style:none;padding:0}[type=submit]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring{outline:1px dotted buttontext}[type=button]:-moz-focusring{outline:1px dotted buttontext}[type=reset]:-moz-focusring{outline:1px dotted buttontext}[type=submit]:-moz-focusring{outline:1px dotted buttontext}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;white-space:normal;max-width:100%;padding:0;display:table}progress{vertical-align:baseline}textarea{overflow:auto}[type=checkbox]{box-sizing:border-box;padding:0}[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button{height:auto}[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details{display:block}summary{display:list-item}template,[hidden]{display:none}:root{interpolate-size:allow-keywords;accent-color:var(--color-accent)}body{font-family:var(--font-family-sans);font-size:var(--font-size-body);line-height:var(--line-height);color:var(--color-text);background-color:var(--color-bg)}p{padding:var(--spacing-sm)}h1{font-size:var(--font-size-display)}h2{font-size:var(--font-size-heading-lg)}:where(h1,h2){margin-top:var(--spacing-sm);margin-bottom:var(--spacing-sm);padding-block:var(--spacing-xs);font-family:var(--font-family-head);background-image:var(--color-indiana-gradient);color:transparent;filter:drop-shadow(2px 2px 0 var(--shadow-indy-warm));-webkit-text-stroke:.25px var(--indy-stroke);text-wrap:balance;-webkit-background-clip:text;background-clip:text;line-height:.9;position:relative}:where(h1,h2):after{content:"";background:var(--color-metallic-highlight);color:transparent;pointer-events:none;-webkit-background-clip:text;background-clip:text;position:absolute;top:0;bottom:0;left:0;right:0}:where(h3,h4,h5,h6){font-family:var(--font-family-serif);line-height:var(--line-height);color:var(--color-primary);text-wrap:balance}nav{font-family:var(--font-family-serif);font-size:var(--font-size-lg);text-decoration:none}a{color:var(--color-link)}a:hover{color:var(--color-link-hover)}a[href$=\.pdf]{color:var(--color-link-pdf)}a[href$=\.pdf]:hover{color:var(--color-link-pdf-hover)}[disabled]{cursor:not-allowed;opacity:var(--opacity-disabled)}[lang|=en]{quotes:"“" "”" "‘" "’"}[lang=fr]{quotes:"« " " »" "‹ " " ›"}[lang=ja]{quotes:"「" "」" "『" "』"}pre code{background:var(--color-surface);white-space:pre;font-family:var(--font-family-mono);tab-size:2;border-radius:.5rem;padding:1em;font-size:.9em;display:block;overflow-x:auto}textarea{field-sizing:content;min-height:3lh;max-height:10lh}}@layer layout{body{flex-direction:column;min-height:100dvh;display:flex}main{width:100%;max-width:80rem;padding-inline:var(--spacing-md,1rem);flex:1;margin-left:auto;margin-right:auto}main>section{margin-bottom:var(--spacing-xl,3rem)}.dropcap:first-letter{-webkit-initial-letter:3;initial-letter:3;color:var(--color-accent,#005633);font-weight:700}.clamp{-webkit-line-clamp:3;-webkit-box-orient:vertical;max-width:65ch;line-height:2;display:-webkit-box;overflow:hidden}}@layer components{details.theme-menu{float:right;width:max-content;box-shadow:none;color:inherit;background:0 0;border:none;flex-shrink:0;margin:0;padding:0;display:inline-block;position:relative;overflow:visible}details.theme-menu:focus{outline:none}details.theme-menu:focus-visible{outline:none}details.theme-menu>summary.theme-control{text-transform:none;width:max-content;font-weight:400;list-style:none}details.theme-menu>summary.theme-control:after{content:none;display:none}details.theme-menu>summary.theme-control::-webkit-details-marker{display:none}details.theme-menu>summary.theme-control::marker{content:""}details.theme-menu>summary.theme-control:focus{outline:none}details.theme-menu>summary.theme-control:focus-visible{outline:var(--outline-width) solid var(--color-accent);outline-offset:var(--outline-width)}details.theme-menu>summary.theme-control:before{content:"⚙️"}details.theme-menu .theme-control{box-sizing:border-box;min-width:calc(var(--icon-size-md) + var(--spacing-sm));min-height:calc(var(--icon-size-md) + var(--spacing-sm));font-size:var(--icon-size-sm);color:var(--header-text);background-color:var(--theme-toggle-bg);border:1px solid var(--theme-toggle-border);border-radius:var(--radius-sm);cursor:pointer;transition:background-color var(--transition-base), border-color var(--transition-base);justify-content:center;align-items:center;margin:0;padding:0;line-height:1;display:inline-flex}details.theme-menu .theme-control:hover{background-color:var(--theme-toggle-bg-hover);border-color:var(--theme-toggle-border-hover)}details.theme-menu>.theme-extra{z-index:50;top:calc(100% + var(--spacing-md));align-items:flex-end;gap:var(--spacing-md);box-shadow:none;background:0 0;border:none;flex-direction:column;margin:0;padding:0;display:flex;position:absolute;right:0}details.theme-menu:not([open])>.theme-extra{display:none}details.theme-menu[open]>.theme-extra{animation:.2s ease-out theme-extra-reveal}details.theme-menu .theme-pick{position:relative}details.theme-menu .theme-pick input{opacity:0;pointer-events:none;width:0;height:0;margin:0;position:absolute}details.theme-menu .theme-pick:has(input:focus-visible){outline:var(--outline-width) solid var(--color-accent);outline-offset:var(--outline-width)}html:has(input[name=theme-preference][value=light]:checked) details.theme-menu>summary.theme-control:before{content:"☀️"}html:has(input[name=theme-preference][value=light]:checked) details.theme-menu .theme-pick[data-theme-pick=light]{display:none}html:has(input[name=theme-preference][value=dark]:checked) details.theme-menu>summary.theme-control:before{content:"🌖"}html:has(input[name=theme-preference][value=dark]:checked) details.theme-menu .theme-pick[data-theme-pick=dark]{display:none}html:has(input[name=theme-preference][value=system]:checked) details.theme-menu .theme-pick[data-theme-pick=system]{display:none}@keyframes theme-extra-reveal{0%{transform:translateY(-.4rem)}to{transform:translateY(0)}}.hero-div{margin:var(--spacing-sm);box-shadow:var(--shadow-md);border-radius:var(--radius-md);overflow:hidden}.hero-div picture{object-fit:cover;width:100%;height:auto;display:block}.hero-div img{object-fit:cover;width:100%;height:auto;display:block}.hero-div figcaption{padding:var(--spacing-sm);text-align:center;font-size:var(--font-size-caption);color:var(--color-text-muted);background-color:var(--color-surface)}.btn{padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-md);font-family:var(--font-family-serif);font-size:var(--font-size-lg);cursor:pointer;background-color:var(--color-primary);color:var(--header-text);background-image:var(--color-metallic-holo);background-position:50% 0;background-repeat:no-repeat;background-size:300% 300%;transition:background-color .2s,background-position .8s ease-out;display:inline-block}.btn:hover{background-color:var(--accent-400);animation:1.2s ease-out holo-sweep}.btn:active{transform:scale(.97)}.btn:focus-visible{outline:3px solid var(--color-accent);outline-offset:2px}.btn:disabled{background-color:var(--color-disabled);cursor:not-allowed;opacity:var(--opacity-disabled);background-image:none;animation:none}button[data-variant=danger]{margin-left:var(--spacing-md);padding:var(--spacing-sm) var(--spacing-md);background:var(--seed-adobe);color:var(--seed-surface);border:var(--color-vis) 6px dashed;box-shadow:var(--shadow-md);cursor:url(https://icons.iconarchive.com/icons/paomedia/small-n-flat/32/sign-warning-icon.png),not-allowed}button[data-variant=danger]:hover{transition:transform .15s ease-out;animation:.4s ease-in-out danger-shake;transform:rotate(-3deg)}#returnTopBtn{right:var(--spacing-md);bottom:var(--spacing-md);z-index:99;padding:var(--spacing-sm);background-color:var(--color-primary);color:var(--header-text);box-shadow:var(--shadow-sm);cursor:pointer;border:none;border-radius:999px;display:none;position:fixed}#returnTopBtn:hover{background-color:var(--accent-400)}#returnTopBtn:focus-visible{outline:3px solid var(--color-accent);outline-offset:2px}@media (prefers-reduced-motion:reduce){.btn{transition:none;animation:none}}.card-group{padding:var(--spacing-lg) var(--spacing-md)}.card-group h2{font-family:var(--font-family-serif);margin-bottom:var(--spacing-md);color:var(--color-primary);text-align:center}.card-grid{grid-gap:var(--spacing-lg);grid-template-columns:repeat(auto-fit,minmax(300px,1fr));display:grid}.cards{gap:clamp(var(--spacing-sm), 2vw, var(--spacing-lg));grid-template-columns:repeat(auto-fit,minmax(250px,1fr));display:grid}.cards-wide{gap:clamp(var(--spacing-sm), 2vw, var(--spacing-lg));display:grid}.card{background-color:var(--header-text);border-radius:var(--radius-md);padding:clamp(var(--spacing-md), 2vw, var(--spacing-lg));box-shadow:var(--shadow-md);gap:var(--spacing-md);flex-direction:column;transition:transform .2s,box-shadow .2s;display:flex}.card:hover:not(.no-hover){box-shadow:var(--shadow-md);transform:translateY(-3px)}.card h3{font-family:var(--font-family-serif);color:var(--color-primary);text-align:center;margin:0}.card p{color:var(--color-text);margin:0}.card ul{margin-left:var(--spacing-lg)}.card ul.svg-bullet{list-style-type:none}.card-tag{background-color:var(--color-accent);color:var(--color-text);padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-md);font-family:var(--font-family-head);font-size:var(--font-size-base);text-align:center;display:inline-block}.card-footer{padding-top:var(--spacing-sm);border-top:1px solid var(--color-border-dark);justify-content:space-between;align-items:center;margin-top:auto;display:flex}.card-footer :is(span,a){font-weight:700}.card-footer a{color:var(--color-link);text-decoration:none}.card-footer a:hover{color:var(--color-accent)}.card-footer a:focus-visible{outline:3px solid var(--color-accent);outline-offset:2px}.card--disabled{filter:grayscale(.8)opacity(.6);pointer-events:none}.card--hidden{filter:blur(8px)brightness(1.2);pointer-events:none}@media (prefers-reduced-motion:reduce){:where(.card,.card-footer a,.card-tag){transition:none}:where(.cards *,.card *,.card-footer *){transition:none;transform:none}.card:hover:not(.no-hover){box-shadow:var(--shadow-md);transform:none}}.note-form{gap:var(--spacing-lg);padding:clamp(var(--spacing-md), 2vw, var(--spacing-lg));background-color:var(--header-text);border-radius:var(--radius-md);box-shadow:var(--shadow-md);flex-direction:column;display:flex}.form-field{gap:var(--spacing-sm);flex-direction:column;display:flex}.form-field label{font-family:var(--font-family-serif);font-size:var(--font-size-lg);color:var(--color-primary)}.note-form :is(input,textarea,select){padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-md);border:2px solid var(--color-primary);background-color:var(--color-bg);font-family:var(--font-family-sans);font-size:var(--font-size-base);color:var(--color-text);transition:border-color .2s,background-color .2s}.note-form :is(input,textarea,select):focus-visible{outline:3px solid var(--color-accent);outline-offset:2px;background-color:var(--header-text)}.note-form :is(input,textarea,select):not(:disabled):hover{border-color:var(--color-accent)}.note-form :is(input,textarea,select):disabled{opacity:var(--opacity-disabled);cursor:not-allowed;background-color:var(--color-disabled)}textarea{resize:vertical;min-height:calc(var(--spacing-lg) * 3)}header{padding:var(--spacing-xs);padding-top:env(safe-area-inset-top,var(--spacing-md));background-color:var(--color-accent);color:var(--header-text);align-items:center;gap:var(--spacing-md);margin:0;display:flex}header .theme-menu{margin-left:auto}header .logo{margin:0;padding:0}header .logo img{max-height:var(--spacing-xxl);border-radius:var(--radius-sm);object-fit:cover;display:block}header .slogan h2{margin-bottom:var(--spacing-sm);font-family:var(--font-family-serif);color:var(--color-primary)}footer{padding:var(--spacing-md);padding-bottom:env(safe-area-inset-bottom,var(--spacing-md));background-color:var(--color-accent);color:var(--color-primary);text-align:center}footer :where(a,svg){margin-inline:var(--spacing-xs);color:var(--header-text);display:inline-block}footer a{padding:var(--spacing-xs);justify-content:center;align-items:center}.site-nav{padding:var(--spacing-sm) var(--spacing-md);background-color:var(--color-primary);color:var(--header-text);justify-content:space-between;align-items:center;display:flex}.site-nav h2{font-family:var(--font-family-serif);font-size:var(--font-size-md);color:var(--header-text);-webkit-text-stroke:0;margin-right:var(--spacing-sm);text-decoration:none}.site-nav .active{background-color:var(--color-accent);color:var(--color-text);font-weight:700}.site-nav>a{color:var(--header-text);text-decoration:none}.site-nav>a:hover{color:var(--color-accent)}.site-nav>a:focus-visible{outline:3px solid var(--color-accent);outline-offset:2px}.site-nav ul{align-items:center;gap:var(--spacing-sm);margin:0;padding:0;list-style:none;display:flex}.site-nav ul li a{align-items:center;gap:var(--spacing-xs);padding:var(--spacing-sm) var(--spacing-md);color:var(--header-text);border-radius:var(--radius-md);font-size:var(--font-size-sm);max-width:13ch;text-decoration:none;transition:background-color .2s;display:inline-flex}.site-nav ul li a:hover:not([aria-current=page]){background-color:color-mix(in srgb, var(--color-accent) 30%, var(--color-primary))}.site-nav ul li a:focus-visible{outline:3px solid var(--color-accent);outline-offset:2px}.site-nav ul li a[aria-current=page]{background-color:var(--color-accent);color:var(--color-text);font-weight:700}.site-nav :is(a,li a){cursor:pointer}.panel{height:0;transition:height .35s;overflow:hidden}details[open] .panel{height:auto}@media (prefers-reduced-motion:reduce){.panel{transition:none}}.resume{max-width:64rem}.resume :where(h1,h2,h3){color:var(--color-primary);background-image:none;font-family:Trade Winds,serif}.multicolumn ul{column-count:2;column-gap:2rem;display:block}@media print{:where(header){display:none}}.contact-form{max-width:40rem;margin:var(--spacing-xl) auto;padding:var(--spacing-lg);background:var(--header-text);border-radius:var(--border-radius);box-shadow:var(--box-shadow);accent-color:var(--color-accent);gap:var(--spacing-lg);flex-direction:column;display:flex}.contact-form .form-field{gap:var(--spacing-sm);flex-direction:column;display:flex}.contact-form label{font-family:var(--font-family-serif);font-size:var(--font-size-lg);color:var(--color-primary)}.contact-form textarea{padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--border-radius);border:2px solid var(--color-primary);background-color:var(--color-bg);font-family:var(--font-family-sans);font-size:var(--font-size-base);color:var(--color-text);transition:border-color .2s,background-color .2s}.contact-form input[type=text]{padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--border-radius);border:2px solid var(--color-primary);background-color:var(--color-bg);font-family:var(--font-family-sans);font-size:var(--font-size-base);color:var(--color-text);transition:border-color .2s,background-color .2s}.contact-form input[type=email]{padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--border-radius);border:2px solid var(--color-primary);background-color:var(--color-bg);font-family:var(--font-family-sans);font-size:var(--font-size-base);color:var(--color-text);transition:border-color .2s,background-color .2s}.contact-form input:focus-visible{outline:3px solid var(--color-accent);outline-offset:2px;background-color:var(--header-text)}.contact-form textarea:focus-visible{outline:3px solid var(--color-accent);outline-offset:2px;background-color:var(--header-text)}.contact-form .checkbox-inline{justify-content:space-between;align-items:center;gap:var(--spacing-md);flex-direction:row;display:flex}.checkbox-inline input[type=checkbox]{margin:0}textarea{field-sizing:content;resize:vertical;min-height:4rem;max-height:20rem}.icon{vertical-align:-.125em;fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0;width:1em;height:1em;display:inline-block}.icon[data-size=sm]{width:var(--icon-size-sm);height:var(--icon-size-sm)}.icon[data-size=md]{width:var(--icon-size-md);height:var(--icon-size-md)}footer a{padding:var(--spacing-xs);border-radius:var(--radius-md);color:var(--header-text);justify-content:center;align-items:center;transition:color .2s,background-color .2s,transform .2s;display:inline-flex}footer a>.icon{transition:inherit}footer a:hover{color:var(--color-accent);background-color:var(--color-surface);transform:translateY(-2px)}footer a:focus-visible{color:var(--color-accent);background-color:var(--color-surface);transform:translateY(-2px)}footer a:active{transform:translateY(0)}@media (prefers-reduced-motion:reduce){footer a{transition:none}footer a:hover,footer a:active{transform:none}footer a:focus-visible{transform:none}}}@layer utilities{.u-text-center{text-align:center}.u-no-shadow{box-shadow:none}.clearfix:after{content:"";clear:both;display:block}.visually-hidden{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.holo-flash{background-image:var(--color-metallic-holo);background-position:50% 0;background-repeat:no-repeat;background-size:300% 300%}.holo-flash-chromatic{background-image:var(--color-chromatic-holo);background-position:50% 0;background-repeat:no-repeat;background-size:300% 300%}.holo-flash:hover,.holo-flash-chromatic:hover{animation:1.2s ease-out holo-sweep}.no-flash{background-image:none;animation:none}@media (prefers-reduced-motion:reduce){.holo-flash,.holo-flash-chromatic{animation:none}}}@property --holo-sweep{syntax:"<percentage>";inherits:false;initial-value:0%}@keyframes danger-shake{0%{transform:translate(0)}20%{transform:translate(-4px)}40%{transform:translate(4px)}60%{transform:translate(-4px)}80%{transform:translate(4px)}to{transform:translate(0)}}@keyframes holo-sweep{0%{background-position:50% 0}50%{background-position:-50% 0}to{background-position:50% 0}}@keyframes status-pulse{0%{opacity:1;transform:scale(1)}to{opacity:.9;transform:scale(1.12)}}@media (prefers-contrast:more){:root{--color-border:#000;--color-text-muted:#1a1a1a}}@media (pointer:coarse){:with(button, a, input, select){min-width:44px;min-height:44px}}@media print{header,nav,footer,.site-header,.theme-menu,.no-print,button,aside{display:none}:where(figure,blockquote,pre,.card){break-inside:avoid}:where(h1,h2,h3,em){break-after:avoid;background-image:none;font-family:Trade Winds,serif}:where(em,ul){break-inside:avoid}p{orphans:3;widows:3}body{color:#000;background:#fff;max-width:45em;margin:0 auto;font-family:Georgia,serif;font-size:12pt;line-height:1.4}a[href]:after{content:" (" attr(href) ")";color:#555;font-size:.9em}a[href^=\/]:after,a[href^=\#]:after{content:none}}