diff --git a/.gitignore b/.gitignore
index 8f964bbf..95220fd3 100644
--- a/.gitignore
+++ b/.gitignore
@@ -14,3 +14,4 @@ notes.txt
.cache
hint-history
Resume_2025.pdf
+docs/workbox-v*/
diff --git a/CLAUDE.md b/CLAUDE.md
index 4c3ae099..e6ffdb45 100644
--- a/CLAUDE.md
+++ b/CLAUDE.md
@@ -40,7 +40,7 @@ pnpm run postbuild # Auto-runs after build (Autoprefixer + CSSNano)
### Linting & Validation
```bash
-pnpm run lint # 5 seconds - Stylelint check (expect 176+ legacy errors)
+pnpm run lint # 5 seconds - Stylelint check (should report 0 errors)
pnpm run lint:fix # Auto-fix Stylelint issues
pnpm run webhint # 30 seconds - accessibility/performance audit
```
@@ -48,7 +48,6 @@ pnpm run webhint # 30 seconds - accessibility/performance audit
**Expected Build Warnings (Safe to Ignore)**:
- 144 Sass deprecation warnings from Bootstrap's `@import` syntax
- 74+ npm audit vulnerabilities (non-critical for static site)
-- 176+ Stylelint errors (legacy code, non-blocking)
- 245+ WebHint warnings (accessibility/compatibility, non-blocking)
- Node version warnings (package requires 22, runs fine on 20+)
diff --git a/docs/css/containers.css b/docs/css/containers.css
index 3dbfb909..67a53d63 100644
--- a/docs/css/containers.css
+++ b/docs/css/containers.css
@@ -1,2 +1,2 @@
-.cards-row{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;gap:var(--space-lg,1.5rem)}.prose-section:nth-child(2){margin-top:0}.prose-section .card,section .card{margin-bottom:var(--space-lg,1.5rem)}.card h2,.card h3,.card h4{margin-bottom:var(--space-sm,.75rem);margin-top:0}.card>h3{border-bottom:var(--border-thin,2px) solid var(--earth-sand);margin-bottom:var(--space-md,1rem);padding-bottom:var(--space-md,1rem)}.card ol:last-child,.card p:last-child,.card ul:last-child{margin-bottom:0}.prose-section .card-shadow{background:var(--earth-cream);border:none;border-radius:var(--radius-lg,16px);-webkit-box-shadow:10px 10px 0 var(--shadow-heavy);box-shadow:10px 10px 0 var(--shadow-heavy);padding:var(--space-md,1.5rem)}.prose-section .card-shadow>h3{border-bottom:var(--border-thin,2px) solid var(--earth-brown);margin-bottom:var(--space-md,1rem);padding-bottom:var(--space-md,1rem)}.prose-section .card-basic{background:var(--earth-sand);border:4px solid var(--earth-brown);border-radius:var(--radius-lg,16px);-webkit-box-shadow:6px 6px 0 var(--shadow-heavy);box-shadow:6px 6px 0 var(--shadow-heavy);padding:var(--space-md,1.5rem);-webkit-transition:-webkit-transform .3s;transition:-webkit-transform .3s;transition:transform .3s;transition:transform .3s,-webkit-transform .3s}.prose-section .card-basic>h3{border-bottom:var(--border-thin,2px) solid var(--earth-brown);margin-bottom:var(--space-md,1rem);padding-bottom:var(--space-md,1rem)}.prose-section blockquote{background:var(--earth-sand-light);border-left:var(--border-medium) solid var(--accent-coral);color:var(--text-primary);font-size:clamp(1rem,1.5vw,1.1rem);font-weight:600;line-height:1.6;margin:var(--space-lg,1.5rem);padding:var(--space-lg,1.5rem)}
-/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zYXNzL2NvbnRhaW5lcnMuc2NzcyIsImNvbnRhaW5lcnMuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLFdBQ0UsbUJBQUEsQ0FBQSxtQkFBQSxDQUFBLFlBQUEsQ0FDQSxrQkFBQSxDQUFBLGNBQUEsQ0FDQSw2QkFBQSxDQUFBLDRCQUFBLENBQUEsc0JBQUEsQ0FBQSxrQkFBQSxDQUNBLDBCQ0NGLENEWUEsNEJBQ0UsWUNSRixDRFlBLG1DQUVFLG9DQ1JGLENEWUEsMkJBSUUsb0NBQUEsQ0FEQSxZQ1BGLENEVUEsU0FHRSw0REFBQSxDQUZBLGtDQUFBLENBQ0EsbUNDTkYsQ0RVQSwyREFHRSxlQ1BGLENEU0EsNEJBQ0UsNkJBQUEsQ0FDQSxXQUFBLENBQ0EsbUNBQUEsQ0FFQSxrREFBQSxDQUFBLDBDQUFBLENBREEsOEJDTEYsQ0RRQSwrQkFHRSw2REFBQSxDQUZBLGtDQUFBLENBQ0EsbUNDSkYsQ0RPQSwyQkFDRSw0QkFBQSxDQUNBLG1DQUFBLENBQ0EsbUNBQUEsQ0FFQSxnREFBQSxDQUFBLHdDQUFBLENBREEsOEJBQUEsQ0FFQSx3Q0FBQSxDQUFBLGdDQUFBLENBQUEsd0JBQUEsQ0FBQSw4Q0NKRixDRE1BLDhCQUdFLDZEQUFBLENBRkEsa0NBQUEsQ0FDQSxtQ0NGRixDRE1BLDBCQU9FLGtDQUFBLENBQ0EsMERBQUEsQ0FKQSx5QkFBQSxDQUhBLGtDQUFBLENBRUEsZUFBQSxDQURBLGVBQUEsQ0FHQSw2QkFBQSxDQUNBLDhCQ0RGIiwiZmlsZSI6ImNvbnRhaW5lcnMuY3NzIn0= */
\ No newline at end of file
+.cards-row{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-flow:row wrap;flex-flow:row wrap;gap:var(--space-lg,1.5rem)}.prose-section:nth-child(2){margin-top:0}.prose-section .card,section .card{margin-bottom:var(--space-lg,1.5rem)}.card h2,.card h3,.card h4{margin-bottom:var(--space-sm,.75rem);margin-top:0}.card>h3{border-bottom:var(--border-thin,2px) solid var(--earth-sand);margin-bottom:var(--space-md,1rem);padding-bottom:var(--space-md,1rem)}.card ol:last-child,.card p:last-child,.card ul:last-child{margin-bottom:0}.prose-section .card-shadow{background:var(--earth-cream);border:none;border-radius:var(--radius-lg,16px);-webkit-box-shadow:10px 10px 0 var(--shadow-heavy);box-shadow:10px 10px 0 var(--shadow-heavy);padding:var(--space-md,1.5rem)}.prose-section .card-shadow>h3{border-bottom:var(--border-thin,2px) solid var(--earth-brown);margin-bottom:var(--space-md,1rem);padding-bottom:var(--space-md,1rem)}.prose-section .card-basic{background:var(--earth-sand);border:4px solid var(--earth-brown);border-radius:var(--radius-lg,16px);-webkit-box-shadow:6px 6px 0 var(--shadow-heavy);box-shadow:6px 6px 0 var(--shadow-heavy);padding:var(--space-md,1.5rem);-webkit-transition:-webkit-transform .3s;transition:-webkit-transform .3s;transition:transform .3s;transition:transform .3s,-webkit-transform .3s}.prose-section .card-basic>h3{border-bottom:var(--border-thin,2px) solid var(--earth-brown);margin-bottom:var(--space-md,1rem);padding-bottom:var(--space-md,1rem)}.prose-section blockquote{background:var(--earth-sand-light);border-left:var(--border-medium) solid var(--accent-coral);color:var(--text-primary);font-size:clamp(1rem,1.5vw,1.1rem);font-weight:600;line-height:1.6;margin:var(--space-lg,1.5rem);padding:var(--space-lg,1.5rem)}
+/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zYXNzL2NvbnRhaW5lcnMuc2NzcyIsImNvbnRhaW5lcnMuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLFdBQ0UsbUJBQUEsQ0FBQSxtQkFBQSxDQUFBLFlBQUEsQ0FDQSw2QkFBQSxDQUFBLDRCQUFBLENBQUEsc0JBQUEsQ0FBQSxrQkFBQSxDQUNBLDBCQ0NGLENEWUEsNEJBQ0UsWUNSRixDRFlBLG1DQUVFLG9DQ1JGLENEWUEsMkJBSUUsb0NBQUEsQ0FEQSxZQ1BGLENEVUEsU0FHRSw0REFBQSxDQUZBLGtDQUFBLENBQ0EsbUNDTkYsQ0RVQSwyREFHRSxlQ1BGLENEU0EsNEJBQ0UsNkJBQUEsQ0FDQSxXQUFBLENBQ0EsbUNBQUEsQ0FFQSxrREFBQSxDQUFBLDBDQUFBLENBREEsOEJDTEYsQ0RRQSwrQkFHRSw2REFBQSxDQUZBLGtDQUFBLENBQ0EsbUNDSkYsQ0RPQSwyQkFDRSw0QkFBQSxDQUNBLG1DQUFBLENBQ0EsbUNBQUEsQ0FFQSxnREFBQSxDQUFBLHdDQUFBLENBREEsOEJBQUEsQ0FFQSx3Q0FBQSxDQUFBLGdDQUFBLENBQUEsd0JBQUEsQ0FBQSw4Q0NKRixDRE1BLDhCQUdFLDZEQUFBLENBRkEsa0NBQUEsQ0FDQSxtQ0NGRixDRE1BLDBCQU9FLGtDQUFBLENBQ0EsMERBQUEsQ0FKQSx5QkFBQSxDQUhBLGtDQUFBLENBRUEsZUFBQSxDQURBLGVBQUEsQ0FHQSw2QkFBQSxDQUNBLDhCQ0RGIiwiZmlsZSI6ImNvbnRhaW5lcnMuY3NzIn0= */
\ No newline at end of file
diff --git a/docs/css/containers.css.map b/docs/css/containers.css.map
index 5989a9a7..c8fe483c 100644
--- a/docs/css/containers.css.map
+++ b/docs/css/containers.css.map
@@ -1 +1 @@
-{"version":3,"sourceRoot":"","sources":["../../src/sass/containers.scss"],"names":[],"mappings":";AAAA;AAEA;AACA;EACE;EACA;EACA;EACA;;;AAGF;AAUA;EACE;;;AAGF;AACA;AAAA;EAEE;;;AAGF;AACA;AAAA;AAAA;EAGE;EACA;;;AAEF;EACE;EACA;EACA;;;AAGF;AAAA;AAAA;EAGE;;;AAEF;EACE;EACA;EACA;EACA;EACA;;;AAEF;EACE;EACA;EACA;;;AAEF;EACE;EACA;EACA;EACA;EACA;EACA;;;AAEF;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA","file":"containers.css"}
\ No newline at end of file
+{"version":3,"sourceRoot":"","sources":["../../src/sass/containers.scss"],"names":[],"mappings":";AAAA;AAEA;AACA;EACE;EACA;EACA;;;AAGF;AAUA;EACE;;;AAGF;AACA;AAAA;EAEE;;;AAGF;AACA;AAAA;AAAA;EAGE;EACA;;;AAEF;EACE;EACA;EACA;;;AAGF;AAAA;AAAA;EAGE;;;AAEF;EACE;EACA;EACA;EACA;EACA;;;AAEF;EACE;EACA;EACA;;;AAEF;EACE;EACA;EACA;EACA;EACA;EACA;;;AAEF;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA","file":"containers.css"}
\ No newline at end of file
diff --git a/docs/css/print.css b/docs/css/print.css
index ea157f8b..32592706 100644
--- a/docs/css/print.css
+++ b/docs/css/print.css
@@ -1,2 +1,2 @@
-@media print{body{background:#fff!important;color:#000;font:12pt Times New Roman,Times,serif;line-height:1.3}#footer,#header,.adslot,.hero,.menu,aside,footer,form,header,iframe,nav{display:none}#footer,#navigation{display:none!important}content,main{display:block!important;float:none;margin:0;max-width:8.5in!important;width:100%}.section-hero,section{margin:16px 0 0!important;padding:0!important}.row{display:block!important}.col-md-6{width:100%!important}.mt-2,.mt-3,.mt-4{margin-top:2pt!important}.mb-2,.mb-3,.mb-4{margin-bottom:2pt!important}.my-2,.my-3,.my-4{margin-bottom:0!important;margin-top:0!important}.py-2,.py-3,.py-4{padding-bottom:0!important;padding-top:0!important}.pb-2,.pb-3,.pb-4{padding-bottom:2pt!important}*{background-image:none!important}img,svg{display:none!important}img,svg,table{-webkit-column-break-inside:avoid;-moz-column-break-inside:avoid;break-inside:avoid}.text-bg-light{background-color:transparent!important}.hide-on-print,.row-badges{display:none!important}.print{display:block!important}.h1,.text-h1,h1{font-size:22pt;-webkit-column-break-before:always;-moz-column-break-before:always;break-before:always;font-family:Times New Roman,Times,serif;text-shadow:none}.h2,.text-h2,h2{font-family:Times New Roman,Times,serif!important;font-size:19pt;margin-bottom:8px;margin-top:16px}.h2:after,.text-h2:after,h2:after{display:none}.h3,.text-h3,h3{font-size:17pt}.h3,.h4,.text-h3,.text-h4,h3,h4{font-family:Times New Roman,Times,serif!important;margin-bottom:8px;margin-top:16px}.h4,.text-h4,h4{font-size:14pt}.h5,.text-h5,h5{margin-top:16px}.h5,.paragraph,.text-h5,h5,p{font-family:Times New Roman,Times,serif!important;font-size:12pt;margin-bottom:8px}blockquote{page-break-inside:avoid}h1,h2,h3,h4,h5,h6,img{page-break-after:avoid}h1,h2,h3,h4,h5,h6,img,pre,table{page-break-inside:avoid}dl,ol,ul{page-break-before:avoid}a{page-break-inside:avoid}a,a:link,a:visited{background:transparent;color:#520;font-weight:700;text-align:left;text-decoration:underline}.badge{border-color:#000!important;color:#000!important}.badge,.card{background:transparent!important}.card{border-color:transparent!important;-webkit-box-shadow:none!important;box-shadow:none!important;padding:0!important;-webkit-transform:none!important;transform:none!important;-webkit-transition:none!important;transition:none!important}}
-/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zYXNzL3ByaW50LnNjc3MiLCJwcmludC5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBS0EsYUFDRSxLQUdFLHlCQUFBLENBQ0EsVUFBQSxDQUhBLHFDQUFBLENBQ0EsZUNHRixDRENBLHdFQVdFLFlDQ0YsQ0RDQSxvQkFFRSxzQkNDRixDRENBLGFBRUUsdUJBQUEsQ0FJQSxVQUFBLENBREEsUUFBQSxDQUZBLHlCQUFBLENBQ0EsVUNHRixDRENBLHNCQUlFLHlCQUFBLENBRkEsbUJDR0YsQ0RDQSxLQUNFLHVCQ0NGLENEQ0EsVUFDRSxvQkNDRixDRENBLGtCQUNFLHdCQ0NGLENEQ0Esa0JBQ0UsMkJDQ0YsQ0RDQSxrQkFFRSx5QkFBQSxDQURBLHNCQ0VGLENEQ0Esa0JBRUUsMEJBQUEsQ0FEQSx1QkNFRixDRENBLGtCQUNFLDRCQ0NGLENEQ0EsRUFDRSwrQkNDRixDRENBLFFBRUUsc0JDQ0YsQ0RDQSxjQUdFLGlDQUFBLENBQUEsOEJBQUEsQ0FBQSxrQkNDRixDRENBLGVBQ0Usc0NDQ0YsQ0RJQSwyQkFDRSxzQkNDRixDRENBLE9BQ0UsdUJDQ0YsQ0RDQSxnQkFHRSxjQUFBLENBQ0Esa0NBQUEsQ0FBQSwrQkFBQSxDQUFBLG1CQUFBLENBRUEsdUNBQUEsQ0FEQSxnQkNFRixDRENBLGdCQU1FLGlEQUFBLENBSEEsY0FBQSxDQUVBLGlCQUFBLENBREEsZUNHRixDRENBLGtDQUdFLFlDQ0YsQ0RDQSxnQkFHRSxjQ0lGLENEQ0EsZ0NBRkUsaURBQUEsQ0FEQSxpQkFBQSxDQURBLGVDV0YsQ0RQQSxnQkFHRSxjQ0lGLENEQ0EsZ0JBSUUsZUNHRixDRENBLDZCQUZFLGlEQUFBLENBSEEsY0FBQSxDQUVBLGlCQ1FGLENER0EsV0FDRSx1QkNBRixDRFdBLHNCQUhFLHNCQ0tGLENERUEsZ0NBTkUsdUJDUUYsQ0RFQSxTQUdFLHVCQ0FGLENESUEsRUFDRSx1QkNERixDREdBLG1CQUdFLHNCQUFBLENBQ0EsVUFBQSxDQUNBLGVBQUEsQ0FFQSxlQUFBLENBREEseUJDQUYsQ0RnQkEsT0FDRSwyQkFBQSxDQUNBLG9CQ2JGLENEZ0JBLGFBRkUsZ0NDTkYsQ0RRQSxNQUVFLGtDQUFBLENBRUEsaUNBQUEsQ0FBQSx5QkFBQSxDQURBLG1CQUFBLENBR0EsZ0NBQUEsQ0FBQSx3QkFBQSxDQURBLGlDQUFBLENBQUEseUJDYkYsQ0FDRiIsImZpbGUiOiJwcmludC5jc3MifQ== */
\ No newline at end of file
+@media print{body{background:#fff!important;color:#000;font:12pt Times New Roman,Times,serif;line-height:1.3}#footer,#header,.adslot,.hero,.menu,aside,footer,form,header,iframe,nav{display:none}#footer,#navigation{display:none!important}content,main{display:block!important;float:none;margin:0;max-width:8.5in!important;width:100%}.section-hero,section{margin:16px 0 0!important;padding:0!important}.row{display:block!important}.col-md-6{width:100%!important}.mt-2,.mt-3,.mt-4{margin-top:2pt!important}.mb-2,.mb-3,.mb-4{margin-bottom:2pt!important}.my-2,.my-3,.my-4{margin-bottom:0!important;margin-top:0!important}.py-2,.py-3,.py-4{padding-bottom:0!important;padding-top:0!important}.pb-2,.pb-3,.pb-4{padding-bottom:2pt!important}*{background-image:none!important}img,svg{display:none!important}img,svg,table{-webkit-column-break-inside:avoid;-moz-column-break-inside:avoid;break-inside:avoid}.text-bg-light{background-color:transparent!important}.hide-on-print,.row-badges{display:none!important}.print{display:block!important}.h1,.text-h1,h1{font-size:22pt;-webkit-column-break-before:always;-moz-column-break-before:always;break-before:always;font-family:Times New Roman,Times,serif;text-shadow:none}.h2,.text-h2,h2{font-family:Times New Roman,Times,serif!important;font-size:19pt;margin-bottom:8px;margin-top:16px}.h2:after,.text-h2:after,h2:after{display:none}.h3,.text-h3,h3{font-size:17pt}.h3,.h4,.text-h3,.text-h4,h3,h4{font-family:Times New Roman,Times,serif!important;margin-bottom:8px;margin-top:16px}.h4,.text-h4,h4{font-size:14pt}.h5,.text-h5,h5{margin-top:16px}.h5,.paragraph,.text-h5,h5,p{font-family:Times New Roman,Times,serif!important;font-size:12pt;margin-bottom:8px}blockquote{-webkit-column-break-inside:avoid;-moz-column-break-inside:avoid;break-inside:avoid}h1,h2,h3,h4,h5,h6,img{-webkit-column-break-after:avoid;-moz-column-break-after:avoid;break-after:avoid}h1,h2,h3,h4,h5,h6,img,pre,table{-webkit-column-break-inside:avoid;-moz-column-break-inside:avoid;break-inside:avoid}dl,ol,ul{-webkit-column-break-before:avoid;-moz-column-break-before:avoid;break-before:avoid}a{-webkit-column-break-inside:avoid;-moz-column-break-inside:avoid;break-inside:avoid}a,a:link,a:visited{background:transparent;color:#520;font-weight:700;text-align:left;text-decoration:underline}.badge{border-color:#000!important;color:#000!important}.badge,.card{background:transparent!important}.card{border-color:transparent!important;-webkit-box-shadow:none!important;box-shadow:none!important;padding:0!important;-webkit-transform:none!important;transform:none!important;-webkit-transition:none!important;transition:none!important}}
+/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zYXNzL3ByaW50LnNjc3MiLCJwcmludC5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBS0EsYUFDRSxLQUdFLHlCQUFBLENBQ0EsVUFBQSxDQUhBLHFDQUFBLENBQ0EsZUNHRixDRENBLHdFQVdFLFlDQ0YsQ0RDQSxvQkFFRSxzQkNDRixDRENBLGFBRUUsdUJBQUEsQ0FJQSxVQUFBLENBREEsUUFBQSxDQUZBLHlCQUFBLENBQ0EsVUNHRixDRENBLHNCQUlFLHlCQUFBLENBRkEsbUJDR0YsQ0RDQSxLQUNFLHVCQ0NGLENEQ0EsVUFDRSxvQkNDRixDRENBLGtCQUNFLHdCQ0NGLENEQ0Esa0JBQ0UsMkJDQ0YsQ0RDQSxrQkFFRSx5QkFBQSxDQURBLHNCQ0VGLENEQ0Esa0JBRUUsMEJBQUEsQ0FEQSx1QkNFRixDRENBLGtCQUNFLDRCQ0NGLENEQ0EsRUFDRSwrQkNDRixDRENBLFFBRUUsc0JDQ0YsQ0RDQSxjQUdFLGlDQUFBLENBQUEsOEJBQUEsQ0FBQSxrQkNDRixDRENBLGVBQ0Usc0NDQ0YsQ0RJQSwyQkFDRSxzQkNDRixDRENBLE9BQ0UsdUJDQ0YsQ0RDQSxnQkFHRSxjQUFBLENBQ0Esa0NBQUEsQ0FBQSwrQkFBQSxDQUFBLG1CQUFBLENBRUEsdUNBQUEsQ0FEQSxnQkNFRixDRENBLGdCQU1FLGlEQUFBLENBSEEsY0FBQSxDQUVBLGlCQUFBLENBREEsZUNHRixDRENBLGtDQUdFLFlDQ0YsQ0RDQSxnQkFHRSxjQ0lGLENEQ0EsZ0NBRkUsaURBQUEsQ0FEQSxpQkFBQSxDQURBLGVDV0YsQ0RQQSxnQkFHRSxjQ0lGLENEQ0EsZ0JBSUUsZUNHRixDRENBLDZCQUZFLGlEQUFBLENBSEEsY0FBQSxDQUVBLGlCQ1FGLENER0EsV0FDRSxpQ0FBQSxDQUFBLDhCQUFBLENBQUEsa0JDQUYsQ0RXQSxzQkFIRSxnQ0FBQSxDQUFBLDZCQUFBLENBQUEsaUJDS0YsQ0RFQSxnQ0FORSxpQ0FBQSxDQUFBLDhCQUFBLENBQUEsa0JDUUYsQ0RFQSxTQUdFLGlDQUFBLENBQUEsOEJBQUEsQ0FBQSxrQkNBRixDRElBLEVBQ0UsaUNBQUEsQ0FBQSw4QkFBQSxDQUFBLGtCQ0RGLENER0EsbUJBR0Usc0JBQUEsQ0FDQSxVQUFBLENBQ0EsZUFBQSxDQUVBLGVBQUEsQ0FEQSx5QkNBRixDRGdCQSxPQUNFLDJCQUFBLENBQ0Esb0JDYkYsQ0RnQkEsYUFGRSxnQ0NORixDRFFBLE1BRUUsa0NBQUEsQ0FFQSxpQ0FBQSxDQUFBLHlCQUFBLENBREEsbUJBQUEsQ0FHQSxnQ0FBQSxDQUFBLHdCQUFBLENBREEsaUNBQUEsQ0FBQSx5QkNiRixDQUNGIiwiZmlsZSI6InByaW50LmNzcyJ9 */
\ No newline at end of file
diff --git a/docs/css/slides.css b/docs/css/slides.css
index 187b5105..706767a9 100644
--- a/docs/css/slides.css
+++ b/docs/css/slides.css
@@ -1,2 +1,2 @@
.slider{overflow:hidden;text-align:center}.slides{display:-webkit-box;display:-ms-flexbox;display:flex;overflow-x:auto;scroll-behavior:smooth;-ms-scroll-snap-type:x mandatory;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch}.slides::-webkit-scrollbar{width:16px}.slides::-webkit-scrollbar-thumb{background:var(--earth-sage);background-clip:content-box;border:2px solid transparent;border-radius:2rem}.slides::-webkit-scrollbar-track{background:transparent;border:1px solid transparent;border-radius:2rem;padding:0 2px}.slides>div{scroll-snap-align:start;-ms-flex-negative:0;background:transparent;border-radius:10px;display:-webkit-box;display:-ms-flexbox;display:flex;flex-shrink:0;height:300px;margin-right:50px;position:relative;-webkit-transform:scale(1);transform:scale(1);-webkit-transform-origin:center center;transform-origin:center center;-webkit-transition:-webkit-transform .5s;transition:-webkit-transform .5s;transition:transform .5s;transition:transform .5s,-webkit-transform .5s;width:300px;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;font-size:100px}.carousel img{height:100%;left:0;-o-object-fit:cover;object-fit:cover;position:absolute;top:0;width:100%}
-/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zYXNzL3NsaWRlcy5zY3NzIiwic2xpZGVzLmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFLQSxRQUdFLGVBQUEsQ0FEQSxpQkNBRixDRElBLFFBQ0UsbUJBQUEsQ0FBQSxtQkFBQSxDQUFBLFlBQUEsQ0FFQSxlQUFBLENBR0Esc0JBQUEsQ0FGQSxnQ0FBQSxDQUFBLDRCQUFBLENBR0EsZ0NDSEYsQ0RLQSwyQkFDRSxVQ0ZGLENESUEsaUNBQ0UsNEJBQUEsQ0FHQSwyQkFBQSxDQURBLDRCQUFBLENBREEsa0JDQ0YsQ0RHQSxpQ0FDRSxzQkFBQSxDQUdBLDRCQUFBLENBREEsa0JBQUEsQ0FEQSxhQ0VGLENERUEsWUFDRSx1QkFBQSxDQUNBLG1CQUFBLENBS0Esc0JBQUEsQ0FEQSxrQkFBQSxDQU9BLG1CQUFBLENBQUEsbUJBQUEsQ0FBQSxZQUFBLENBWEEsYUFBQSxDQUVBLFlBQUEsQ0FDQSxpQkFBQSxDQU1BLGlCQUFBLENBRkEsMEJBQUEsQ0FBQSxrQkFBQSxDQURBLHNDQUFBLENBQUEsOEJBQUEsQ0FFQSx3Q0FBQSxDQUFBLGdDQUFBLENBQUEsd0JBQUEsQ0FBQSw4Q0FBQSxDQVBBLFdBQUEsQ0FXQSx1QkFBQSxDQUFBLG9CQUFBLENBQUEsc0JBQUEsQ0FDQSx3QkFBQSxDQUFBLHFCQUFBLENBQUEsa0JBQUEsQ0FDQSxlQ0FGLENERUEsY0FNRSxXQUFBLENBRkEsTUFBQSxDQUhBLG1CQUFBLENBQUEsZ0JBQUEsQ0FDQSxpQkFBQSxDQUNBLEtBQUEsQ0FFQSxVQ0VGIiwiZmlsZSI6InNsaWRlcy5jc3MifQ== */
\ No newline at end of file
+/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zYXNzL3NsaWRlcy5zY3NzIiwic2xpZGVzLmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFLQSxRQUdFLGVBQUEsQ0FEQSxpQkNBRixDRElBLFFBQ0UsbUJBQUEsQ0FBQSxtQkFBQSxDQUFBLFlBQUEsQ0FDQSxlQUFBLENBRUEsc0JBQUEsQ0FEQSxnQ0FBQSxDQUFBLDRCQUFBLENBRUEsZ0NDREYsQ0RHQSwyQkFDRSxVQ0FGLENERUEsaUNBQ0UsNEJBQUEsQ0FHQSwyQkFBQSxDQURBLDRCQUFBLENBREEsa0JDR0YsQ0RDQSxpQ0FDRSxzQkFBQSxDQUdBLDRCQUFBLENBREEsa0JBQUEsQ0FEQSxhQ0lGLENEQUEsWUFDRSx1QkFBQSxDQUNBLG1CQUFBLENBS0Esc0JBQUEsQ0FEQSxrQkFBQSxDQU1BLG1CQUFBLENBQUEsbUJBQUEsQ0FBQSxZQUFBLENBVkEsYUFBQSxDQUVBLFlBQUEsQ0FDQSxpQkFBQSxDQU1BLGlCQUFBLENBRkEsMEJBQUEsQ0FBQSxrQkFBQSxDQURBLHNDQUFBLENBQUEsOEJBQUEsQ0FFQSx3Q0FBQSxDQUFBLGdDQUFBLENBQUEsd0JBQUEsQ0FBQSw4Q0FBQSxDQVBBLFdBQUEsQ0FVQSx1QkFBQSxDQUFBLG9CQUFBLENBQUEsc0JBQUEsQ0FDQSx3QkFBQSxDQUFBLHFCQUFBLENBQUEsa0JBQUEsQ0FDQSxlQ0dGLENEREEsY0FNRSxXQUFBLENBRkEsTUFBQSxDQUhBLG1CQUFBLENBQUEsZ0JBQUEsQ0FDQSxpQkFBQSxDQUNBLEtBQUEsQ0FFQSxVQ0tGIiwiZmlsZSI6InNsaWRlcy5jc3MifQ== */
\ No newline at end of file
diff --git a/docs/css/slides.css.map b/docs/css/slides.css.map
index b157ea75..a671a064 100644
--- a/docs/css/slides.css.map
+++ b/docs/css/slides.css.map
@@ -1 +1 @@
-{"version":3,"sourceRoot":"","sources":["../../src/sass/slides.scss"],"names":[],"mappings":"AAAA;AAAA;AAAA;AAAA;AAKA;EAEE;EACA;;;AAGF;EACE;EAEA;EACA;EAEA;EACA;;;AAEF;EACE;;;AAEF;EACE;EACA;EACA;EACA;;;AAEF;EACE;EACA;EACA;EACA;;;AAEF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAEA;EACA;EACA;EACA;;;AAEF;EACE;EACA;EACA;EACA;EACA;EACA","file":"slides.css"}
\ No newline at end of file
+{"version":3,"sourceRoot":"","sources":["../../src/sass/slides.scss"],"names":[],"mappings":"AAAA;AAAA;AAAA;AAAA;AAKA;EAEE;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;;;AAEF;EACE;;;AAEF;EACE;EACA;EACA;EACA;;;AAEF;EACE;EACA;EACA;EACA;;;AAEF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAEF;EACE;EACA;EACA;EACA;EACA;EACA","file":"slides.css"}
\ No newline at end of file
diff --git a/docs/css/style.css b/docs/css/style.css
index 1b88aebf..7fd3573d 100644
--- a/docs/css/style.css
+++ b/docs/css/style.css
@@ -1,2 +1,2 @@
-:root{--font-family-sans:"Inter",system-ui,-apple-system,blinkmacsystemfont,"Segoe UI",roboto,"Helvetica Neue",arial,sans-serif;--font-family-serif:"Playfair Display",serif;--font-family-mono:"Fira Code","Courier New",courier,monospace;--font-family-heading:"Pirata One",cursive;--white:#f0f0f0;--black:#010101;--earth-dark:#2d1f12;--earth-brown:#4a3426;--earth-sage:#5a6b4f;--earth-sand:#c9b89a;--earth-sand-light:#e2d8c8;--earth-cream:#f5f1e8;--accent-coral:#d35f3d;--accent-coral-dark:#b34a2d;--text-primary:#2d1f12;--text-secondary:#4a3426;--text-muted:#6b5d52;--shadow:rgba(45,31,18,.15);--shadow-heavy:rgba(45,31,18,.25);--shadow-light:rgba(45,31,18,.08);--bg-canvas:var(--earth-cream);--border-brown:var(--earth-brown);--font-size-xs:0.75rem;--font-size-sm:0.875rem;--font-size-md:1rem;--font-size-lg:1.125rem;--font-size-xl:1.25rem;--font-size-2xl:1.5rem;--font-size-3xl:2rem;--font-size-4xl:2.5rem;--font-size-5xl:3rem;--font-size-6xl:4rem;--space-2xs:0.25rem;--space-xs:0.5rem;--space-sm:0.75rem;--space-md:1rem;--space-lg:1.5rem;--space-xl:2rem;--space-2xl:3rem;--space-3xl:6rem;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:20px;--radius-pill:50px;--border-thin:2px;--border-medium:4px;--border-thick:6px;--border-extra-thick:8px}*{-webkit-box-sizing:border-box;box-sizing:border-box;margin:0;padding:0}:focus-visible{outline:var(--border-thin) solid var(--accent-coral);outline-offset:2px}html{scroll-behavior:smooth}body{background:linear-gradient(135deg,var(--earth-cream) 0,#e8dcc8 100%);color:var(--text-primary);font-family:var(--font-family-sans);line-height:1.6;min-height:100vh;position:relative}::-webkit-scrollbar,html::-webkit-scrollbar{width:16px}::-webkit-scrollbar-thumb,html::-webkit-scrollbar-thumb{background:linear-gradient(var(--accent-coral-dark),var(--accent-coral));background-clip:content-box;border:2px solid transparent;border-radius:2rem}::-webkit-scrollbar-track,html::-webkit-scrollbar-track{background:transparent;border:1px solid var(--earth-sage);border-radius:2rem;padding:0 2px}@media (prefers-reduced-motion:reduce){.animated-element{-webkit-animation:none;animation:none;opacity:1;-webkit-transition:none;transition:none}body{scroll-behavior:auto}*,:after,:before{-webkit-animation-duration:.01ms!important;animation-duration:.01ms!important;-webkit-animation-iteration-count:1!important;animation-iteration-count:1!important;-webkit-transition-duration:.01ms!important;transition-duration:.01ms!important}}.d-none,.display-none{display:none!important}.hero{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;margin:0 auto;max-width:900px;padding:6rem 2rem;text-align:center}.rounded{border-radius:var(--radius-xl,20px)!important}.circle{border-radius:999px!important;padding:1rem!important}.fade-in{opacity:0;-webkit-transition:opacity .5s ease-in,visibility 0s linear .5s;transition:opacity .5s ease-in,visibility 0s linear .5s;visibility:hidden}.fade-in.show,.show{opacity:1;-webkit-transition-delay:0s;transition-delay:0s;visibility:visible}.hide{opacity:0;-webkit-transition:opacity .5s ease-in,visibility 0s linear .5s;transition:opacity .5s ease-in,visibility 0s linear .5s;visibility:hidden}.hide-on-screen{display:none!important}@media (width <= 768px){.hero h1{font-size:var(--font-size-5xl,3rem)}.no-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.hide-on-mobile{display:none!important}.callouts-grid,.work-grid{grid-template-columns:1fr}h2{font-size:var(--font-size-3xl,2rem)}}figcaption{color:var(--text-secondary);font-size:var(--font-size-sm,.875rem);font-style:italic;line-height:1.4;text-align:center}.arrows{bottom:20px;height:72px;left:50%;margin-left:-30px;position:absolute;width:60px}.arrows path{-webkit-animation:arrow 2s infinite;animation:arrow 2s infinite;fill:transparent;stroke:#bfe7fa;stroke-width:1px}@-webkit-keyframes arrow{0%{opacity:0}40%{opacity:1}80%{opacity:0}to{opacity:0}}@keyframes arrow{0%{opacity:0}40%{opacity:1}80%{opacity:0}to{opacity:0}}.arrows path.a1{-webkit-animation-delay:-1s;animation-delay:-1s}.arrows path.a2{-webkit-animation-delay:-.5s;animation-delay:-.5s}.arrows path.a3{-webkit-animation-delay:0s;animation-delay:0s}.pirata-one-regular{font-family:Pirata One,system-ui;font-style:normal;font-weight:400}.inter-400{font-optical-sizing:auto;font-style:normal;font-weight:400}.inter-400,.inter-500{font-family:Inter,sans-serif}.inter-500{font-optical-sizing:auto;font-style:normal;font-weight:500}.inter-600{font-optical-sizing:auto;font-style:normal;font-weight:600}.inter-600,.inter-700{font-family:Inter,sans-serif}.inter-700{font-optical-sizing:auto;font-style:normal;font-weight:700}.inter-800{font-optical-sizing:auto;font-style:normal;font-weight:800}.inter-800,.inter-900{font-family:Inter,sans-serif}.inter-900{font-optical-sizing:auto;font-style:normal;font-weight:900}.playfair-display-400{font-family:Playfair Display,serif;font-optical-sizing:auto;font-style:normal;font-weight:400}.playfair-display-500{font-family:Playfair Display,serif;font-optical-sizing:auto;font-style:normal;font-weight:500}.playfair-display-600{font-family:Playfair Display,serif;font-optical-sizing:auto;font-style:normal;font-weight:600}.playfair-display-700{font-family:Playfair Display,serif;font-optical-sizing:auto;font-style:normal;font-weight:700}.playfair-display-800{font-family:Playfair Display,serif;font-optical-sizing:auto;font-style:normal;font-weight:800}.playfair-display-900{font-family:Playfair Display,serif;font-optical-sizing:auto;font-style:normal;font-weight:900}.text-h1,h1{font-size:clamp(2.5rem,8vw,5rem);line-height:1.2}.text-display,.text-h1,h1{color:var(--text-primary);font-family:Pirata One,cursive;letter-spacing:2px;text-shadow:3px 3px 0 var(--accent-coral)}.text-display{font-size:clamp(3rem,10vw,6rem);line-height:1.1}.hero h1{font-family:var(--font-family-heading);letter-spacing:2px;line-height:1.2;margin-bottom:1rem;text-shadow:3px 3px 0 var(--accent-coral)}.hero h1,.text-h2,h2{color:var(--text-primary)}.text-h2,h2{font-family:Playfair Display,serif;font-size:clamp(2rem,5vw,3rem);font-weight:700;line-height:1.3;margin-bottom:var(--space-md,1.5rem)}.text-h2.no-underline:after{display:none;margin-bottom:var(--space-2xs,.25rem)}.text-h2:after,h2:after{background:var(--accent-coral);border:3px solid var(--earth-brown);content:"";display:block;height:5px;margin:1rem auto;width:100px}.text-h3,h3{font-size:clamp(1.5rem,3vw,2rem);line-height:1.3}.text-h3,.text-h4,h3,h4{color:var(--text-primary);font-family:Playfair Display,serif;font-weight:600}.text-h4,h4{font-size:clamp(1.25rem,2.5vw,1.5rem);line-height:1.4}.text-h5,h5{font-size:clamp(1.1rem,2vw,1.25rem)}.text-h5,.text-h6,h5,h6{color:var(--text-primary);font-family:Inter,sans-serif;font-weight:700;line-height:1.4}.text-h6,h6{font-size:1rem;letter-spacing:.5px;text-transform:uppercase}.text-body-lg{font-size:clamp(1.1rem,1.5vw,1.25rem)!important;line-height:1.7!important}.text-body,p{color:var(--text-primary);font-size:clamp(.95rem,1.5vw,1rem);line-height:1.7;padding-bottom:var(--space-xs,.5rem)}.text-body:last-child,p:last-child{margin-bottom:0}.hero p{color:var(--earth-brown);font-size:clamp(1.1rem,2vw,1.25rem);margin:0 auto;max-width:720px}.card-body .text-body:first-of-type,.card-body p:first-of-type{margin-top:var(--space-md,16px)}.text-body-sm{font-size:clamp(.85rem,1.2vw,.9rem);line-height:1.6}.text-caption{color:var(--text-muted);font-size:clamp(var(--space-sm),1vw,.85rem);line-height:1.5}.text-callout{background:var(--earth-sand-light);border-left:var(--border-medium) solid var(--accent-coral);color:var(--text-primary);font-size:clamp(1rem,1.5vw,1.1rem);font-weight:600;line-height:1.6;margin:var(--space-lg,1.5rem);padding:var(--space-lg,1.5rem)}.code,code{font-family:var(--font-family-mono);font-size:clamp(.85rem,1vw,.9rem)}.code.code-inline,code.code-inline{background:var(--earth-sand);border-radius:var(--radius-sm);padding:.1rem .3rem}.code-block{background:var(--earth-sand);border:var(--border-thin) solid var(--earth-sage);border-radius:var(--radius-md);display:block;font-size:clamp(.85rem,1vw,.9rem);overflow-x:auto;padding:1rem}.text-muted{color:var(--text-muted)}.text-secondary{color:var(--text-secondary)}.text-accent{color:var(--accent-coral)}.text-semibold{font-weight:600}.text-bold{font-weight:700}.text-center{text-align:center}.lead,.text-lead{color:var(--text-secondary);font-size:clamp(1.1rem,2vw,1.35rem);line-height:1.7}.link,a{border-bottom:1px solid var(--earth-sage);color:var(--earth-sage);font-weight:var(--font-weight-semibold,600);text-decoration:none;-webkit-transition:all .2s;transition:all .2s}.link:focus,.link:hover,a:focus,a:hover{border-bottom-color:var(--earth-brown);color:var(--earth-brown)}.link-brackets{margin-left:var(--space-md)!important}.link-brackets:after{content:"]";margin-left:.2rem}.link-brackets:after,.link-brackets:before{color:var(--earth-sage);position:absolute;-webkit-transition:all .2s;transition:all .2s}.link-brackets:before{content:"[";margin-left:-.8rem}.link-brackets:focus:after,.link-brackets:focus:before,.link-brackets:hover:after,.link-brackets:hover:before{color:var(--accent-coral)}.blockquote,blockquote{border-left:var(--border-thin) solid var(--earth-brown);color:var(--text-secondary);font-style:italic;margin:var(--space-lg,1.5rem) 0;padding-left:var(--space-md,1rem)}.mb-1{margin-bottom:var(--space-2xs)!important}.mb-2{margin-bottom:var(--space-xs)!important}.mb-3{margin-bottom:var(--space-sm)!important}.mb-4{margin-bottom:var(--space-md)!important}.mb-5{margin-bottom:var(--space-xl)!important}.mt-1{margin-top:var(--space-2xs)!important}.mt-2{margin-top:var(--space-xs)!important}.mt-3{margin-top:var(--space-sm)!important}.mt-4{margin-top:var(--space-md)!important}.mt-5{margin-top:var(--space-xl)!important}.ml-1{margin-left:var(--space-2xs)!important}.ml-2{margin-left:var(--space-xs)!important}.ml-3{margin-left:var(--space-sm)!important}.ml-4{margin-left:var(--space-md)!important}.ml-5{margin-left:var(--space-xl)!important}.mr-1{margin-right:var(--space-2xs)!important}.mr-2{margin-right:var(--space-xs)!important}.mr-3{margin-right:var(--space-sm)!important}.mr-4{margin-right:var(--space-md)!important}.mr-5{margin-right:var(--space-xl)!important}.p-1{padding:var(--space-2xs)!important}.p-2{padding:var(--space-xs)!important}.p-3{padding:var(--space-sm)!important}.p-4{padding:var(--space-md)!important}.p-5{padding:var(--space-xl)!important}.pt-1{padding-top:var(--space-2xs)!important}.pt-2{padding-top:var(--space-xs)!important}.pt-3{padding-top:var(--space-sm)!important}.pt-4{padding-top:var(--space-md)!important}.pt-5{padding-top:var(--space-xl)!important}.pb-1{padding-bottom:var(--space-2xs)!important}.pb-2{padding-bottom:var(--space-xs)!important}.pb-3{padding-bottom:var(--space-sm)!important}.pb-4{padding-bottom:var(--space-md)!important}.pb-5{padding-bottom:var(--space-xl)!important}.pl-1{padding-left:var(--space-2xs)!important}.pl-2{padding-left:var(--space-xs)!important}.pl-3{padding-left:var(--space-sm)!important}.pl-4{padding-left:var(--space-md)!important}.pl-5{padding-left:var(--space-xl)!important}.pr-1{padding-right:var(--space-2xs)!important}.pr-2{padding-right:var(--space-xs)!important}.pr-3{padding-right:var(--space-sm)!important}.pr-4{padding-right:var(--space-md)!important}.pr-5{padding-right:var(--space-xl)!important}section{margin:0 auto;max-width:1200px;padding:var(--space-3xl,6rem) var(--space-lg,2rem)}.justify-content-center{-webkit-box-pack:center!important;-ms-flex-pack:center!important;justify-content:center!important}.justify-content-between{-webkit-box-pack:justify!important;-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.justify-content-end{-webkit-box-pack:end!important;-ms-flex-pack:end!important;justify-content:flex-end!important}.row{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;gap:var(--space-lg,2rem)}@media (width >= 768px){.row{gap:var(--space-sm,.5rem)}.card-body .row{gap:0}}.button-row{gap:1rem}.no-wrap{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.d-flex{display:-webkit-box;display:-ms-flexbox;display:flex}.flex-column{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.align-items-center{-webkit-box-align:center;-ms-flex-align:center;align-items:center}.work-grid{display:grid;gap:var(--space-lg,2rem);grid-template-columns:repeat(auto-fit,minmax(300px,1fr));margin-bottom:var(--space-lg,2rem)}.divider{background:var(--accent-coral);border:var(--border-medium,4px) outset var(--earth-dark);display:block;height:var(--space-md,1.5rem);margin:0 auto;width:50%}.divider.vertical{background:var(--earth-dark);border:none!important;border-radius:var(--radius-sm);height:100%;margin:0;width:var(--space-2xs,.25rem)}.card-body ol,.card-body ul,ol,ol.list,ul,ul.list{margin-left:var(--space-lg)!important;padding-left:var(--space-md)!important}.highlight-block{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.header-highlight{margin:var(--space-md) auto;padding:var(--space-md);text-align:center;width:100%}nav{backdrop-filter:blur(24px);background:rgba(245,241,232,.5);border:var(--border-medium,4px) solid var(--earth-brown);border-radius:50px;-webkit-box-shadow:0 8px 24px var(--shadow-heavy);box-shadow:0 8px 24px var(--shadow-heavy);-webkit-filter:url(#lensFilter) saturate(120%) brightness(1.15);filter:url(#lensFilter) saturate(120%) brightness(1.15);left:50%;padding:var(--space-sm) 2rem;position:fixed;top:2rem;-webkit-transform:translateX(-50%);transform:translateX(-50%);z-index:1000}.main-nav{left:0;margin:0 auto;position:sticky;right:0;top:2rem;-webkit-transform:none!important;transform:none!important;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content}nav ul{display:-webkit-box;display:-ms-flexbox;display:flex;list-style:none;-webkit-box-pack:center;-ms-flex-pack:center;gap:2rem;justify-content:center;margin-left:0!important;padding-left:0!important}nav a{border-bottom:none;color:var(--text-primary);font-size:.95rem;font-weight:500;padding:var(--space-2xs) var(--space-xs,.5rem);text-decoration:none;-webkit-transition:color .3s;transition:color .3s}nav a:focus,nav a:hover{outline:var(--border-thin) solid var(--accent-coral);outline-offset:2px}nav a.active,nav a:focus,nav a:hover{color:var(--accent-coral)}nav a.sub-page{outline:var(--border-thin) solid var(--text-secondary);outline-offset:2px}nav a.sub-page:hover{outline-color:var(--accent-coral)}@media (width <= 768px){nav{margin:0 auto!important;padding:var(--space-xs,.5rem) var(--space-sm,1rem)!important;top:var(--space-sm,1rem)!important}nav ul{gap:var(--space-sm,1rem)}}footer{background:var(--earth-dark);border-top:var(--border-extra-thick,8px) solid var(--earth-brown);-webkit-box-shadow:0 -10px 30px var(--shadow);box-shadow:0 -10px 30px var(--shadow);color:var(--earth-cream);margin-top:var(--space-3xl,6rem);padding:var(--space-2xl,3rem) var(--space-xl,2rem)}.footer-content{display:grid;gap:3rem;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin:0 auto;max-width:1200px}.footer-section h3{color:var(--accent-coral);font-size:clamp(1.2rem,2vw,1.5rem)}.footer-section h3,.footer-section h4{font-family:Playfair Display,serif;margin-bottom:var(--space-md,1rem)}.footer-section h4{color:hsla(0,0%,100%,.5)!important;font-size:clamp(1.1rem,1.25vw,1.125rem)}.footer-section li,.footer-section p{color:var(--earth-cream);line-height:1.6;margin-bottom:var(--space-xs,.5rem)}.footer-section ul{list-style:none;padding:0}.footer-section li{margin-bottom:var(--space-xs,.5rem)}.footer-bottom{border-top:var(--border-medium,4px) solid var(--earth-brown);color:var(--earth-sand);margin-top:var(--space-2xl,3rem);padding-top:var(--space-xl,2rem);text-align:center}.footer-bottom p{color:var(--earth-cream);font-size:var(--font-size-sm);margin:0}.footer-bottom a,.footer-section a{color:var(--earth-cream);text-decoration:underline}.footer-bottom a:hover,.footer-section a:hover{color:var(--accent-coral)}.badge{background:var(--earth-sage);border:var(--border-thin,2px) solid var(--earth-brown);border-radius:var(--radius-pill);color:var(--earth-cream);display:inline-block;font-size:.85rem;font-weight:600;padding:var(--space-2xs,.25rem) var(--space-sm,.75rem)}.badge-accent{background:var(--accent-coral-dark)}.badge-outline{background:transparent;color:inherit}.badges,.row-badges{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;gap:var(--space-2xs,.25rem)}.btn{border:none;border-radius:var(--radius-md,12px);cursor:pointer;display:inline-block;font-family:var(--font-family-sans);font-size:var(--font-size-md,1rem);font-weight:600;padding:var(--space-sm,.75rem) var(--space-lg,1.5rem);text-align:center;text-decoration:none;-webkit-transition:all .2s;transition:all .2s}.btn:focus,.btn:hover{-webkit-box-shadow:2px 2px 0 var(--earth-brown);box-shadow:2px 2px 0 var(--earth-brown);-webkit-transform:translate(2px,2px);transform:translate(2px,2px)}.btn-primary{border:var(--border-medium,4px) solid var(--earth-brown);-webkit-box-shadow:4px 4px 0 var(--earth-brown);box-shadow:4px 4px 0 var(--earth-brown)}.btn-primary,.btn-primary:focus,.btn-primary:hover{background:var(--accent-coral-dark);color:var(--white)}.btn-secondary{background:var(--earth-cream);border:var(--border-medium,4px) solid var(--earth-brown);-webkit-box-shadow:4px 4px 0 var(--earth-sage);box-shadow:4px 4px 0 var(--earth-sage);color:var(--text-primary)}.btn-secondary:focus,.btn-secondary:hover{background:var(--earth-sand);-webkit-box-shadow:2px 2px 0 var(--earth-sage);box-shadow:2px 2px 0 var(--earth-sage);color:var(--text-primary);outline:var(--border-thin) solid var(--earth-dark);-webkit-transform:translate(2px,2px);transform:translate(2px,2px)}.btn-outline{backdrop-filter:blur(24px);background:hsla(0,0%,100%,.5)!important;border:var(--border-medium,4px) solid var(--earth-brown)!important;-webkit-box-shadow:none!important;box-shadow:none!important;color:var(--text-primary)!important;-webkit-filter:url(#lensFilter) saturate(120%) brightness(1.15);filter:url(#lensFilter) saturate(120%) brightness(1.15)}.btn-outline:focus,.btn-outline:hover{color:var(--earth-cream);text-decoration:underline}.btn-sm{border-width:var(--border-thin)!important;font-size:.9rem!important;padding:var(--space-xs,.5rem) var(--space-md,1rem)!important}.btn-lg{font-size:1.1rem!important;padding:var(--space-md,1rem) var(--space-xl,2rem)!important}.skip-link{background:var(--accent-coral);border:var(--border-medium,4px) solid var(--earth-brown);color:var(--white);font-weight:600;left:0;padding:var(--space-sm,.75rem) var(--space-lg,1.5rem);position:absolute;text-decoration:none;top:-100px;z-index:2000;clip:rect(0,0,0,0);overflow:hidden}.skip-link:focus{left:1rem;top:1rem;clip:auto;overflow:visible}.social-links{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;gap:1rem}.social-link{background:var(--earth-sage);border:var(--border-medium,4px) solid var(--earth-sand);border-radius:8px;color:var(--white);display:inline-block;font-size:.95rem;font-weight:500;padding:var(--space-xs,.5rem) var(--space-md,1rem);text-decoration:none!important;-webkit-transition:all .3s;transition:all .3s}.social-link:focus,.social-link:hover{background:var(--accent-coral);color:var(--white)!important;-webkit-transform:translateY(-2px);transform:translateY(-2px)}.about-card,.card,.card-accent,.card-layered,.showcase-large{background:var(--earth-cream);border:var(--card-border-width,var(--border-thick,6px)) solid var(--card-border-color,var(--earth-brown));border-radius:var(--radius-xl,20px)}.about-card,.card-accent,.card-layered,.showcase-large{-webkit-box-shadow:var(--card-shadow-offset,12px) var(--card-shadow-offset,12px) 0 var(--card-shadow-color,var(--earth-sage)),var(--card-shadow-offset,12px) var(--card-shadow-offset,12px) 0 var(--card-shadow-ring-width,5px) var(--earth-brown);box-shadow:var(--card-shadow-offset,12px) var(--card-shadow-offset,12px) 0 var(--card-shadow-color,var(--earth-sage)),var(--card-shadow-offset,12px) var(--card-shadow-offset,12px) 0 var(--card-shadow-ring-width,5px) var(--earth-brown)}@media (width <= 768px){.about-card,.showcase-large{--card-shadow-offset:6px;--card-shadow-ring-width:4px}}.card{-webkit-box-shadow:8px 8px 0 var(--shadow-heavy);box-shadow:8px 8px 0 var(--shadow-heavy);padding:var(--space-lg,1.5rem);-webkit-transition:-webkit-transform .3s,-webkit-box-shadow .3s;transition:-webkit-transform .3s,-webkit-box-shadow .3s;transition:transform .3s,box-shadow .3s;transition:transform .3s,box-shadow .3s,-webkit-transform .3s,-webkit-box-shadow .3s}.card:focus-within,.card:hover{-webkit-box-shadow:12px 12px 0 var(--shadow-heavy);box-shadow:12px 12px 0 var(--shadow-heavy);-webkit-transform:translateY(-5px);transform:translateY(-5px)}.card-layered{padding:var(--space-xl,2rem)}.card-shadow{background:var(--earth-cream);border:none;border-radius:var(--radius-lg,16px);-webkit-box-shadow:10px 10px 0 var(--shadow-heavy);box-shadow:10px 10px 0 var(--shadow-heavy);padding:var(--space-md,1.5rem)}.card-accent{--card-border-width:var(--border-extra-thick,8px);--card-shadow-offset:16px;--card-shadow-color:var(--accent-coral);--card-shadow-ring-width:6px;overflow:hidden}.card-flex{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.card-flex p{-webkit-box-flex:1;-ms-flex:1 0;flex:1 0}.card-with-columns .row{gap:var(--space-md,1rem);-ms-flex-item-align:stretch}.card-with-columns .column,.card-with-columns .row{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start;align-self:stretch}.card-with-columns .column{-webkit-box-flex:1;-ms-flex:1 0 0px;flex:1 0 0;-ms-flex-item-align:stretch}.card-header{border-bottom:var(--border-thin,2px) solid var(--earth-sand);margin-bottom:var(--space-md,1rem);padding-bottom:var(--space-md,1rem)}.card-body{margin-bottom:var(--space-md)}.card-body img{-o-object-fit:cover;object-fit:cover;width:100%}@media (width >= 768px){.img-thumbnail{max-width:50%}}.card-body:last-child{margin-bottom:0}.card-footer{border-top:var(--border-thin,2px) solid var(--earth-sand);margin-top:var(--space-md,1rem);padding-top:var(--space-md,1rem)}.showcase-content{padding:var(--space-lg,2rem)}.showcase-content h3{color:var(--text-primary);font-family:var(--font-family-serif);font-size:clamp(1.3rem,2.5vw,1.8rem);margin-bottom:var(--space-sm,1rem)}.showcase-content p{color:var(--text-secondary);font-size:clamp(.95rem,1.5vw,1rem);margin-bottom:var(--space-md,1.5rem)}.showcase-small{background:var(--earth-sand);border:4px solid var(--earth-brown);border-radius:var(--radius-lg,16px);-webkit-box-shadow:6px 6px 0 var(--shadow-heavy);box-shadow:6px 6px 0 var(--shadow-heavy);padding:var(--space-md,1.5rem);-webkit-transition:-webkit-transform .3s;transition:-webkit-transform .3s;transition:transform .3s;transition:transform .3s,-webkit-transform .3s}.showcase-small:focus-within,.showcase-small:hover{-webkit-transform:translateY(-4px);transform:translateY(-4px)}.showcase-small h4{color:var(--text-primary);font-family:var(--font-family-serif);font-size:clamp(1.1rem,2vw,1.3rem);margin-bottom:var(--space-xs,.5rem)}.showcase-small p{color:var(--text-secondary);font-size:clamp(.9rem,1.5vw,.95rem)}.about-card{margin:0 auto;padding:var(--space-2xl,3rem)}@media (width <= 768px){.about-card{padding:var(--space-md,1rem)}.about-grid{grid-template-columns:1fr!important}}.about-card p{color:var(--text-primary);font-size:clamp(1rem,1.5vw,1.1rem);line-height:1.8;margin-bottom:var(--space-lg,1.5rem)}.about-card p:last-child{margin-bottom:0}.about-grid{display:grid;gap:var(--space-xl,2rem);grid-template-columns:repeat(auto-fit,minmax(350px,1fr));margin-top:var(--space-xl,2rem)}.showcase-large{--card-shadow-color:var(--accent-coral);--card-shadow-ring-width:6px;overflow:hidden;-webkit-transition:-webkit-transform .3s;transition:-webkit-transform .3s;transition:transform .3s;transition:transform .3s,-webkit-transform .3s}.showcase-large:focus-within,.showcase-large:hover{-webkit-transform:translateY(-8px);transform:translateY(-8px)}.showcase-image{background:linear-gradient(135deg,var(--earth-sage) 0,var(--earth-sand) 100%);display:-webkit-box;display:-ms-flexbox;display:flex;height:300px;width:100%;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;border-bottom:var(--border-thick,6px) solid var(--earth-brown);color:var(--earth-cream);font-size:var(--font-size-5xl,3rem);justify-content:center;-o-object-fit:contain;object-fit:contain;padding:var(--space-md,1rem)}.showcase-image-dark{background:linear-gradient(135deg,var(--black) 0,var(--earth-dark) 100%)}.small-showcase-cards{display:grid;gap:var(--space-md,1.5rem);grid-column:1/-1;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-top:var(--space-sm,1rem)}.callouts-grid{display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));margin-top:2rem}.callout{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:end;-ms-flex-align:end;align-items:flex-end;-webkit-box-pack:justify;-ms-flex-pack:justify;background:var(--earth-cream);border:var(--border-thick,6px) solid var(--accent-coral-dark);border-radius:var(--radius-xl,20px);-webkit-box-shadow:8px 8px 0 var(--shadow-heavy);box-shadow:8px 8px 0 var(--shadow-heavy);justify-content:space-between;padding:2rem;position:relative;-webkit-transition:-webkit-transform .3s,-webkit-box-shadow .3s;transition:-webkit-transform .3s,-webkit-box-shadow .3s;transition:transform .3s,box-shadow .3s;transition:transform .3s,box-shadow .3s,-webkit-transform .3s,-webkit-box-shadow .3s}.callout:focus-within,.callout:hover{-webkit-box-shadow:12px 12px 0 var(--shadow-heavy);box-shadow:12px 12px 0 var(--shadow-heavy);-webkit-transform:translateY(-5px);transform:translateY(-5px)}.callout:before{color:var(--accent-coral);content:'"';font-family:var(--font-family-serif);font-size:var(--font-size-6xl,4rem);left:20px;line-height:1;position:absolute;top:10px}.callout-text{color:var(--text-primary);font-style:italic;margin-bottom:var(--space-md,1.5rem);padding-top:var(--space-sm,1rem)}.callout-author{color:var(--text-primary);display:block;font-weight:600}.callout-role{color:var(--text-secondary);font-size:var(--font-size-sm,.9rem)}.card-image{border:var(--border-medium,4px) solid var(--border-border,#4a3426);border-radius:var(--radius-xl,20px);-webkit-box-shadow:6px 6px 0 0 var(--shadow-light,rgba(45,31,18,.08));box-shadow:6px 6px 0 0 var(--shadow-light,rgba(45,31,18,.08));padding:var(--space-lg,1.5rem);-webkit-transition:-webkit-transform .3s,-webkit-box-shadow .3s;transition:-webkit-transform .3s,-webkit-box-shadow .3s;transition:transform .3s,box-shadow .3s;transition:transform .3s,box-shadow .3s,-webkit-transform .3s,-webkit-box-shadow .3s}.card-image,.card-image .image-top{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start;background:var(--bg-canvas,#f5f1e8)}.card-image .image-top{-ms-flex-item-align:stretch;align-self:stretch;border-bottom:var(--border-medium) solid var(--border-brown,#4a3426);border:var(--border-extra-thick,8px) solid #000;border-radius:var(--radius-lg,16px);-webkit-box-shadow:0 0 12px var(--shadow-heavy,rgba(45,31,18,.25));box-shadow:0 0 12px var(--shadow-heavy,rgba(45,31,18,.25));margin-bottom:var(--space-xs,.5rem);max-height:300px;-o-object-fit:cover;object-fit:cover}.card-image .card-content{-ms-flex-direction:column;flex-direction:column;-ms-flex-align:start;align-items:start;-ms-flex-item-align:stretch;align-self:stretch;padding:var(--space-md) var(--space-xl) var(--space-xl) var(--space-xl)}.card-image .card-content,.card-image>.card-body{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-box-align:start}.card-image>.card-body{-ms-flex-direction:column;flex-direction:column;-ms-flex-align:start;align-items:flex-start;-webkit-box-pack:justify;-ms-flex-pack:justify;height:100%;justify-content:space-between}h3.two-line-header{height:82px;min-height:82px}.gallery{--size:100px;display:grid;gap:5px;grid-auto-rows:var(--size);grid-template-columns:repeat(6,var(--size));margin-bottom:var(--size);place-items:start center}.gallery:has(:focus) picture:not(:focus),.gallery:has(:hover) picture:not(:hover){-webkit-filter:brightness(.5) contrast(.5);filter:brightness(.5) contrast(.5)}.gallery picture{border-radius:5px;clip-path:path("M90,10 C100,0 100,0 110,10 190,90 190,90 190,90 200,100 200,100 190,110 190,110 110,190 110,190 100,200 100,200 90,190 90,190 10,110 10,110 0,100 0,100 10,90Z");grid-column:auto/span 2;height:calc(var(--size)*2);-o-object-fit:cover;object-fit:cover;-webkit-transition:clip-path .25s,-webkit-filter .75s;transition:clip-path .25s,-webkit-filter .75s;transition:clip-path .25s,filter .75s;transition:clip-path .25s,filter .75s,-webkit-filter .75s;width:calc(var(--size)*2)}.gallery picture:nth-child(5n-1){grid-column:2/span 2}.gallery picture:focus,.gallery picture:hover{clip-path:path("M0,0 C0,0 200,0 200,0 200,0 200,100 200,100 200,100 200,200 200,200 200,200 100,200 100,200 100,200 100,200 0,200 0,200 0,100 0,100 0,100 0,100 0,100Z");-webkit-transition:clip-path .25s,-webkit-filter .25s;transition:clip-path .25s,-webkit-filter .25s;transition:clip-path .25s,filter .25s;transition:clip-path .25s,filter .25s,-webkit-filter .25s;z-index:1}.gallery picture:focus{outline:1px dashed #000;outline-offset:-5px}.carousel>input{height:1px;width:1px;clip:rect(1px,1px,1px,1px);clip-path:inset(50%);margin:-1px;overflow:hidden;padding:0;position:absolute}.carousel>input:nth-of-type(15):checked~.carousel__slides .carousel__slide:first-of-type{margin-left:-1400%}.carousel>input:nth-of-type(14):checked~.carousel__slides .carousel__slide:first-of-type{margin-left:-1300%}.carousel>input:nth-of-type(13):checked~.carousel__slides .carousel__slide:first-of-type{margin-left:-1200%}.carousel>input:nth-of-type(12):checked~.carousel__slides .carousel__slide:first-of-type{margin-left:-1100%}.carousel>input:nth-of-type(11):checked~.carousel__slides .carousel__slide:first-of-type{margin-left:-1000%}.carousel>input:nth-of-type(10):checked~.carousel__slides .carousel__slide:first-of-type{margin-left:-900%}.carousel>input:nth-of-type(9):checked~.carousel__slides .carousel__slide:first-of-type{margin-left:-800%}.carousel>input:nth-of-type(8):checked~.carousel__slides .carousel__slide:first-of-type{margin-left:-700%}.carousel>input:nth-of-type(7):checked~.carousel__slides .carousel__slide:first-of-type{margin-left:-600%}.carousel>input:nth-of-type(6):checked~.carousel__slides .carousel__slide:first-of-type{margin-left:-500%}.carousel>input:nth-of-type(5):checked~.carousel__slides .carousel__slide:first-of-type{margin-left:-400%}.carousel>input:nth-of-type(4):checked~.carousel__slides .carousel__slide:first-of-type{margin-left:-300%}.carousel>input:nth-of-type(3):checked~.carousel__slides .carousel__slide:first-of-type{margin-left:-200%}.carousel>input:nth-of-type(2):checked~.carousel__slides .carousel__slide:first-of-type{margin-left:-100%}.carousel>input:first-of-type:checked~.carousel__slides .carousel__slide:first-of-type{margin-left:0}.carousel>input:first-of-type:checked~.carousel__thumbnails li:first-of-type,.carousel>input:nth-of-type(10):checked~.carousel__thumbnails li:nth-of-type(10),.carousel>input:nth-of-type(11):checked~.carousel__thumbnails li:nth-of-type(11),.carousel>input:nth-of-type(12):checked~.carousel__thumbnails li:nth-of-type(12),.carousel>input:nth-of-type(13):checked~.carousel__thumbnails li:nth-of-type(13),.carousel>input:nth-of-type(14):checked~.carousel__thumbnails li:nth-of-type(14),.carousel>input:nth-of-type(15):checked~.carousel__thumbnails li:nth-of-type(15),.carousel>input:nth-of-type(2):checked~.carousel__thumbnails li:nth-of-type(2),.carousel>input:nth-of-type(3):checked~.carousel__thumbnails li:nth-of-type(3),.carousel>input:nth-of-type(4):checked~.carousel__thumbnails li:nth-of-type(4),.carousel>input:nth-of-type(5):checked~.carousel__thumbnails li:nth-of-type(5),.carousel>input:nth-of-type(6):checked~.carousel__thumbnails li:nth-of-type(6),.carousel>input:nth-of-type(7):checked~.carousel__thumbnails li:nth-of-type(7),.carousel>input:nth-of-type(8):checked~.carousel__thumbnails li:nth-of-type(8),.carousel>input:nth-of-type(9):checked~.carousel__thumbnails li:nth-of-type(9){-webkit-box-shadow:0 0 0 5px rgba(0,0,255,.5);box-shadow:0 0 0 5px rgba(0,0,255,.5)}.carousel__slides{display:-webkit-box;display:-ms-flexbox;display:flex;margin:0;padding:0;white-space:nowrap;z-index:1}.carousel__slide,.carousel__slides{-webkit-box-sizing:border-box;box-sizing:border-box;overflow:hidden;position:relative}.carousel__slide{display:block;-webkit-box-flex:1;-ms-flex:1 0 100%;flex:1 0 100%;height:100%;-webkit-transition:all .3s ease-out;transition:all .3s ease-out;vertical-align:top;white-space:normal;width:100%}.carousel__slide figure{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;margin:0}.carousel__slide div{position:relative}.carousel__slide div:before{content:"";display:block;padding-top:66.6666666667%;width:100%}.carousel__slide div>img{height:100%;inset:0;position:absolute;width:100%}.carousel__slide div{width:100%}.carousel__slide img{display:block;-webkit-box-flex:1;-ms-flex:1 1 auto;flex:1 1 auto;-o-object-fit:cover;object-fit:cover}.carousel__slide figcaption{-ms-flex-item-align:center;align-self:center;padding:20px 20px 0;-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;min-width:150px;width:25%}.carousel__slide .credit{color:rgba(0,0,0,.5);display:block;margin-top:1rem}.carousel__slide.scrollable{overflow-y:scroll}.carousel__thumbnails{display:-webkit-box;display:-ms-flexbox;display:flex;list-style:none;margin:0 -10px;padding:0}.carousel__slides+.carousel__thumbnails{margin-top:20px}.carousel__thumbnails li{-webkit-box-flex:1;-ms-flex:1 1 auto;flex:1 1 auto;margin:0 10px;max-width:calc(16.66667% - 20px);-webkit-transition:all .3s ease-in-out;transition:all .3s ease-in-out}.carousel__thumbnails label{display:block;position:relative}.carousel__thumbnails label:before{content:"";display:block;padding-top:100%;width:100%}.carousel__thumbnails label>img{height:100%;inset:0;position:absolute;width:100%}.carousel__thumbnails label:focus,.carousel__thumbnails label:hover{cursor:pointer}.carousel__thumbnails label:focus img,.carousel__thumbnails label:hover img{-webkit-box-shadow:0 0 0 1px rgba(0,0,0,.25);box-shadow:0 0 0 1px rgba(0,0,0,.25);-webkit-transition:all .3s ease-in-out;transition:all .3s ease-in-out}.carousel__thumbnails img{display:block;height:100%;-o-object-fit:cover;object-fit:cover;width:100%}
-/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zYXNzL192YXJpYWJsZXMuc2NzcyIsInN0eWxlLmNzcyIsIi4uLy4uL3NyYy9zYXNzL3N0eWxlLnNjc3MiLCIuLi8uLi9zcmMvc2Fzcy9fYW5pbWF0aW9ucy5zY3NzIiwiLi4vLi4vc3JjL3Nhc3MvX2ZvbnRzLnNjc3MiLCIuLi8uLi9zcmMvc2Fzcy9fdHlwb2dyYXBoeS5zY3NzIiwiLi4vLi4vc3JjL3Nhc3MvX3NwYWNpbmcuc2NzcyIsIi4uLy4uL3NyYy9zYXNzL19sYXlvdXQuc2NzcyIsIi4uLy4uL3NyYy9zYXNzL19saXN0cy5zY3NzIiwiLi4vLi4vc3JjL3Nhc3MvX2hpZ2hsaWdodC5zY3NzIiwiLi4vLi4vc3JjL3Nhc3MvX25hdmlnYXRpb24uc2NzcyIsIi4uLy4uL3NyYy9zYXNzL19mb290ZXIuc2NzcyIsIi4uLy4uL3NyYy9zYXNzL19iYWRnZS5zY3NzIiwiLi4vLi4vc3JjL3Nhc3MvX2J1dHRvbnMuc2NzcyIsIi4uLy4uL3NyYy9zYXNzL19jYXJkcy5zY3NzIiwiLi4vLi4vc3JjL3Nhc3MvX2dhbGxlcnkuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFTQSxNQUVFLHlIQUFBLENBR0EsNENBQUEsQ0FDQSw4REFBQSxDQUNBLDBDQUFBLENBR0EsZUFBQSxDQUNBLGVBQUEsQ0FDQSxvQkFBQSxDQUNBLHFCQUFBLENBQ0Esb0JBQUEsQ0FDQSxvQkFBQSxDQUNBLDBCQUFBLENBQ0EscUJBQUEsQ0FDQSxzQkFBQSxDQUNBLDJCQUFBLENBQ0Esc0JBQUEsQ0FDQSx3QkFBQSxDQUNBLG9CQUFBLENBQ0EsMkJBQUEsQ0FDQSxpQ0FBQSxDQUNBLGlDQUFBLENBRUEsOEJBQUEsQ0FDQSxpQ0FBQSxDQUdBLHNCQUFBLENBQ0EsdUJBQUEsQ0FDQSxtQkFBQSxDQUNBLHVCQUFBLENBQ0Esc0JBQUEsQ0FDQSxzQkFBQSxDQUNBLG9CQUFBLENBQ0Esc0JBQUEsQ0FDQSxvQkFBQSxDQUNBLG9CQUFBLENBR0EsbUJBQUEsQ0FDQSxpQkFB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LDBCQUFBLENBQUEsa0JKaVlKLENJL1hFLHNCQUNFLFdBQUEsQ0FFQSxrQko0WEosQ0l4WEUsOEdBSUUseUJKdVhKLENJbFhBLHVCQUVFLHVEQUFBLENBSUEsMkJBQUEsQ0FEQSxpQkFBQSxDQURBLCtCQUFBLENBREEsaUNKeVhGLENLL21CQSxNQUNFLHdDTGtuQkYsQ0tobkJBLE1BQ0UsdUNMbW5CRixDS2puQkEsTUFDRSx1Q0xvbkJGLENLbG5CQSxNQUNFLHVDTHFuQkYsQ0tubkJBLE1BQ0UsdUNMc25CRixDS3BuQkEsTUFDRSxxQ0x1bkJGLENLcm5CQSxNQUNFLG9DTHduQkYsQ0t0bkJBLE1BQ0Usb0NMeW5CRixDS3ZuQkEsTUFDRSxvQ0wwbkJGLENLeG5CQSxNQUNFLG9DTDJuQkYsQ0t6bkJBLE1BQ0Usc0NMNG5CRixDSzFuQkEsTUFDRSxxQ0w2bkJGLENLM25CQSxNQUNFLHFDTDhuQkYsQ0s1bkJBLE1BQ0UscUNMK25CRixDSzduQkEsTUFDRSxxQ0xnb0JGLENLOW5CQSxNQUNFLHVDTGlvQkYsQ0svbkJBLE1BQ0Usc0NMa29CRixDS2hvQkEsTUFDRSxzQ0xtb0JGLENLam9CQSxNQUNFLHNDTG9vQkYsQ0tsb0JBLE1BQ0Usc0NMcW9CRixDS25vQkEsS0FDRSxrQ0xzb0JGLENLcG9CQSxLQUNFLGlDTHVvQkYsQ0tyb0JBLEtBQ0UsaUNMd29CRixDS3RvQkEsS0FDRSxpQ0x5b0JGLENLdm9CQSxLQUNFLGlDTDBvQkYsQ0t4b0JBLE1BQ0Usc0NMMm9CRixDS3pvQkEsTUFDRSxxQ0w0b0JGLENLMW9CQSxNQUNFLHFDTDZvQkYsQ0szb0JBLE1BQ0UscUNMOG9CRixDSzVvQkEsTUFDRSxxQ0wrb0JGLENLN29CQSxNQUNFLHlDTGdwQkYsQ0s5b0JBLE1BQ0Usd0NMaXBCRixDSy9vQkEsTUFDRSx3Q0xrcEJGLENLaHBCQSxNQUNFLHdDTG1wQkYsQ0tqcEJBLE1BQ0Usd0NMb3BCRixDS2xwQkEsTUFDRSx1Q0xxcEJGLENLbnBCQSxNQUNFLHNDTHNwQkYsQ0twcEJBLE1BQ0Usc0NMdXBCRixDS3JwQkEsTUFD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 */
\ No newline at end of file
+:root{--font-family-sans:"Inter",system-ui,-apple-system,blinkmacsystemfont,"Segoe UI",roboto,"Helvetica Neue",arial,sans-serif;--font-family-serif:"Playfair Display",serif;--font-family-mono:"Fira Code","Courier New",courier,monospace;--font-family-heading:"Pirata One",cursive;--white:#f0f0f0;--black:#010101;--earth-dark:#2d1f12;--earth-brown:#4a3426;--earth-sage:#5a6b4f;--earth-sand:#c9b89a;--earth-sand-light:#e2d8c8;--earth-cream:#f5f1e8;--accent-coral:#d35f3d;--accent-coral-dark:#b34a2d;--text-primary:#2d1f12;--text-secondary:#4a3426;--text-muted:#6b5d52;--shadow:rgba(45,31,18,.15);--shadow-heavy:rgba(45,31,18,.25);--shadow-light:rgba(45,31,18,.08);--bg-canvas:var(--earth-cream);--border-brown:var(--earth-brown);--font-size-xs:0.75rem;--font-size-sm:0.875rem;--font-size-md:1rem;--font-size-lg:1.125rem;--font-size-xl:1.25rem;--font-size-2xl:1.5rem;--font-size-3xl:2rem;--font-size-4xl:2.5rem;--font-size-5xl:3rem;--font-size-6xl:4rem;--space-2xs:0.25rem;--space-xs:0.5rem;--space-sm:0.75rem;--space-md:1rem;--space-lg:1.5rem;--space-xl:2rem;--space-2xl:3rem;--space-3xl:6rem;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:20px;--radius-pill:50px;--border-thin:2px;--border-medium:4px;--border-thick:6px;--border-extra-thick:8px}*{-webkit-box-sizing:border-box;box-sizing:border-box;margin:0;padding:0}:focus-visible{outline:var(--border-thin) solid var(--accent-coral);outline-offset:2px}html{scroll-behavior:smooth}body{background:linear-gradient(135deg,var(--earth-cream) 0,#e8dcc8 100%);color:var(--text-primary);font-family:var(--font-family-sans);line-height:1.6;min-height:100vh;position:relative}::-webkit-scrollbar,html::-webkit-scrollbar{width:16px}::-webkit-scrollbar-thumb,html::-webkit-scrollbar-thumb{background:linear-gradient(var(--accent-coral-dark),var(--accent-coral));background-clip:content-box;border:2px solid transparent;border-radius:2rem}::-webkit-scrollbar-track,html::-webkit-scrollbar-track{background:transparent;border:1px solid var(--earth-sage);border-radius:2rem;padding:0 2px}@media (prefers-reduced-motion:reduce){.animated-element{-webkit-animation:none;animation:none;opacity:1;-webkit-transition:none;transition:none}body{scroll-behavior:auto}*,:after,:before{-webkit-animation-duration:.01ms!important;animation-duration:.01ms!important;-webkit-animation-iteration-count:1!important;animation-iteration-count:1!important;-webkit-transition-duration:.01ms!important;transition-duration:.01ms!important}}.d-none,.display-none{display:none!important}.hero{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;margin:0 auto;max-width:900px;padding:6rem 2rem;text-align:center}.rounded{border-radius:var(--radius-xl,20px)!important}.circle{border-radius:999px!important;padding:1rem!important}.fade-in{opacity:0;-webkit-transition:opacity .5s ease-in,visibility 0s linear .5s;transition:opacity .5s ease-in,visibility 0s linear .5s;visibility:hidden}.fade-in.show,.show{opacity:1;-webkit-transition-delay:0s;transition-delay:0s;visibility:visible}.hide{opacity:0;-webkit-transition:opacity .5s ease-in,visibility 0s linear .5s;transition:opacity .5s ease-in,visibility 0s linear .5s;visibility:hidden}.hide-on-screen{display:none!important}@media (width <= 768px){.hero h1{font-size:var(--font-size-5xl,3rem)}.no-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.hide-on-mobile{display:none!important}.callouts-grid,.work-grid{grid-template-columns:1fr}h2{font-size:var(--font-size-3xl,2rem)}}figcaption{color:var(--text-secondary);font-size:var(--font-size-sm,.875rem);font-style:italic;line-height:1.4;text-align:center}.arrows{bottom:20px;height:72px;left:50%;margin-left:-30px;position:absolute;width:60px}.arrows path{-webkit-animation:arrow 2s infinite;animation:arrow 2s infinite;fill:transparent;stroke:#bfe7fa;stroke-width:1px}@-webkit-keyframes arrow{0%{opacity:0}40%{opacity:1}80%{opacity:0}to{opacity:0}}@keyframes arrow{0%{opacity:0}40%{opacity:1}80%{opacity:0}to{opacity:0}}.arrows path.a1{-webkit-animation-delay:-1s;animation-delay:-1s}.arrows path.a2{-webkit-animation-delay:-.5s;animation-delay:-.5s}.arrows path.a3{-webkit-animation-delay:0s;animation-delay:0s}.pirata-one-regular{font-family:Pirata One,system-ui;font-style:normal;font-weight:400}.inter-400{font-optical-sizing:auto;font-style:normal;font-weight:400}.inter-400,.inter-500{font-family:Inter,sans-serif}.inter-500{font-optical-sizing:auto;font-style:normal;font-weight:500}.inter-600{font-optical-sizing:auto;font-style:normal;font-weight:600}.inter-600,.inter-700{font-family:Inter,sans-serif}.inter-700{font-optical-sizing:auto;font-style:normal;font-weight:700}.inter-800{font-optical-sizing:auto;font-style:normal;font-weight:800}.inter-800,.inter-900{font-family:Inter,sans-serif}.inter-900{font-optical-sizing:auto;font-style:normal;font-weight:900}.playfair-display-400{font-family:Playfair Display,serif;font-optical-sizing:auto;font-style:normal;font-weight:400}.playfair-display-500{font-family:Playfair Display,serif;font-optical-sizing:auto;font-style:normal;font-weight:500}.playfair-display-600{font-family:Playfair Display,serif;font-optical-sizing:auto;font-style:normal;font-weight:600}.playfair-display-700{font-family:Playfair Display,serif;font-optical-sizing:auto;font-style:normal;font-weight:700}.playfair-display-800{font-family:Playfair Display,serif;font-optical-sizing:auto;font-style:normal;font-weight:800}.playfair-display-900{font-family:Playfair Display,serif;font-optical-sizing:auto;font-style:normal;font-weight:900}.text-h1,h1{font-size:clamp(2.5rem,8vw,5rem);line-height:1.2}.text-display,.text-h1,h1{color:var(--text-primary);font-family:Pirata One,cursive;letter-spacing:2px;text-shadow:3px 3px 0 var(--accent-coral)}.text-display{font-size:clamp(3rem,10vw,6rem);line-height:1.1}.hero h1{font-family:var(--font-family-heading);letter-spacing:2px;line-height:1.2;margin-bottom:1rem;text-shadow:3px 3px 0 var(--accent-coral)}.hero h1,.text-h2,h2{color:var(--text-primary)}.text-h2,h2{font-family:Playfair Display,serif;font-size:clamp(2rem,5vw,3rem);font-weight:700;line-height:1.3;margin-bottom:var(--space-md,1.5rem)}.text-h2.no-underline:after{display:none;margin-bottom:var(--space-2xs,.25rem)}.text-h2:after,h2:after{background:var(--accent-coral);border:3px solid var(--earth-brown);content:"";display:block;height:5px;margin:1rem auto;width:100px}.text-h3,h3{font-size:clamp(1.5rem,3vw,2rem);line-height:1.3}.text-h3,.text-h4,h3,h4{color:var(--text-primary);font-family:Playfair Display,serif;font-weight:600}.text-h4,h4{font-size:clamp(1.25rem,2.5vw,1.5rem);line-height:1.4}.text-h5,h5{font-size:clamp(1.1rem,2vw,1.25rem)}.text-h5,.text-h6,h5,h6{color:var(--text-primary);font-family:Inter,sans-serif;font-weight:700;line-height:1.4}.text-h6,h6{font-size:1rem;letter-spacing:.5px;text-transform:uppercase}.text-body-lg{font-size:clamp(1.1rem,1.5vw,1.25rem)!important;line-height:1.7!important}.text-body,p{color:var(--text-primary);font-size:clamp(.95rem,1.5vw,1rem);line-height:1.7;padding-bottom:var(--space-xs,.5rem)}.text-body:last-child,p:last-child{margin-bottom:0}.hero p{color:var(--earth-brown);font-size:clamp(1.1rem,2vw,1.25rem);margin:0 auto;max-width:720px}.card-body .text-body:first-of-type,.card-body p:first-of-type{margin-top:var(--space-md,16px)}.text-body-sm{font-size:clamp(.85rem,1.2vw,.9rem);line-height:1.6}.text-caption{color:var(--text-muted);font-size:clamp(var(--space-sm),1vw,.85rem);line-height:1.5}.text-callout{background:var(--earth-sand-light);border-left:var(--border-medium) solid var(--accent-coral);color:var(--text-primary);font-size:clamp(1rem,1.5vw,1.1rem);font-weight:600;line-height:1.6;margin:var(--space-lg,1.5rem);padding:var(--space-lg,1.5rem)}.code,code{font-family:var(--font-family-mono);font-size:clamp(.85rem,1vw,.9rem)}.code.code-inline,code.code-inline{background:var(--earth-sand);border-radius:var(--radius-sm);padding:.1rem .3rem}.code-block{background:var(--earth-sand);border:var(--border-thin) solid var(--earth-sage);border-radius:var(--radius-md);display:block;font-size:clamp(.85rem,1vw,.9rem);overflow-x:auto;padding:1rem}.text-muted{color:var(--text-muted)}.text-secondary{color:var(--text-secondary)}.text-accent{color:var(--accent-coral)}.text-semibold{font-weight:600}.text-bold{font-weight:700}.text-center{text-align:center}.lead,.text-lead{color:var(--text-secondary);font-size:clamp(1.1rem,2vw,1.35rem);line-height:1.7}.link,a{border-bottom:1px solid var(--earth-sage);color:var(--earth-sage);font-weight:var(--font-weight-semibold,600);text-decoration:none;-webkit-transition:all .2s;transition:all .2s}.link:focus,.link:hover,a:focus,a:hover{border-bottom-color:var(--earth-brown);color:var(--earth-brown)}.link-brackets{margin-left:var(--space-md)!important}.link-brackets:after{content:"]";margin-left:.2rem}.link-brackets:after,.link-brackets:before{color:var(--earth-sage);position:absolute;-webkit-transition:all .2s;transition:all .2s}.link-brackets:before{content:"[";margin-left:-.8rem}.link-brackets:focus:after,.link-brackets:focus:before,.link-brackets:hover:after,.link-brackets:hover:before{color:var(--accent-coral)}.blockquote,blockquote{border-left:var(--border-thin) solid var(--earth-brown);color:var(--text-secondary);font-style:italic;margin:var(--space-lg,1.5rem) 0;padding-left:var(--space-md,1rem)}.mb-1{margin-bottom:var(--space-2xs)!important}.mb-2{margin-bottom:var(--space-xs)!important}.mb-3{margin-bottom:var(--space-sm)!important}.mb-4{margin-bottom:var(--space-md)!important}.mb-5{margin-bottom:var(--space-xl)!important}.mt-1{margin-top:var(--space-2xs)!important}.mt-2{margin-top:var(--space-xs)!important}.mt-3{margin-top:var(--space-sm)!important}.mt-4{margin-top:var(--space-md)!important}.mt-5{margin-top:var(--space-xl)!important}.ml-1{margin-left:var(--space-2xs)!important}.ml-2{margin-left:var(--space-xs)!important}.ml-3{margin-left:var(--space-sm)!important}.ml-4{margin-left:var(--space-md)!important}.ml-5{margin-left:var(--space-xl)!important}.mr-1{margin-right:var(--space-2xs)!important}.mr-2{margin-right:var(--space-xs)!important}.mr-3{margin-right:var(--space-sm)!important}.mr-4{margin-right:var(--space-md)!important}.mr-5{margin-right:var(--space-xl)!important}.p-1{padding:var(--space-2xs)!important}.p-2{padding:var(--space-xs)!important}.p-3{padding:var(--space-sm)!important}.p-4{padding:var(--space-md)!important}.p-5{padding:var(--space-xl)!important}.pt-1{padding-top:var(--space-2xs)!important}.pt-2{padding-top:var(--space-xs)!important}.pt-3{padding-top:var(--space-sm)!important}.pt-4{padding-top:var(--space-md)!important}.pt-5{padding-top:var(--space-xl)!important}.pb-1{padding-bottom:var(--space-2xs)!important}.pb-2{padding-bottom:var(--space-xs)!important}.pb-3{padding-bottom:var(--space-sm)!important}.pb-4{padding-bottom:var(--space-md)!important}.pb-5{padding-bottom:var(--space-xl)!important}.pl-1{padding-left:var(--space-2xs)!important}.pl-2{padding-left:var(--space-xs)!important}.pl-3{padding-left:var(--space-sm)!important}.pl-4{padding-left:var(--space-md)!important}.pl-5{padding-left:var(--space-xl)!important}.pr-1{padding-right:var(--space-2xs)!important}.pr-2{padding-right:var(--space-xs)!important}.pr-3{padding-right:var(--space-sm)!important}.pr-4{padding-right:var(--space-md)!important}.pr-5{padding-right:var(--space-xl)!important}section{margin:0 auto;max-width:1200px;padding:var(--space-3xl,6rem) var(--space-lg,2rem)}.justify-content-center{-webkit-box-pack:center!important;-ms-flex-pack:center!important;justify-content:center!important}.justify-content-between{-webkit-box-pack:justify!important;-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.justify-content-end{-webkit-box-pack:end!important;-ms-flex-pack:end!important;justify-content:flex-end!important}.row{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;gap:var(--space-lg,2rem)}@media (width >= 768px){.row{gap:var(--space-sm,.5rem)}.card-body .row{gap:0}}.button-row{gap:1rem}.no-wrap{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.d-flex{display:-webkit-box;display:-ms-flexbox;display:flex}.flex-column{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.align-items-center{-webkit-box-align:center;-ms-flex-align:center;align-items:center}.work-grid{display:grid;gap:var(--space-lg,2rem);grid-template-columns:repeat(auto-fit,minmax(300px,1fr));margin-bottom:var(--space-lg,2rem)}.divider{background:var(--accent-coral);border:var(--border-medium,4px) outset var(--earth-dark);display:block;height:var(--space-md,1.5rem);margin:0 auto;width:50%}.divider.vertical{background:var(--earth-dark);border:none!important;border-radius:var(--radius-sm);height:100%;margin:0;width:var(--space-2xs,.25rem)}.card-body ol,.card-body ul,ol,ol.list,ul,ul.list{margin-left:var(--space-lg)!important;padding-left:var(--space-md)!important}.highlight-block{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.header-highlight{margin:var(--space-md) auto;padding:var(--space-md);text-align:center;width:100%}nav{backdrop-filter:blur(24px);background:rgba(245,241,232,.5);border:var(--border-medium,4px) solid var(--earth-brown);border-radius:50px;-webkit-box-shadow:0 8px 24px var(--shadow-heavy);box-shadow:0 8px 24px var(--shadow-heavy);-webkit-filter:url(#lensFilter) saturate(120%) brightness(1.15);filter:url(#lensFilter) saturate(120%) brightness(1.15);left:50%;padding:var(--space-sm) 2rem;position:fixed;top:2rem;-webkit-transform:translateX(-50%);transform:translateX(-50%);z-index:1000}.main-nav{left:0;margin:0 auto;position:sticky;right:0;top:2rem;-webkit-transform:none!important;transform:none!important;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content}nav ul{display:-webkit-box;display:-ms-flexbox;display:flex;list-style:none;-webkit-box-pack:center;-ms-flex-pack:center;gap:2rem;justify-content:center;margin-left:0!important;padding-left:0!important}nav a{border-bottom:none;color:var(--text-primary);font-size:.95rem;font-weight:500;padding:var(--space-2xs) var(--space-xs,.5rem);text-decoration:none;-webkit-transition:color .3s;transition:color .3s}nav a:focus,nav a:hover{outline:var(--border-thin) solid var(--accent-coral);outline-offset:2px}nav a.active,nav a:focus,nav a:hover{color:var(--accent-coral)}nav a.sub-page{outline:var(--border-thin) solid var(--text-secondary);outline-offset:2px}nav a.sub-page:hover{outline-color:var(--accent-coral)}@media (width <= 768px){nav{margin:0 auto!important;padding:var(--space-xs,.5rem) var(--space-sm,1rem)!important;top:var(--space-sm,1rem)!important}nav ul{gap:var(--space-sm,1rem)}}footer{background:var(--earth-dark);border-top:var(--border-extra-thick,8px) solid var(--earth-brown);-webkit-box-shadow:0 -10px 30px var(--shadow);box-shadow:0 -10px 30px var(--shadow);color:var(--earth-cream);margin-top:var(--space-3xl,6rem);padding:var(--space-2xl,3rem) var(--space-xl,2rem)}.footer-content{display:grid;gap:3rem;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin:0 auto;max-width:1200px}.footer-section h3{color:var(--accent-coral);font-size:clamp(1.2rem,2vw,1.5rem)}.footer-section h3,.footer-section h4{font-family:Playfair Display,serif;margin-bottom:var(--space-md,1rem)}.footer-section h4{color:hsla(0,0%,100%,.5)!important;font-size:clamp(1.1rem,1.25vw,1.125rem)}.footer-section li,.footer-section p{color:var(--earth-cream);line-height:1.6;margin-bottom:var(--space-xs,.5rem)}.footer-section ul{list-style:none;padding:0}.footer-section li{margin-bottom:var(--space-xs,.5rem)}.footer-bottom{border-top:var(--border-medium,4px) solid var(--earth-brown);color:var(--earth-sand);margin-top:var(--space-2xl,3rem);padding-top:var(--space-xl,2rem);text-align:center}.footer-bottom p{color:var(--earth-cream);font-size:var(--font-size-sm);margin:0}.footer-bottom a,.footer-section a{color:var(--earth-cream);text-decoration:underline}.footer-bottom a:hover,.footer-section a:hover{color:var(--accent-coral)}.badge{background:var(--earth-sage);border:var(--border-thin,2px) solid var(--earth-brown);border-radius:var(--radius-pill);color:var(--earth-cream);display:inline-block;font-size:.85rem;font-weight:600;padding:var(--space-2xs,.25rem) var(--space-sm,.75rem)}.badge-accent{background:var(--accent-coral-dark)}.badge-outline{background:transparent;color:inherit}.badges,.row-badges{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;gap:var(--space-2xs,.25rem)}.btn{border:none;border-radius:var(--radius-md,12px);cursor:pointer;display:inline-block;font-family:var(--font-family-sans);font-size:var(--font-size-md,1rem);font-weight:600;padding:var(--space-sm,.75rem) var(--space-lg,1.5rem);text-align:center;text-decoration:none;-webkit-transition:all .2s;transition:all .2s}.btn:focus,.btn:hover{-webkit-box-shadow:2px 2px 0 var(--earth-brown);box-shadow:2px 2px 0 var(--earth-brown);-webkit-transform:translate(2px,2px);transform:translate(2px,2px)}.btn-primary{border:var(--border-medium,4px) solid var(--earth-brown);-webkit-box-shadow:4px 4px 0 var(--earth-brown);box-shadow:4px 4px 0 var(--earth-brown)}.btn-primary,.btn-primary:focus,.btn-primary:hover{background:var(--accent-coral-dark);color:var(--white)}.btn-secondary{background:var(--earth-cream);border:var(--border-medium,4px) solid var(--earth-brown);-webkit-box-shadow:4px 4px 0 var(--earth-sage);box-shadow:4px 4px 0 var(--earth-sage);color:var(--text-primary)}.btn-secondary:focus,.btn-secondary:hover{background:var(--earth-sand);-webkit-box-shadow:2px 2px 0 var(--earth-sage);box-shadow:2px 2px 0 var(--earth-sage);color:var(--text-primary);outline:var(--border-thin) solid var(--earth-dark);-webkit-transform:translate(2px,2px);transform:translate(2px,2px)}.btn-outline{backdrop-filter:blur(24px);background:hsla(0,0%,100%,.5)!important;border:var(--border-medium,4px) solid var(--earth-brown)!important;-webkit-box-shadow:none!important;box-shadow:none!important;color:var(--text-primary)!important;-webkit-filter:url(#lensFilter) saturate(120%) brightness(1.15);filter:url(#lensFilter) saturate(120%) brightness(1.15)}.btn-outline:focus,.btn-outline:hover{color:var(--earth-cream);text-decoration:underline}.btn-sm{border-width:var(--border-thin)!important;font-size:.9rem!important;padding:var(--space-xs,.5rem) var(--space-md,1rem)!important}.btn-lg{font-size:1.1rem!important;padding:var(--space-md,1rem) var(--space-xl,2rem)!important}.skip-link{background:var(--accent-coral);border:var(--border-medium,4px) solid var(--earth-brown);clip-path:inset(50%);color:var(--white);font-weight:600;left:0;overflow:hidden;padding:var(--space-sm,.75rem) var(--space-lg,1.5rem);position:absolute;text-decoration:none;top:-100px;z-index:2000}.skip-link:focus{clip-path:none;left:1rem;overflow:visible;top:1rem}.social-links{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;gap:1rem}.social-link{background:var(--earth-sage);border:var(--border-medium,4px) solid var(--earth-sand);border-radius:8px;color:var(--white);display:inline-block;font-size:.95rem;font-weight:500;padding:var(--space-xs,.5rem) var(--space-md,1rem);text-decoration:none!important;-webkit-transition:all .3s;transition:all .3s}.social-link:focus,.social-link:hover{background:var(--accent-coral);color:var(--white)!important;-webkit-transform:translateY(-2px);transform:translateY(-2px)}.about-card,.card,.card-accent,.card-layered,.showcase-large{background:var(--earth-cream);border:var(--card-border-width,var(--border-thick,6px)) solid var(--card-border-color,var(--earth-brown));border-radius:var(--radius-xl,20px)}.about-card,.card-accent,.card-layered,.showcase-large{-webkit-box-shadow:var(--card-shadow-offset,12px) var(--card-shadow-offset,12px) 0 var(--card-shadow-color,var(--earth-sage)),var(--card-shadow-offset,12px) var(--card-shadow-offset,12px) 0 var(--card-shadow-ring-width,5px) var(--earth-brown);box-shadow:var(--card-shadow-offset,12px) var(--card-shadow-offset,12px) 0 var(--card-shadow-color,var(--earth-sage)),var(--card-shadow-offset,12px) var(--card-shadow-offset,12px) 0 var(--card-shadow-ring-width,5px) var(--earth-brown)}@media (width <= 768px){.about-card,.showcase-large{--card-shadow-offset:6px;--card-shadow-ring-width:4px}}.card{-webkit-box-shadow:8px 8px 0 var(--shadow-heavy);box-shadow:8px 8px 0 var(--shadow-heavy);padding:var(--space-lg,1.5rem);-webkit-transition:-webkit-transform .3s,-webkit-box-shadow .3s;transition:-webkit-transform .3s,-webkit-box-shadow .3s;transition:transform .3s,box-shadow .3s;transition:transform .3s,box-shadow .3s,-webkit-transform .3s,-webkit-box-shadow .3s}.card:focus-within,.card:hover{-webkit-box-shadow:12px 12px 0 var(--shadow-heavy);box-shadow:12px 12px 0 var(--shadow-heavy);-webkit-transform:translateY(-5px);transform:translateY(-5px)}.card-layered{padding:var(--space-xl,2rem)}.card-shadow{background:var(--earth-cream);border:none;border-radius:var(--radius-lg,16px);-webkit-box-shadow:10px 10px 0 var(--shadow-heavy);box-shadow:10px 10px 0 var(--shadow-heavy);padding:var(--space-md,1.5rem)}.card-accent{--card-border-width:var(--border-extra-thick,8px);--card-shadow-offset:16px;--card-shadow-color:var(--accent-coral);--card-shadow-ring-width:6px;overflow:hidden}.card-flex{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.card-flex p{-webkit-box-flex:1;-ms-flex:1 0;flex:1 0}.card-with-columns .row{gap:var(--space-md,1rem);-ms-flex-item-align:stretch}.card-with-columns .column,.card-with-columns .row{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start;align-self:stretch}.card-with-columns .column{-webkit-box-flex:1;-ms-flex:1 0 0px;flex:1 0 0;-ms-flex-item-align:stretch}.card-header{border-bottom:var(--border-thin,2px) solid var(--earth-sand);margin-bottom:var(--space-md,1rem);padding-bottom:var(--space-md,1rem)}.card-body{margin-bottom:var(--space-md)}.card-body img{-o-object-fit:cover;object-fit:cover;width:100%}@media (width >= 768px){.img-thumbnail{max-width:50%}}.card-body:last-child{margin-bottom:0}.card-footer{border-top:var(--border-thin,2px) solid var(--earth-sand);margin-top:var(--space-md,1rem);padding-top:var(--space-md,1rem)}.showcase-content{padding:var(--space-lg,2rem)}.showcase-content h3{color:var(--text-primary);font-family:var(--font-family-serif);font-size:clamp(1.3rem,2.5vw,1.8rem);margin-bottom:var(--space-sm,1rem)}.showcase-content p{color:var(--text-secondary);font-size:clamp(.95rem,1.5vw,1rem);margin-bottom:var(--space-md,1.5rem)}.showcase-small{background:var(--earth-sand);border:4px solid var(--earth-brown);border-radius:var(--radius-lg,16px);-webkit-box-shadow:6px 6px 0 var(--shadow-heavy);box-shadow:6px 6px 0 var(--shadow-heavy);padding:var(--space-md,1.5rem);-webkit-transition:-webkit-transform .3s;transition:-webkit-transform .3s;transition:transform .3s;transition:transform .3s,-webkit-transform .3s}.showcase-small:focus-within,.showcase-small:hover{-webkit-transform:translateY(-4px);transform:translateY(-4px)}.showcase-small h4{color:var(--text-primary);font-family:var(--font-family-serif);font-size:clamp(1.1rem,2vw,1.3rem);margin-bottom:var(--space-xs,.5rem)}.showcase-small p{color:var(--text-secondary);font-size:clamp(.9rem,1.5vw,.95rem)}.about-card{margin:0 auto;padding:var(--space-2xl,3rem)}@media (width <= 768px){.about-card{padding:var(--space-md,1rem)}.about-grid{grid-template-columns:1fr!important}}.about-card p{color:var(--text-primary);font-size:clamp(1rem,1.5vw,1.1rem);line-height:1.8;margin-bottom:var(--space-lg,1.5rem)}.about-card p:last-child{margin-bottom:0}.about-grid{display:grid;gap:var(--space-xl,2rem);grid-template-columns:repeat(auto-fit,minmax(350px,1fr));margin-top:var(--space-xl,2rem)}.showcase-large{--card-shadow-color:var(--accent-coral);--card-shadow-ring-width:6px;overflow:hidden;-webkit-transition:-webkit-transform .3s;transition:-webkit-transform .3s;transition:transform .3s;transition:transform .3s,-webkit-transform .3s}.showcase-large:focus-within,.showcase-large:hover{-webkit-transform:translateY(-8px);transform:translateY(-8px)}.showcase-image{background:linear-gradient(135deg,var(--earth-sage) 0,var(--earth-sand) 100%);display:-webkit-box;display:-ms-flexbox;display:flex;height:300px;width:100%;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;border-bottom:var(--border-thick,6px) solid var(--earth-brown);color:var(--earth-cream);font-size:var(--font-size-5xl,3rem);justify-content:center;-o-object-fit:contain;object-fit:contain;padding:var(--space-md,1rem)}.showcase-image-dark{background:linear-gradient(135deg,var(--black) 0,var(--earth-dark) 100%)}.small-showcase-cards{display:grid;gap:var(--space-md,1.5rem);grid-column:1/-1;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-top:var(--space-sm,1rem)}.callouts-grid{display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));margin-top:2rem}.callout{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:end;-ms-flex-align:end;align-items:flex-end;-webkit-box-pack:justify;-ms-flex-pack:justify;background:var(--earth-cream);border:var(--border-thick,6px) solid var(--accent-coral-dark);border-radius:var(--radius-xl,20px);-webkit-box-shadow:8px 8px 0 var(--shadow-heavy);box-shadow:8px 8px 0 var(--shadow-heavy);justify-content:space-between;padding:2rem;position:relative;-webkit-transition:-webkit-transform .3s,-webkit-box-shadow .3s;transition:-webkit-transform .3s,-webkit-box-shadow .3s;transition:transform .3s,box-shadow .3s;transition:transform .3s,box-shadow .3s,-webkit-transform .3s,-webkit-box-shadow .3s}.callout:focus-within,.callout:hover{-webkit-box-shadow:12px 12px 0 var(--shadow-heavy);box-shadow:12px 12px 0 var(--shadow-heavy);-webkit-transform:translateY(-5px);transform:translateY(-5px)}.callout:before{color:var(--accent-coral);content:'"';font-family:var(--font-family-serif);font-size:var(--font-size-6xl,4rem);left:20px;line-height:1;position:absolute;top:10px}.callout-text{color:var(--text-primary);font-style:italic;margin-bottom:var(--space-md,1.5rem);padding-top:var(--space-sm,1rem)}.callout-author{color:var(--text-primary);display:block;font-weight:600}.callout-role{color:var(--text-secondary);font-size:var(--font-size-sm,.9rem)}.card-image{border:var(--border-medium,4px) solid var(--border-border,#4a3426);border-radius:var(--radius-xl,20px);-webkit-box-shadow:6px 6px 0 0 var(--shadow-light,rgba(45,31,18,.08));box-shadow:6px 6px 0 0 var(--shadow-light,rgba(45,31,18,.08));padding:var(--space-lg,1.5rem);-webkit-transition:-webkit-transform .3s,-webkit-box-shadow .3s;transition:-webkit-transform .3s,-webkit-box-shadow .3s;transition:transform .3s,box-shadow .3s;transition:transform .3s,box-shadow .3s,-webkit-transform .3s,-webkit-box-shadow .3s}.card-image,.card-image .image-top{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start;background:var(--bg-canvas,#f5f1e8)}.card-image .image-top{-ms-flex-item-align:stretch;align-self:stretch;border-bottom:var(--border-medium) solid var(--border-brown,#4a3426);border:var(--border-extra-thick,8px) solid #000;border-radius:var(--radius-lg,16px);-webkit-box-shadow:0 0 12px var(--shadow-heavy,rgba(45,31,18,.25));box-shadow:0 0 12px var(--shadow-heavy,rgba(45,31,18,.25));margin-bottom:var(--space-xs,.5rem);max-height:300px;-o-object-fit:cover;object-fit:cover}.card-image .card-content{-ms-flex-direction:column;flex-direction:column;-ms-flex-align:start;align-items:start;-ms-flex-item-align:stretch;align-self:stretch;padding:var(--space-md) var(--space-xl) var(--space-xl) var(--space-xl)}.card-image .card-content,.card-image>.card-body{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-box-align:start}.card-image>.card-body{-ms-flex-direction:column;flex-direction:column;-ms-flex-align:start;align-items:flex-start;-webkit-box-pack:justify;-ms-flex-pack:justify;height:100%;justify-content:space-between}h3.two-line-header{height:82px;min-height:82px}.gallery{--size:100px;display:grid;gap:5px;grid-auto-rows:var(--size);grid-template-columns:repeat(6,var(--size));margin-bottom:var(--size);place-items:start center}.gallery:has(:focus) picture:not(:focus),.gallery:has(:hover) picture:not(:hover){-webkit-filter:brightness(.5) contrast(.5);filter:brightness(.5) contrast(.5)}.gallery picture{border-radius:5px;clip-path:path("M90,10 C100,0 100,0 110,10 190,90 190,90 190,90 200,100 200,100 190,110 190,110 110,190 110,190 100,200 100,200 90,190 90,190 10,110 10,110 0,100 0,100 10,90Z");grid-column:auto/span 2;height:calc(var(--size)*2);-o-object-fit:cover;object-fit:cover;-webkit-transition:clip-path .25s,-webkit-filter .75s;transition:clip-path .25s,-webkit-filter .75s;transition:clip-path .25s,filter .75s;transition:clip-path .25s,filter .75s,-webkit-filter .75s;width:calc(var(--size)*2)}.gallery picture:nth-child(5n-1){grid-column:2/span 2}.gallery picture:focus,.gallery picture:hover{clip-path:path("M0,0 C0,0 200,0 200,0 200,0 200,100 200,100 200,100 200,200 200,200 200,200 100,200 100,200 100,200 100,200 0,200 0,200 0,100 0,100 0,100 0,100 0,100Z");-webkit-transition:clip-path .25s,-webkit-filter .25s;transition:clip-path .25s,-webkit-filter .25s;transition:clip-path .25s,filter .25s;transition:clip-path .25s,filter .25s,-webkit-filter .25s;z-index:1}.gallery picture:focus{outline:1px dashed #000;outline-offset:-5px}.carousel>input{height:1px;width:1px;clip:rect(1px,1px,1px,1px);clip-path:inset(50%);margin:-1px;overflow:hidden;padding:0;position:absolute}.carousel>input:first-of-type:checked~.carousel__slides .carousel__slide:first-of-type{margin-left:0}.carousel>input:nth-of-type(2):checked~.carousel__slides .carousel__slide:first-of-type{margin-left:-100%}.carousel>input:nth-of-type(3):checked~.carousel__slides .carousel__slide:first-of-type{margin-left:-200%}.carousel>input:nth-of-type(4):checked~.carousel__slides .carousel__slide:first-of-type{margin-left:-300%}.carousel>input:nth-of-type(5):checked~.carousel__slides .carousel__slide:first-of-type{margin-left:-400%}.carousel>input:nth-of-type(6):checked~.carousel__slides .carousel__slide:first-of-type{margin-left:-500%}.carousel>input:nth-of-type(7):checked~.carousel__slides .carousel__slide:first-of-type{margin-left:-600%}.carousel>input:nth-of-type(8):checked~.carousel__slides .carousel__slide:first-of-type{margin-left:-700%}.carousel>input:nth-of-type(9):checked~.carousel__slides .carousel__slide:first-of-type{margin-left:-800%}.carousel>input:nth-of-type(10):checked~.carousel__slides .carousel__slide:first-of-type{margin-left:-900%}.carousel>input:nth-of-type(11):checked~.carousel__slides .carousel__slide:first-of-type{margin-left:-1000%}.carousel>input:nth-of-type(12):checked~.carousel__slides .carousel__slide:first-of-type{margin-left:-1100%}.carousel>input:nth-of-type(13):checked~.carousel__slides .carousel__slide:first-of-type{margin-left:-1200%}.carousel>input:nth-of-type(14):checked~.carousel__slides .carousel__slide:first-of-type{margin-left:-1300%}.carousel>input:nth-of-type(15):checked~.carousel__slides .carousel__slide:first-of-type{margin-left:-1400%}.carousel>input:first-of-type:checked~.carousel__thumbnails li:first-of-type,.carousel>input:nth-of-type(10):checked~.carousel__thumbnails li:nth-of-type(10),.carousel>input:nth-of-type(11):checked~.carousel__thumbnails li:nth-of-type(11),.carousel>input:nth-of-type(12):checked~.carousel__thumbnails li:nth-of-type(12),.carousel>input:nth-of-type(13):checked~.carousel__thumbnails li:nth-of-type(13),.carousel>input:nth-of-type(14):checked~.carousel__thumbnails li:nth-of-type(14),.carousel>input:nth-of-type(15):checked~.carousel__thumbnails li:nth-of-type(15),.carousel>input:nth-of-type(2):checked~.carousel__thumbnails li:nth-of-type(2),.carousel>input:nth-of-type(3):checked~.carousel__thumbnails li:nth-of-type(3),.carousel>input:nth-of-type(4):checked~.carousel__thumbnails li:nth-of-type(4),.carousel>input:nth-of-type(5):checked~.carousel__thumbnails li:nth-of-type(5),.carousel>input:nth-of-type(6):checked~.carousel__thumbnails li:nth-of-type(6),.carousel>input:nth-of-type(7):checked~.carousel__thumbnails li:nth-of-type(7),.carousel>input:nth-of-type(8):checked~.carousel__thumbnails li:nth-of-type(8),.carousel>input:nth-of-type(9):checked~.carousel__thumbnails li:nth-of-type(9){-webkit-box-shadow:0 0 0 5px rgba(0,0,255,.5);box-shadow:0 0 0 5px rgba(0,0,255,.5)}.carousel__slides{display:-webkit-box;display:-ms-flexbox;display:flex;margin:0;padding:0;white-space:nowrap;z-index:1}.carousel__slide,.carousel__slides{-webkit-box-sizing:border-box;box-sizing:border-box;overflow:hidden;position:relative}.carousel__slide{display:block;-webkit-box-flex:1;-ms-flex:1 0 100%;flex:1 0 100%;height:100%;-webkit-transition:all .3s ease-out;transition:all .3s ease-out;vertical-align:top;white-space:normal;width:100%}.carousel__slide figure{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;margin:0}.carousel__slide div{position:relative}.carousel__slide div:before{content:"";display:block;padding-top:66.6666666667%;width:100%}.carousel__slide div>img{height:100%;inset:0;position:absolute;width:100%}.carousel__slide div{width:100%}.carousel__slide img{display:block;-webkit-box-flex:1;-ms-flex:1 1 auto;flex:1 1 auto;-o-object-fit:cover;object-fit:cover}.carousel__slide figcaption{-ms-flex-item-align:center;align-self:center;padding:20px 20px 0;-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;min-width:150px;width:25%}.carousel__slide .credit{color:rgba(0,0,0,.5);display:block;margin-top:1rem}.carousel__slide.scrollable{overflow-y:scroll}.carousel__thumbnails{display:-webkit-box;display:-ms-flexbox;display:flex;list-style:none;margin:0 -10px;padding:0}.carousel__slides+.carousel__thumbnails{margin-top:20px}.carousel__thumbnails li{-webkit-box-flex:1;-ms-flex:1 1 auto;flex:1 1 auto;margin:0 10px;max-width:calc(16.66667% - 20px);-webkit-transition:all .3s ease-in-out;transition:all .3s ease-in-out}.carousel__thumbnails label{display:block;position:relative}.carousel__thumbnails label:before{content:"";display:block;padding-top:100%;width:100%}.carousel__thumbnails label>img{height:100%;inset:0;position:absolute;width:100%}.carousel__thumbnails label:focus,.carousel__thumbnails label:hover{cursor:pointer}.carousel__thumbnails label:focus img,.carousel__thumbnails label:hover img{-webkit-box-shadow:0 0 0 1px rgba(0,0,0,.25);box-shadow:0 0 0 1px rgba(0,0,0,.25);-webkit-transition:all .3s ease-in-out;transition:all .3s ease-in-out}.carousel__thumbnails img{display:block;height:100%;-o-object-fit:cover;object-fit:cover;width:100%}
+/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zYXNzL192YXJpYWJsZXMuc2NzcyIsInN0eWxlLmNzcyIsIi4uLy4uL3NyYy9zYXNzL3N0eWxlLnNjc3MiLCIuLi8uLi9zcmMvc2Fzcy9fYW5pbWF0aW9ucy5zY3NzIiwiLi4vLi4vc3JjL3Nhc3MvX2ZvbnRzLnNjc3MiLCIuLi8uLi9zcmMvc2Fzcy9fdHlwb2dyYXBoeS5zY3NzIiwiLi4vLi4vc3JjL3Nhc3MvX3NwYWNpbmcuc2NzcyIsIi4uLy4uL3NyYy9zYXNzL19sYXlvdXQuc2NzcyIsIi4uLy4uL3NyYy9zYXNzL19saXN0cy5zY3NzIiwiLi4vLi4vc3JjL3Nhc3MvX2hpZ2hsaWdodC5zY3NzIiwiLi4vLi4vc3JjL3Nhc3MvX25hdmlnYXRpb24uc2NzcyIsIi4uLy4uL3NyYy9zYXNzL19mb290ZXIuc2NzcyIsIi4uLy4uL3NyYy9zYXNzL19iYWRnZS5zY3NzIiwiLi4vLi4vc3JjL3Nhc3MvX2J1dHRvbnMuc2NzcyIsIi4uLy4uL3NyYy9zYXNzL19jYXJkcy5zY3NzIiwiLi4vLi4vc3JjL3Nhc3MvX2dhbGxlcnkuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFTQSxNQUVFLHlIQUFBLENBR0EsNENBQUEsQ0FDQSw4REFBQSxDQUNBLDBDQUFBLENBR0EsZUFBQSxDQUNBLGVBQUEsQ0FDQSxvQkFBQSxDQUNBLHFCQUFBLENBQ0Esb0JBQUEsQ0FDQSxvQkFBQSxDQUNBLDBCQUFBLENBQ0EscUJBQUEsQ0FDQSxzQkFBQSxDQUNBLDJCQUFBLENBQ0Esc0JBQUEsQ0FDQSx3QkFBQSxDQUNBLG9CQUFBLENBQ0EsMkJBQUEsQ0FDQSxpQ0FBQSxDQUNBLGlDQUFBLENBQ0EsOEJBQUEsQ0FDQSxpQ0FBQSxDQUdBLHNCQUFBLENBQ0EsdUJBQUEsQ0FDQSxtQkFBQSxDQUNBLHVCQUFBLENBQ0Esc0JBQUEsQ0FDQSxzQkFBQSxDQUNBLG9CQUFBLENBQ0Esc0JBQUEsQ0FDQSxvQkFBQSxDQUNBLG9CQUFBLENBR0EsbUJBQUEsQ0FDQSxpQkFB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LDBCQUFBLENBQUEsa0JKZ1lKLENJOVhFLHNCQUNFLFdBQUEsQ0FFQSxrQkoyWEosQ0l2WEUsOEdBSUUseUJKc1hKLENJalhBLHVCQUVFLHVEQUFBLENBSUEsMkJBQUEsQ0FEQSxpQkFBQSxDQURBLCtCQUFBLENBREEsaUNKd1hGLENLL21CQSxNQUNFLHdDTGtuQkYsQ0tobkJBLE1BQ0UsdUNMbW5CRixDS2puQkEsTUFDRSx1Q0xvbkJGLENLbG5CQSxNQUNFLHVDTHFuQkYsQ0tubkJBLE1BQ0UsdUNMc25CRixDS3BuQkEsTUFDRSxxQ0x1bkJGLENLcm5CQSxNQUNFLG9DTHduQkYsQ0t0bkJBLE1BQ0Usb0NMeW5CRixDS3ZuQkEsTUFDRSxvQ0wwbkJGLENLeG5CQSxNQUNFLG9DTDJuQkYsQ0t6bkJBLE1BQ0Usc0NMNG5CRixDSzFuQkEsTUFDRSxxQ0w2bkJGLENLM25CQSxNQUNFLHFDTDhuQkYsQ0s1bkJBLE1BQ0UscUNMK25CRixDSzduQkEsTUFDRSxxQ0xnb0JGLENLOW5CQSxNQUNFLHVDTGlvQkYsQ0svbkJBLE1BQ0Usc0NMa29CRixDS2hvQkEsTUFDRSxzQ0xtb0JGLENLam9CQSxNQUNFLHNDTG9vQkYsQ0tsb0JBLE1BQ0Usc0NMcW9CRixDS25vQkEsS0FDRSxrQ0xzb0JGLENLcG9CQSxLQUNFLGlDTHVvQkYsQ0tyb0JBLEtBQ0UsaUNMd29CRixDS3RvQkEsS0FDRSxpQ0x5b0JGLENLdm9CQSxLQUNFLGlDTDBvQkYsQ0t4b0JBLE1BQ0Usc0NMMm9CRixDS3pvQkEsTUFDRSxxQ0w0b0JGLENLMW9CQSxNQUNFLHFDTDZvQkYsQ0szb0JBLE1BQ0UscUNMOG9CRixDSzVvQkEsTUFDRSxxQ0wrb0JGLENLN29CQSxNQUNFLHlDTGdwQkYsQ0s5b0JBLE1BQ0Usd0NMaXBCRixDSy9vQkEsTUFDRSx3Q0xrcEJGLENLaHBCQSxNQUNFLHdDTG1wQkYsQ0tqcEJBLE1BQ0Usd0NMb3BCRixDS2xwQkEsTUFDRSx1Q0xxcEJGLENLbnBCQSxNQUNFLHNDTHNwQkYsQ0twcEJBLE1BQ0Usc0NMdXBCRixDS3JwQkEsTUFD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 */
\ No newline at end of file
diff --git a/docs/css/style.css.map b/docs/css/style.css.map
index 50d16743..c9d72c46 100644
--- a/docs/css/style.css.map
+++ b/docs/css/style.css.map
@@ -1 +1 @@
-{"version":3,"sourceRoot":"","sources":["../../src/sass/style.scss","../../src/sass/_variables.scss","../../src/sass/_animations.scss","../../src/sass/_fonts.scss","../../src/sass/_typography.scss","../../src/sass/_spacing.scss","../../src/sass/_layout.scss","../../src/sass/_lists.scss","../../src/sass/_highlight.scss","../../src/sass/_navigation.scss","../../src/sass/_footer.scss","../../src/sass/_badge.scss","../../src/sass/_buttons.scss","../../src/sass/_cards.scss","../../src/sass/_gallery.scss"],"names":[],"mappings":";AAAA;AAAA;AAAA;AAAA;ACSA;AACE;EACA;AAAA;AAAA;EAGA;EACA;EACA;AAEA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAEA;EACA;AAEA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AAEA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AAEA;EACA;EACA;EACA;EACA;EACA;AAEA;EACA;EACA;EACA;EACA;;;ADjEF;EACE;EACA;EACA;;;AAGF;AACA;EACE;EACA;;;AAEF;EACE;;;AAEF;EACE;EACA;EACA;EACA;EACA;EACA;;;AAGF;AAAA;EAEE;;;AAEF;AAAA;EAEE;EACA;EACA;EACA;;;AAEF;AAAA;EAEE;EACA;EACA;EACA;;;AAGF;AACA;EACE;IACE;IACA;AAEA;AAEA;IACA;;AAGF;EACA;IACE;;EAEF;AAAA;AAAA;IAGE;IACA;IACA;;;AAGJ;AAAA;EAEE;;;AAGF;AACA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;;;AAEF;EACE;EACA;;;AAGF;AACA;EACE;EACA;EACA,YACE,iDAC2B;;;AAE/B;EACE;EACA;EACA;;;AAGF;EAEE;EACA;EACA;;;AAEF;EACE;EACA;EACA,YACE,iDAC2B;;;AAE/B;EACE;;;AAGF;AACA;EACE;IACE;;EAGF;IACE;;EAGF;IACE;;EAGF;IACE;;EAGF;IACE;;EAGF;IACE;;;AAIJ;EACE;EACA;EACA;EACA;EACA;;;AAGF;AEpKA;AAAA;AAAA;AAGA;EACE;EACA;EACA;EACA;EACA;EACA;;;AAEF;EACE;EACA;EACA;EACA;;;AAGF;EACE;IAAI;;EACJ;IAAK;;EACL;IAAK;;EACL;IAAM;;;AAGR;EACE;IAAI;;EACJ;IAAK;;EACL;IAAK;;EACL;IAAM;;;AAGR;EACE;AAED;;;AAGD;EACE;AAED;;;AAGD;EACE;AAED;;;AC/CD;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;;;AAEF;EACE;EACA;EACA;EACA;;;AAEF;EACE;EACA;EACA;EACA;;;AAEF;EACE;EACA;EACA;EACA;;;AAEF;EACE;EACA;EACA;EACA;;;AAEF;EACE;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;;;AAEF;EACE;EACA;EACA;EACA;;;AAEF;EACE;EACA;EACA;EACA;;;AAEF;EACE;EACA;EACA;EACA;;;AAEF;EACE;EACA;EACA;EACA;;;AAEF;EACE;EACA;EACA;EACA;;;AC7EF;AACA;AAAA;EAEE;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EAEA;EACA;EACA;EACA;EACA;;;AAGF;AACA;AAAA;EAEE;EACA;EACA;EACA;EACA;EACA;;;AAEF;EACE;EACA;;;AAEF;AAAA;EAEE;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;AACA;AAAA;EAEE;EACA;EACA;EACA;EACA;;;AAGF;AACA;AAAA;EAEE;EACA;EACA;EACA;EACA;;;AAGF;AACA;AAAA;EAEE;EACA;EACA;EACA;EACA;;;AAGF;AACA;AAAA;EAEE;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;AACA;EACE;EACA;;;AAGF;AAAA;EAEE;EACA;EACA;EACA;;;AAEF;AAAA;EAEE;;;AAEF;EACE;EACA;EACA;EACA;;;AAGF;AAAA;EAEE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;AAAA;EAEE;EACA;;;AAEF;AAAA;EAEE;EACA;EACA;;;AAEF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;AACA;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;AACA;AAAA;EAEE;EACA;EACA;;;AAGF;AACA;AAAA;EAEE;EACA;EACA;EACA;EACA;;;AAEF;AAAA;AAAA;AAAA;EAIE;EACA;;;AAEF;EACE;;AACA;EACE;EACA;EACA;EACA;EACA;;AAEF;EACE;EACA;EACA;EACA;EACA;;AAEF;EAIE;;;AAIJ;AACA;AAAA;EAEE;EACA;EACA;EACA;EACA;;;ACzPF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;ACjIF;AACA;EACE;EACA;EACA;;;AAGF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;EACA;EACA;;;AAEF;EACE;IACE;;;AAGJ;EACE;IACE;;;AAGJ;EACE;;;AAEF;EACE;;;AAEF;EACE,SA7CK;;;AA+CP;EACE,gBA/CO;;;AAiDT;EACE,aAjDO;;;AAmDT;EACE;EACA;EACA;EACA;;;AAEF;EACE;EACA;EACA;EACA;EACA;EACA;;;AAEF;EACE;EACA;EACA;EACA;EACA;EACA;;;ACzEF;AAAA;AAAA;AAAA;AAAA;EAKE;EACA;;;ACNF;EACE;EACA;EACA;EACA;;;AAEF;EACE;EACA;EACA;EACA;;;ACVF;AACA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAEF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;AAAA;EAEE;EACA;EACA;;;AAEF;EACE;;;AAEF;EACE;EACA;;;AAEF;EACE;;;AAGF;EACI;IACA;IACA;IACA;;EAKF;IACE;;;ACvEJ;AACA;EACE;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;;;AAEF;EACE;EACA;EACA;EACA;;;AAEF;AAAA;EAEE;EACA;EACA;;;AAEF;EACE;EACA;;;AAEF;EACE;;;AAEF;EACE;EACA;EACA;EACA;EACA;;;AAEF;EACE;EACA;EACA;;;AAEF;AAAA;EAEE;EACA;;;AAEF;AAAA;EAEE;;;AC9DF;AACA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;;;AAEF;EACE;EACA;EACA;;;ACvBF;AACA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAEF;AAAA;EAEE;EACA;;;AAMF;AACA;EACE;EACA;EACA;EACA;;;AAGF;AAAA;EAEE;EACA;;;AAMF;AACA;EACE;EACA;EACA;EACA;;;AAGF;AAAA;EAEE;EACA;EACA;EACA;EACA;;;AAKF;AACA;EACE;EACA;EACA;EACA;EACA;EACA;;;AAGF;AAAA;EAEE;EACA;;;AAMF;AACA;EACE;EACA;EACA;;;AAGF;EACE;EACA;;;AAGF;AACA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;AAAA;EAEE;EACA;EAIA;;;AC3IF;AAAA;AAAA;AAAA;AAAA;AAKA;AAAA;AAAA;AAAA;AAAA;EAKE;EACA;EACA;;;AAGF;AAAA;AAAA;AAAA;AAAA;AAKA;AAAA;AAAA;AAAA;EAIE,YACE;;;AAIJ;AACA;EACE;AAAA;IAEE;IACA;;;AAIJ;EACE;EACA;EACA,YACE;;;AAIJ;AAAA;EAEE;EACA;;;AAGF;AACA;EACE;;;AAGF;AACA;EACE;EACA;EACA;EACA;EACA;;;AAGF;AACA;EACE;EACA;EACA;EACA;EAEA;;;AAGF;AACA;EACE;EACA;;;AAEF;EACE;;;AAIA;EACE;EACA;EACA;EACA;;AAEF;EACE;EACA;EACA;EACA;;;AAIJ;AACA;EACE;EACA;EACA;;;AAGF;AACA;EACE;;;AAEF;EACE;EACA;;;AAGF;EACE;IACE;;;AAIJ;EACE;;;AAGF;AACA;EACE;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAEF;EACE;EACA;EACA;EACA;EACA;EACA;;;AAGF;AAAA;EAEE;;;AAGF;EACE;EACA;EACA;EACA;;;AAGF;EACE;EACA;;;AAGF;AACA;EACE;EACA;;;AAEF;EACE;IACE;;EAEF;IACE;;;AAIJ;EACE;EACA;EACA;EACA;;;AAGF;EACE;;;AAEF;EACE;EACA;EACA;EACA;;;AAGF;EACE;EACA;EAEA;EACA;;;AAGF;AAAA;EAEE;;;AAGF;EACE;EACA;EACA;EAKA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAEF;EACE;;;AAGF;AACA;EACE;EACA;EACA;EACA;EACA;;;AAGF;AACA;EACE;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,YACE;;;AAIJ;AAAA;EAEE;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,YACE;;;AAGJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAEF;EACE;EACA;EACA;EACA;EACA;;;AAEF;EACE;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;;;AChWF;AACA;EACE;EAEA;EACA;EACA;EACA;EACA;EACA;;AAEA;EAEE;;AAGF;EACE;EACA;EACA;EACA;EAGA,YACE;EAEF;EACA;;AAEA;EACE;;AAGF;EAEE;EAGA;EACA,YACE;;AAIJ;EACE;EACA;;;AAKN;AA+BE;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EAGE;;AAEF;EAGE;;AAEF;EAGE;;AAEF;EAGE;;AAEF;EAGE;;AAEF;EAGE;;AAEF;EAGE;;AAEF;EAGE;;AAEF;EAGE;;AAEF;EAGE;;AAEF;EAGE;;AAEF;EAGE;;AAEF;EAGE;;AAEF;EAGE;;AAEF;EAGE;;AAGF;EACE;;AAEF;EACE;;AAEF;EACE;;AAEF;EACE;;AAEF;EACE;;AAEF;EACE;;AAEF;EACE;;AAEF;EACE;;AAEF;EACE;;AAEF;EACE;;AAEF;EACE;;AAEF;EACE;;AAEF;EACE;;AAEF;EACE;;AAEF;EACE;;;AAKN;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;;AAGF;EAhMA;;AAEA;EACE;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;;AAmLF;EAGE;;AAGF;EACE;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;;AAGF;EACE;;;AAIJ;EACE;EACA;EACA;EACA;;AAEA;EACE;;AAGF;EACE;EACA;EACA;EACA;;AAGF;EACE;EAjPF;;AAEA;EACE;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;;AAuOA;EAEE;;AAEA;EACE;EACA;;AAKN;EACE;EACA;EACA;EACA;;;AAGJ;AdvIA","file":"style.css"}
\ No newline at end of file
+{"version":3,"sourceRoot":"","sources":["../../src/sass/style.scss","../../src/sass/_variables.scss","../../src/sass/_animations.scss","../../src/sass/_fonts.scss","../../src/sass/_typography.scss","../../src/sass/_spacing.scss","../../src/sass/_layout.scss","../../src/sass/_lists.scss","../../src/sass/_highlight.scss","../../src/sass/_navigation.scss","../../src/sass/_footer.scss","../../src/sass/_badge.scss","../../src/sass/_buttons.scss","../../src/sass/_cards.scss","../../src/sass/_gallery.scss"],"names":[],"mappings":";AAAA;AAAA;AAAA;AAAA;ACSA;AACE;EACA;AAAA;AAAA;EAGA;EACA;EACA;AAEA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AAEA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AAEA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AAEA;EACA;EACA;EACA;EACA;EACA;AAEA;EACA;EACA;EACA;EACA;;;ADhEF;EACE;EACA;EACA;;;AAGF;AACA;EACE;EACA;;;AAEF;EACE;;;AAEF;EACE;EACA;EACA;EACA;EACA;EACA;;;AAGF;AAAA;EAEE;;;AAEF;AAAA;EAEE;EACA;EACA;EACA;;;AAEF;AAAA;EAEE;EACA;EACA;EACA;;;AAGF;AACA;EACE;IACE;IACA;AAEA;AAEA;IACA;;AAGF;EACA;IACE;;EAEF;AAAA;AAAA;IAGE;IACA;IACA;;;AAGJ;AAAA;EAEE;;;AAGF;AACA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;;;AAEF;EACE;EACA;;;AAGF;AACA;EACE;EACA;EACA,YACE,iDAC2B;;;AAE/B;EACE;EACA;EACA;;;AAGF;EAEE;EACA;EACA;;;AAEF;EACE;EACA;EACA,YACE,iDAC2B;;;AAE/B;EACE;;;AAGF;AACA;EACE;IACE;;EAGF;IACE;;EAGF;IACE;;EAGF;IACE;;EAGF;IACE;;EAGF;IACE;;;AAIJ;EACE;EACA;EACA;EACA;EACA;;;AAGF;AEpKA;AAAA;AAAA;AAGA;EACE;EACA;EACA;EACA;EACA;EACA;;;AAEF;EACE;EACA;EACA;EACA;;;AAGF;EACE;IAAI;;EACJ;IAAK;;EACL;IAAK;;EACL;IAAM;;;AAGR;EACE;IAAI;;EACJ;IAAK;;EACL;IAAK;;EACL;IAAM;;;AAGR;EACE;AAED;;;AAGD;EACE;AAED;;;AAGD;EACE;AAED;;;AC/CD;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;;;AAEF;EACE;EACA;EACA;EACA;;;AAEF;EACE;EACA;EACA;EACA;;;AAEF;EACE;EACA;EACA;EACA;;;AAEF;EACE;EACA;EACA;EACA;;;AAEF;EACE;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;;;AAEF;EACE;EACA;EACA;EACA;;;AAEF;EACE;EACA;EACA;EACA;;;AAEF;EACE;EACA;EACA;EACA;;;AAEF;EACE;EACA;EACA;EACA;;;AAEF;EACE;EACA;EACA;EACA;;;AC7EF;AACA;AAAA;EAEE;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EAGA;EACA;EACA;EACA;EACA;;;AAGF;AACA;AAAA;EAEE;EACA;EACA;EACA;EACA;EACA;;;AAEF;EACE;EACA;;;AAEF;AAAA;EAEE;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;AACA;AAAA;EAEE;EACA;EACA;EACA;EACA;;;AAGF;AACA;AAAA;EAEE;EACA;EACA;EACA;EACA;;;AAGF;AACA;AAAA;EAEE;EACA;EACA;EACA;EACA;;;AAGF;AACA;AAAA;EAEE;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;AACA;EACE;EACA;;;AAGF;AAAA;EAEE;EACA;EACA;EACA;;;AAEF;AAAA;EAEE;;;AAEF;EACE;EACA;EACA;EACA;;;AAGF;AAAA;EAEE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;AAAA;EAEE;EACA;;;AAEF;AAAA;EAEE;EACA;EACA;;;AAEF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;AACA;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;AACA;AAAA;EAEE;EACA;EACA;;;AAGF;AACA;AAAA;EAEE;EACA;EACA;EACA;EACA;;;AAEF;AAAA;AAAA;AAAA;EAIE;EACA;;;AAEF;EACE;;AACA;EACE;EACA;EACA;EACA;EACA;;AAEF;EACE;EACA;EACA;EACA;EACA;;AAEF;EAIE;;;AAIJ;AACA;AAAA;EAEE;EACA;EACA;EACA;EACA;;;AC1PF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;ACjIF;AACA;EACE;EACA;EACA;;;AAGF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;EACA;EACA;;;AAEF;EACE;IACE;;;AAGJ;EACE;IACE;;;AAGJ;EACE;;;AAEF;EACE;;;AAEF;EACE,SA7CK;;;AA+CP;EACE,gBA/CO;;;AAiDT;EACE,aAjDO;;;AAmDT;EACE;EACA;EACA;EACA;;;AAEF;EACE;EACA;EACA;EACA;EACA;EACA;;;AAEF;EACE;EACA;EACA;EACA;EACA;EACA;;;ACzEF;AAAA;AAAA;AAAA;AAAA;EAKE;EACA;;;ACNF;EACE;EACA;EACA;EACA;;;AAEF;EACE;EACA;EACA;EACA;;;ACVF;AACA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAEF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;AAAA;EAEE;EACA;EACA;;;AAEF;EACE;;;AAEF;EACE;EACA;;;AAEF;EACE;;;AAGF;EACI;IACA;IACA;IACA;;EAKF;IACE;;;ACvEJ;AACA;EACE;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;;;AAEF;EACE;EACA;EACA;EACA;;;AAEF;AAAA;EAEE;EACA;EACA;;;AAEF;EACE;EACA;;;AAEF;EACE;;;AAEF;EACE;EACA;EACA;EACA;EACA;;;AAEF;EACE;EACA;EACA;;;AAEF;AAAA;EAEE;EACA;;;AAEF;AAAA;EAEE;;;AC9DF;AACA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;;;AAEF;EACE;EACA;EACA;;;ACvBF;AACA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAEF;AAAA;EAEE;EACA;;;AAMF;AACA;EACE;EACA;EACA;EACA;;;AAGF;AAAA;EAEE;EACA;;;AAMF;AACA;EACE;EACA;EACA;EACA;;;AAGF;AAAA;EAEE;EACA;EACA;EACA;EACA;;;AAKF;AACA;EACE;EACA;EACA;EACA;EACA;EACA;;;AAGF;AAAA;EAEE;EACA;;;AAMF;AACA;EACE;EACA;EACA;;;AAGF;EACE;EACA;;;AAGF;AACA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;AAAA;EAEE;EACA;EAIA;;;AC3IF;AAAA;AAAA;AAAA;AAAA;AAKA;AAAA;AAAA;AAAA;AAAA;EAKE;EACA;EACA;;;AAGF;AAAA;AAAA;AAAA;AAAA;AAKA;AAAA;AAAA;AAAA;EAIE,YACE;;;AAIJ;AACA;EACE;AAAA;IAEE;IACA;;;AAIJ;EACE;EACA;EACA,YACE;;;AAIJ;AAAA;EAEE;EACA;;;AAGF;AACA;EACE;;;AAGF;AACA;EACE;EACA;EACA;EACA;EACA;;;AAGF;AACA;EACE;EACA;EACA;EACA;EAEA;;;AAGF;AACA;EACE;EACA;;;AAEF;EACE;;;AAIA;EACE;EACA;EACA;EACA;;AAEF;EACE;EACA;EACA;EACA;;;AAIJ;AACA;EACE;EACA;EACA;;;AAGF;AACA;EACE;;;AAEF;EACE;EACA;;;AAGF;EACE;IACE;;;AAIJ;EACE;;;AAGF;AACA;EACE;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAEF;EACE;EACA;EACA;EACA;EACA;EACA;;;AAGF;AAAA;EAEE;;;AAGF;EACE;EACA;EACA;EACA;;;AAGF;EACE;EACA;;;AAGF;AACA;EACE;EACA;;;AAEF;EACE;IACE;;EAEF;IACE;;;AAIJ;EACE;EACA;EACA;EACA;;;AAGF;EACE;;;AAEF;EACE;EACA;EACA;EACA;;;AAGF;EACE;EACA;EAEA;EACA;;;AAGF;AAAA;EAEE;;;AAGF;EACE;EACA;EACA;EAKA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAEF;EACE;;;AAGF;AACA;EACE;EACA;EACA;EACA;EACA;;;AAGF;AACA;EACE;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,YACE;;;AAIJ;AAAA;EAEE;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,YACE;;;AAGJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAEF;EACE;EACA;EACA;EACA;EACA;;;AAEF;EACE;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;;;AChWF;AACA;EACE;EAEA;EACA;EACA;EACA;EACA;EACA;;AAEA;EAEE;;AAGF;EACE;EACA;EACA;EACA;EAGA,YACE;EAEF;EACA;;AAEA;EACE;;AAGF;EAEE;EAGA;EACA,YACE;;AAIJ;EACE;EACA;;;AAKN;AA+BE;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAIE;EAGE;;AAHF;EAGE;;AAHF;EAGE;;AAHF;EAGE;;AAHF;EAGE;;AAHF;EAGE;;AAHF;EAGE;;AAHF;EAGE;;AAHF;EAGE;;AAHF;EAGE;;AAHF;EAGE;;AAHF;EAGE;;AAHF;EAGE;;AAHF;EAGE;;AAHF;EAGE;;AAMF;EACE;;AADF;EACE;;AADF;EACE;;AADF;EACE;;AADF;EACE;;AADF;EACE;;AADF;EACE;;AADF;EACE;;AADF;EACE;;AADF;EACE;;AADF;EACE;;AADF;EACE;;AADF;EACE;;AADF;EACE;;AADF;EACE;;;AAMR;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;;AAGF;EAtFA;;AAEA;EACE;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;;AAyEF;EAGE;;AAGF;EACE;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;;AAGF;EACE;;;AAIJ;EACE;EACA;EACA;EACA;;AAEA;EACE;;AAGF;EACE;EACA;EACA;EACA;;AAGF;EACE;EAvIF;;AAEA;EACE;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;;AA6HA;EAEE;;AAEA;EACE;EACA;;AAKN;EACE;EACA;EACA;EACA;;;AAGJ;Ad7BA","file":"style.css"}
\ No newline at end of file
diff --git a/docs/feed.json b/docs/feed.json
index 4d3e3d1f..3c5825fe 100644
--- a/docs/feed.json
+++ b/docs/feed.json
@@ -30,30 +30,30 @@
"id": "/reference/",
"url": "/reference/",
"title": "Reference links",
- "date_published": "2026-06-28T13:02:06Z",
- "date": "2026-06-28T13:02:06Z"
+ "date_published": "2026-06-28T19:43:03Z",
+ "date": "2026-06-28T19:43:03Z"
}
,
{
"id": "/archives/town-selectman.html",
"url": "/archives/town-selectman.html",
"title": "Archived",
- "date_published": "2026-06-28T13:02:06Z",
- "date": "2026-06-28T13:02:06Z"
- }
- ,
- {
- "id": "/credits/open-source/",
- "url": "/credits/open-source/",
- "title": "Open Source",
- "date_published": "2026-05-27T16:02:20Z",
- "date": "2026-05-27T16:02:20Z"
+ "date_published": "2026-06-28T19:43:03Z",
+ "date": "2026-06-28T19:43:03Z"
}
,
{
"id": "/credits/credits/",
"url": "/credits/credits/",
"title": "Credits",
+ "date_published": "2026-06-28T13:32:00Z",
+ "date": "2026-06-28T13:32:00Z"
+ }
+ ,
+ {
+ "id": "/credits/open-source/",
+ "url": "/credits/open-source/",
+ "title": "Open Source",
"date_published": "2026-05-27T16:02:20Z",
"date": "2026-05-27T16:02:20Z"
}
@@ -302,24 +302,24 @@
"id": "/development/prototypes/",
"url": "/development/prototypes/",
"title": "Prototypes",
- "date_published": "2025-03-15T19:44:39Z",
- "date": "2025-03-15T19:44:39Z"
+ "date_published": "2025-04-09T19:34:53Z",
+ "date": "2025-04-09T19:34:53Z"
}
,
{
"id": "/development/examples/",
"url": "/development/examples/",
"title": "codepen examples",
- "date_published": "2025-03-15T19:44:39Z",
- "date": "2025-03-15T19:44:39Z"
+ "date_published": "2025-04-09T19:34:53Z",
+ "date": "2025-04-09T19:34:53Z"
}
,
{
"id": "/development/code/",
"url": "/development/code/",
"title": "redesign",
- "date_published": "2025-03-15T19:44:39Z",
- "date": "2025-03-15T19:44:39Z"
+ "date_published": "2025-04-09T19:34:53Z",
+ "date": "2025-04-09T19:34:53Z"
}
]
diff --git a/docs/sass/print.css b/docs/sass/print.css
index 762f2bf5..768fae2d 100644
--- a/docs/sass/print.css
+++ b/docs/sass/print.css
@@ -1 +1 @@
-@media print{body{color:#000;font:12pt/1.3 Times New Roman,Times,serif;background:#fff!important}header,#header,footer,#footer,aside,nav,form,iframe,.menu,.hero,.adslot{display:none}#navigation,#footer{display:none!important}main,content{float:none;width:100%;margin:0;max-width:8.5in!important;display:block!important}section,.section-hero{margin:16px 0 0!important;padding:0!important}.row{display:block!important}.col-md-6{width:100%!important}.mt-4,.mt-3,.mt-2{margin-top:2pt!important}.mb-4,.mb-3,.mb-2{margin-bottom:2pt!important}.my-4,.my-3,.my-2{margin-top:0!important;margin-bottom:0!important}.py-4,.py-3,.py-2{padding-top:0!important;padding-bottom:0!important}.pb-4,.pb-3,.pb-2{padding-bottom:2pt!important}*{background-image:none!important}img,svg{display:none!important}table,img,svg{break-inside:avoid}.text-bg-light{background-color:transparent!important}.row-badges,.hide-on-print{display:none!important}.print{display:block!important}h1,.h1,.text-h1{break-before:always;text-shadow:none;font-family:Times New Roman,Times,serif;font-size:22pt}h2,.h2,.text-h2{margin-top:16px;margin-bottom:8px;font-size:19pt;font-family:Times New Roman,Times,serif!important}h2:after,.h2:after,.text-h2:after{display:none}h3,.h3,.text-h3{margin-top:16px;margin-bottom:8px;font-size:17pt;font-family:Times New Roman,Times,serif!important}h4,.h4,.text-h4{margin-top:16px;margin-bottom:8px;font-size:14pt;font-family:Times New Roman,Times,serif!important}h5,.h5,.text-h5{margin-top:16px;margin-bottom:8px;font-size:12pt;font-family:Times New Roman,Times,serif!important}p,.paragraph{margin-bottom:8px;font-size:12pt;font-family:Times New Roman,Times,serif!important}blockquote{page-break-inside:avoid}h1,h2,h3,h4,h5,h6{page-break-after:avoid;page-break-inside:avoid}img{page-break-inside:avoid;page-break-after:avoid}table,pre{page-break-inside:avoid}ul,ol,dl{page-break-before:avoid}a{page-break-inside:avoid}a,a:link,a:visited{color:#520;text-align:left;background:0 0;font-weight:700;text-decoration:underline}.badge{color:#000!important;background:0 0!important;border-color:#000!important}.card{box-shadow:none!important;background:0 0!important;border-color:transparent!important;padding:0!important;transition:none!important;transform:none!important}}
\ No newline at end of file
+@media print{body{color:#000;font:12pt/1.3 Times New Roman,Times,serif;background:#fff!important}header,#header,footer,#footer,aside,nav,form,iframe,.menu,.hero,.adslot{display:none}#navigation,#footer{display:none!important}main,content{float:none;width:100%;margin:0;max-width:8.5in!important;display:block!important}section,.section-hero{margin:16px 0 0!important;padding:0!important}.row{display:block!important}.col-md-6{width:100%!important}.mt-4,.mt-3,.mt-2{margin-top:2pt!important}.mb-4,.mb-3,.mb-2{margin-bottom:2pt!important}.my-4,.my-3,.my-2{margin-top:0!important;margin-bottom:0!important}.py-4,.py-3,.py-2{padding-top:0!important;padding-bottom:0!important}.pb-4,.pb-3,.pb-2{padding-bottom:2pt!important}*{background-image:none!important}img,svg{display:none!important}table,img,svg{break-inside:avoid}.text-bg-light{background-color:transparent!important}.row-badges,.hide-on-print{display:none!important}.print{display:block!important}h1,.h1,.text-h1{break-before:always;text-shadow:none;font-family:Times New Roman,Times,serif;font-size:22pt}h2,.h2,.text-h2{margin-top:16px;margin-bottom:8px;font-size:19pt;font-family:Times New Roman,Times,serif!important}h2:after,.h2:after,.text-h2:after{display:none}h3,.h3,.text-h3{margin-top:16px;margin-bottom:8px;font-size:17pt;font-family:Times New Roman,Times,serif!important}h4,.h4,.text-h4{margin-top:16px;margin-bottom:8px;font-size:14pt;font-family:Times New Roman,Times,serif!important}h5,.h5,.text-h5{margin-top:16px;margin-bottom:8px;font-size:12pt;font-family:Times New Roman,Times,serif!important}p,.paragraph{margin-bottom:8px;font-size:12pt;font-family:Times New Roman,Times,serif!important}blockquote{break-inside:avoid}h1,h2,h3,h4,h5,h6{break-after:avoid;break-inside:avoid}img{break-inside:avoid;break-after:avoid}table,pre{break-inside:avoid}ul,ol,dl{break-before:avoid}a{break-inside:avoid}a,a:link,a:visited{color:#520;text-align:left;background:0 0;font-weight:700;text-decoration:underline}.badge{color:#000!important;background:0 0!important;border-color:#000!important}.card{box-shadow:none!important;background:0 0!important;border-color:transparent!important;padding:0!important;transition:none!important;transform:none!important}}
\ No newline at end of file
diff --git a/docs/sass/style.css b/docs/sass/style.css
index 8c3cad21..2e2fa200 100644
--- a/docs/sass/style.css
+++ b/docs/sass/style.css
@@ -1 +1 @@
-:root{--font-family-sans:"Inter", system-ui, -apple-system, blinkmacsystemfont, "Segoe UI", roboto, "Helvetica Neue", arial, sans-serif;--font-family-serif:"Playfair Display", serif;--font-family-mono:"Fira Code", "Courier New", courier, monospace;--font-family-heading:"Pirata One", cursive;--white:#f0f0f0;--black:#010101;--earth-dark:#2d1f12;--earth-brown:#4a3426;--earth-sage:#5a6b4f;--earth-sand:#c9b89a;--earth-sand-light:#e2d8c8;--earth-cream:#f5f1e8;--accent-coral:#d35f3d;--accent-coral-dark:#b34a2d;--text-primary:#2d1f12;--text-secondary:#4a3426;--text-muted:#6b5d52;--shadow:rgba(45,31,18,.15);--shadow-heavy:rgba(45,31,18,.25);--shadow-light:rgba(45,31,18,.08);--bg-canvas:var(--earth-cream);--border-brown:var(--earth-brown);--font-size-xs:.75rem;--font-size-sm:.875rem;--font-size-md:1rem;--font-size-lg:1.125rem;--font-size-xl:1.25rem;--font-size-2xl:1.5rem;--font-size-3xl:2rem;--font-size-4xl:2.5rem;--font-size-5xl:3rem;--font-size-6xl:4rem;--space-2xs:.25rem;--space-xs:.5rem;--space-sm:.75rem;--space-md:1rem;--space-lg:1.5rem;--space-xl:2rem;--space-2xl:3rem;--space-3xl:6rem;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:20px;--radius-pill:50px;--border-thin:2px;--border-medium:4px;--border-thick:6px;--border-extra-thick:8px}*{box-sizing:border-box;margin:0;padding:0}:focus-visible{outline:var(--border-thin) solid var(--accent-coral);outline-offset:2px}html{scroll-behavior:smooth}body{font-family:var(--font-family-sans);background:linear-gradient(135deg, var(--earth-cream) 0%, #e8dcc8 100%);color:var(--text-primary);min-height:100vh;line-height:1.6;position:relative}html::-webkit-scrollbar{width:16px}::-webkit-scrollbar{width:16px}html::-webkit-scrollbar-thumb{background:linear-gradient(var(--accent-coral-dark), var(--accent-coral));background-clip:content-box;border:2px solid transparent;border-radius:2rem}::-webkit-scrollbar-thumb{background:linear-gradient(var(--accent-coral-dark), var(--accent-coral));background-clip:content-box;border:2px solid transparent;border-radius:2rem}html::-webkit-scrollbar-track{border:1px solid var(--earth-sage);background:0 0;border-radius:2rem;padding:0 2px}::-webkit-scrollbar-track{border:1px solid var(--earth-sage);background:0 0;border-radius:2rem;padding:0 2px}@media (prefers-reduced-motion:reduce){.animated-element{opacity:1;transition:none;animation:none}body{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.display-none,.d-none{display:none!important}.hero{text-align:center;-ms-flex-direction:column;flex-direction:column;-ms-flex-pack:center;justify-content:center;-ms-flex-align:center;align-items:center;max-width:900px;margin:0 auto;padding:6rem 2rem;display:-ms-flexbox;display:flex}.rounded{border-radius:var(--radius-xl,20px)!important}.circle{border-radius:999px!important;padding:1rem!important}.fade-in{opacity:0;visibility:hidden;transition:opacity .5s ease-in,visibility 0s linear .5s}.fade-in.show,.show{opacity:1;visibility:visible;transition-delay:0s}.hide{opacity:0;visibility:hidden;transition:opacity .5s ease-in,visibility 0s linear .5s}.hide-on-screen{display:none!important}@media (max-width:768px){.hero h1{font-size:var(--font-size-5xl,3rem)}.no-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.hide-on-mobile{display:none!important}.work-grid,.callouts-grid{grid-template-columns:1fr}h2{font-size:var(--font-size-3xl,2rem)}}figcaption{font-size:var(--font-size-sm,.875rem);color:var(--text-secondary);text-align:center;font-style:italic;line-height:1.4}.arrows{width:60px;height:72px;margin-left:-30px;position:absolute;bottom:20px;left:50%}.arrows path{stroke:#bfe7fa;fill:transparent;stroke-width:1px;animation:2s infinite arrow}@keyframes arrow{0%{opacity:0}40%{opacity:1}80%{opacity:0}to{opacity:0}}.arrows path.a1{animation-delay:-1s}.arrows path.a2{animation-delay:-.5s}.arrows path.a3{animation-delay:0s}.pirata-one-regular{font-family:Pirata One,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue;font-style:normal;font-weight:400}.inter-400{font-optical-sizing:auto;font-family:Inter,sans-serif;font-style:normal;font-weight:400}.inter-500{font-optical-sizing:auto;font-family:Inter,sans-serif;font-style:normal;font-weight:500}.inter-600{font-optical-sizing:auto;font-family:Inter,sans-serif;font-style:normal;font-weight:600}.inter-700{font-optical-sizing:auto;font-family:Inter,sans-serif;font-style:normal;font-weight:700}.inter-800{font-optical-sizing:auto;font-family:Inter,sans-serif;font-style:normal;font-weight:800}.inter-900{font-optical-sizing:auto;font-family:Inter,sans-serif;font-style:normal;font-weight:900}.playfair-display-400{font-optical-sizing:auto;font-family:Playfair Display,serif;font-style:normal;font-weight:400}.playfair-display-500{font-optical-sizing:auto;font-family:Playfair Display,serif;font-style:normal;font-weight:500}.playfair-display-600{font-optical-sizing:auto;font-family:Playfair Display,serif;font-style:normal;font-weight:600}.playfair-display-700{font-optical-sizing:auto;font-family:Playfair Display,serif;font-style:normal;font-weight:700}.playfair-display-800{font-optical-sizing:auto;font-family:Playfair Display,serif;font-style:normal;font-weight:800}.playfair-display-900{font-optical-sizing:auto;font-family:Playfair Display,serif;font-style:normal;font-weight:900}h1,.text-h1{color:var(--text-primary);letter-spacing:2px;text-shadow:3px 3px 0 var(--accent-coral);font-family:Pirata One,cursive;font-size:max(2.5rem,min(8vw,5rem));line-height:1.2}.text-display{color:var(--text-primary);letter-spacing:2px;text-shadow:3px 3px 0 var(--accent-coral);font-family:Pirata One,cursive;font-size:max(3rem,min(10vw,6rem));line-height:1.1}.hero h1{font-family:var(--font-family-heading);color:var(--text-primary);text-shadow:3px 3px 0 var(--accent-coral);letter-spacing:2px;margin-bottom:1rem;line-height:1.2}h2,.text-h2{color:var(--text-primary);margin-bottom:var(--space-md,1.5rem);font-family:Playfair Display,serif;font-size:max(2rem,min(5vw,3rem));font-weight:700;line-height:1.3}.text-h2.no-underline:after{margin-bottom:var(--space-2xs,.25rem);display:none}h2:after,.text-h2:after{content:"";background:var(--accent-coral);border:3px solid var(--earth-brown);width:100px;height:5px;margin:1rem auto;display:block}h3,.text-h3{color:var(--text-primary);font-family:Playfair Display,serif;font-size:max(1.5rem,min(3vw,2rem));font-weight:600;line-height:1.3}h4,.text-h4{color:var(--text-primary);font-family:Playfair Display,serif;font-size:max(1.25rem,min(2.5vw,1.5rem));font-weight:600;line-height:1.4}h5,.text-h5{color:var(--text-primary);font-family:Inter,sans-serif;font-size:max(1.1rem,min(2vw,1.25rem));font-weight:700;line-height:1.4}h6,.text-h6{color:var(--text-primary);text-transform:uppercase;letter-spacing:.5px;font-family:Inter,sans-serif;font-size:1rem;font-weight:700;line-height:1.4}.text-body-lg{font-size:max(1.1rem,min(1.5vw,1.25rem))!important;line-height:1.7!important}p,.text-body{color:var(--text-primary);padding-bottom:var(--space-xs,.5rem);font-size:max(.95rem,min(1.5vw,1rem));line-height:1.7}p:last-child,.text-body:last-child{margin-bottom:0}.hero p{color:var(--earth-brown);max-width:720px;margin:0 auto;font-size:max(1.1rem,min(2vw,1.25rem))}.card-body p:first-of-type,.card-body .text-body:first-of-type{margin-top:var(--space-md,16px)}.text-body-sm{font-size:max(.85rem,min(1.2vw,.9rem));line-height:1.6}.text-caption{font-size:clamp(var(--space-sm), 1vw, .85rem);color:var(--text-muted);line-height:1.5}.text-callout{color:var(--text-primary);margin:var(--space-lg,1.5rem);padding:var(--space-lg,1.5rem);background:var(--earth-sand-light);border-left:var(--border-medium) solid var(--accent-coral);font-size:max(1rem,min(1.5vw,1.1rem));font-weight:600;line-height:1.6}code,.code{font-family:var(--font-family-mono);font-size:max(.85rem,min(1vw,.9rem))}code.code-inline,.code.code-inline{background:var(--earth-sand);border-radius:var(--radius-sm);padding:.1rem .3rem}.code-block{background:var(--earth-sand);border-radius:var(--radius-md);border:var(--border-thin) solid var(--earth-sage);padding:1rem;font-size:max(.85rem,min(1vw,.9rem));display:block;overflow-x:auto}.text-muted{color:var(--text-muted)}.text-secondary{color:var(--text-secondary)}.text-accent{color:var(--accent-coral)}.text-semibold{font-weight:600}.text-bold{font-weight:700}.text-center{text-align:center}.lead,.text-lead{color:var(--text-secondary);font-size:max(1.1rem,min(2vw,1.35rem));line-height:1.7}a,.link{color:var(--earth-sage);border-bottom:1px solid var(--earth-sage);font-weight:var(--font-weight-semibold,600);text-decoration:none;transition:all .2s}a:hover,a:focus,.link:hover,.link:focus{color:var(--earth-brown);border-bottom-color:var(--earth-brown)}.link-brackets{margin-left:var(--space-md)!important}.link-brackets:after{content:"]";color:var(--earth-sage);margin-left:.2rem;transition:all .2s;position:absolute}.link-brackets:before{content:"[";color:var(--earth-sage);margin-left:-.8rem;transition:all .2s;position:absolute}.link-brackets:hover:after,.link-brackets:hover:before,.link-brackets:focus:after,.link-brackets:focus:before{color:var(--accent-coral)}blockquote,.blockquote{border-left:var(--border-thin) solid var(--earth-brown);padding-left:var(--space-md,1rem);margin:var(--space-lg,1.5rem) 0;color:var(--text-secondary);font-style:italic}.mb-1{margin-bottom:var(--space-2xs)!important}.mb-2{margin-bottom:var(--space-xs)!important}.mb-3{margin-bottom:var(--space-sm)!important}.mb-4{margin-bottom:var(--space-md)!important}.mb-5{margin-bottom:var(--space-xl)!important}.mt-1{margin-top:var(--space-2xs)!important}.mt-2{margin-top:var(--space-xs)!important}.mt-3{margin-top:var(--space-sm)!important}.mt-4{margin-top:var(--space-md)!important}.mt-5{margin-top:var(--space-xl)!important}.ml-1{margin-left:var(--space-2xs)!important}.ml-2{margin-left:var(--space-xs)!important}.ml-3{margin-left:var(--space-sm)!important}.ml-4{margin-left:var(--space-md)!important}.ml-5{margin-left:var(--space-xl)!important}.mr-1{margin-right:var(--space-2xs)!important}.mr-2{margin-right:var(--space-xs)!important}.mr-3{margin-right:var(--space-sm)!important}.mr-4{margin-right:var(--space-md)!important}.mr-5{margin-right:var(--space-xl)!important}.p-1{padding:var(--space-2xs)!important}.p-2{padding:var(--space-xs)!important}.p-3{padding:var(--space-sm)!important}.p-4{padding:var(--space-md)!important}.p-5{padding:var(--space-xl)!important}.pt-1{padding-top:var(--space-2xs)!important}.pt-2{padding-top:var(--space-xs)!important}.pt-3{padding-top:var(--space-sm)!important}.pt-4{padding-top:var(--space-md)!important}.pt-5{padding-top:var(--space-xl)!important}.pb-1{padding-bottom:var(--space-2xs)!important}.pb-2{padding-bottom:var(--space-xs)!important}.pb-3{padding-bottom:var(--space-sm)!important}.pb-4{padding-bottom:var(--space-md)!important}.pb-5{padding-bottom:var(--space-xl)!important}.pl-1{padding-left:var(--space-2xs)!important}.pl-2{padding-left:var(--space-xs)!important}.pl-3{padding-left:var(--space-sm)!important}.pl-4{padding-left:var(--space-md)!important}.pl-5{padding-left:var(--space-xl)!important}.pr-1{padding-right:var(--space-2xs)!important}.pr-2{padding-right:var(--space-xs)!important}.pr-3{padding-right:var(--space-sm)!important}.pr-4{padding-right:var(--space-md)!important}.pr-5{padding-right:var(--space-xl)!important}section{max-width:1200px;padding:var(--space-3xl,6rem) var(--space-lg,2rem);margin:0 auto}.justify-content-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.justify-content-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.row{gap:var(--space-lg,2rem);-ms-flex-wrap:wrap;flex-wrap:wrap;display:-ms-flexbox;display:flex}@media (min-width:768px){.row{gap:var(--space-sm,.5rem)}.card-body .row{gap:0}}.button-row{gap:1rem}.no-wrap{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.d-flex{display:-ms-flexbox;display:flex}.flex-column{-ms-flex-direction:column;flex-direction:column}.align-items-center{-ms-flex-align:center;align-items:center}.work-grid{gap:var(--space-lg,2rem);margin-bottom:var(--space-lg,2rem);grid-template-columns:repeat(auto-fit,minmax(300px,1fr));display:grid}.divider{width:50%;height:var(--space-md,1.5rem);background:var(--accent-coral);border:var(--border-medium,4px) outset var(--earth-dark);margin:0 auto;display:block}.divider.vertical{width:var(--space-2xs,.25rem);background:var(--earth-dark);border-radius:var(--radius-sm);height:100%;margin:0;border:none!important}ul,ol,.card-body ul,.card-body ol,ul.list,ol.list{margin-left:var(--space-lg)!important;padding-left:var(--space-md)!important}.highlight-block{-ms-flex-direction:row;flex-direction:row;-ms-flex-pack:center;justify-content:center;-ms-flex-align:center;align-items:center;display:-ms-flexbox;display:flex}.header-highlight{text-align:center;margin:var(--space-md) auto;padding:var(--space-md);width:100%}nav{z-index:1000;backdrop-filter:blur(24px);filter:url(#lensFilter)saturate(120%)brightness(1.15);border:var(--border-medium,4px) solid var(--earth-brown);padding:var(--space-sm) 2rem;box-shadow:0 8px 24px var(--shadow-heavy);background:rgba(245,241,232,.5);border-radius:50px;position:fixed;top:2rem;left:50%;transform:translate(-50%)}.main-nav{width:fit-content;margin:0 auto;position:sticky;top:2rem;left:0;right:0;transform:none!important}nav ul{-ms-flex-pack:center;justify-content:center;gap:2rem;list-style:none;display:-ms-flexbox;display:flex;margin-left:0!important;padding-left:0!important}nav a{color:var(--text-primary);padding:var(--space-2xs) var(--space-xs,.5rem);border-bottom:none;font-size:.95rem;font-weight:500;text-decoration:none;transition:color .3s}nav a:hover,nav a:focus{color:var(--accent-coral);outline:var(--border-thin) solid var(--accent-coral);outline-offset:2px}nav a.active{color:var(--accent-coral)}nav a.sub-page{outline:var(--border-thin) solid var(--text-secondary);outline-offset:2px}nav a.sub-page:hover{outline-color:var(--accent-coral)}@media (max-width:768px){nav{top:var(--space-sm,1rem)!important;padding:var(--space-xs,.5rem) var(--space-sm,1rem)!important;margin:0 auto!important}nav ul{gap:var(--space-sm,1rem)}}footer{background:var(--earth-dark);color:var(--earth-cream);padding:var(--space-2xl,3rem) var(--space-xl,2rem);margin-top:var(--space-3xl,6rem);border-top:var(--border-extra-thick,8px) solid var(--earth-brown);box-shadow:0 -10px 30px var(--shadow)}.footer-content{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:3rem;max-width:1200px;margin:0 auto;display:grid}.footer-section h3{color:var(--accent-coral);margin-bottom:var(--space-md,1rem);font-family:Playfair Display,serif;font-size:max(1.2rem,min(2vw,1.5rem))}.footer-section h4{margin-bottom:var(--space-md,1rem);font-family:Playfair Display,serif;font-size:max(1.1rem,min(1.25vw,1.125rem));color:rgba(255,255,255,.5)!important}.footer-section p,.footer-section li{color:var(--earth-cream);margin-bottom:var(--space-xs,.5rem);line-height:1.6}.footer-section ul{padding:0;list-style:none}.footer-section li{margin-bottom:var(--space-xs,.5rem)}.footer-bottom{text-align:center;margin-top:var(--space-2xl,3rem);padding-top:var(--space-xl,2rem);border-top:var(--border-medium,4px) solid var(--earth-brown);color:var(--earth-sand)}.footer-bottom p{font-size:var(--font-size-sm);color:var(--earth-cream);margin:0}.footer-section a,.footer-bottom a{color:var(--earth-cream);text-decoration:underline}.footer-section a:hover,.footer-bottom a:hover{color:var(--accent-coral)}.badge{padding:var(--space-2xs,.25rem) var(--space-sm,.75rem);background:var(--earth-sage);color:var(--earth-cream);border:var(--border-thin,2px) solid var(--earth-brown);border-radius:var(--radius-pill);font-size:.85rem;font-weight:600;display:inline-block}.badge-accent{background:var(--accent-coral-dark)}.badge-outline{color:inherit;background:0 0}.badges,.row-badges{gap:var(--space-2xs,.25rem);-ms-flex-wrap:wrap;flex-wrap:wrap;display:-ms-flexbox;display:flex}.btn{padding:var(--space-sm,.75rem) var(--space-lg,1.5rem);font-family:var(--font-family-sans);font-size:var(--font-size-md,1rem);border-radius:var(--radius-md,12px);cursor:pointer;text-align:center;border:none;font-weight:600;text-decoration:none;transition:all .2s;display:inline-block}.btn:hover,.btn:focus{box-shadow:2px 2px 0 var(--earth-brown);transform:translate(2px,2px)}.btn-primary{background:var(--accent-coral-dark);color:var(--white);border:var(--border-medium,4px) solid var(--earth-brown);box-shadow:4px 4px 0 var(--earth-brown)}.btn-primary:hover,.btn-primary:focus{background:var(--accent-coral-dark);color:var(--white)}.btn-secondary{background:var(--earth-cream);color:var(--text-primary);border:var(--border-medium,4px) solid var(--earth-brown);box-shadow:4px 4px 0 var(--earth-sage)}.btn-secondary:hover,.btn-secondary:focus{background:var(--earth-sand);color:var(--text-primary);box-shadow:2px 2px 0 var(--earth-sage);outline:var(--border-thin) solid var(--earth-dark);transform:translate(2px,2px)}.btn-outline{backdrop-filter:blur(24px);filter:url(#lensFilter)saturate(120%)brightness(1.15);color:var(--text-primary)!important;border:var(--border-medium,4px) solid var(--earth-brown)!important;box-shadow:none!important;background:rgba(255,255,255,.5)!important}.btn-outline:hover,.btn-outline:focus{color:var(--earth-cream);text-decoration:underline}.btn-sm{padding:var(--space-xs,.5rem) var(--space-md,1rem)!important;border-width:var(--border-thin)!important;font-size:.9rem!important}.btn-lg{padding:var(--space-md,1rem) var(--space-xl,2rem)!important;font-size:1.1rem!important}.skip-link{background:var(--accent-coral);color:var(--white);padding:var(--space-sm,.75rem) var(--space-lg,1.5rem);border:var(--border-medium,4px) solid var(--earth-brown);z-index:2000;clip:rect(0, 0, 0, 0);font-weight:600;text-decoration:none;position:absolute;top:-100px;left:0;overflow:hidden}.skip-link:focus{clip:auto;top:1rem;left:1rem;overflow:visible}.social-links{-ms-flex-wrap:wrap;flex-wrap:wrap;gap:1rem;display:-ms-flexbox;display:flex}.social-link{padding:var(--space-xs,.5rem) var(--space-md,1rem);background:var(--earth-sage);color:var(--white);border:var(--border-medium,4px) solid var(--earth-sand);border-radius:8px;font-size:.95rem;font-weight:500;transition:all .3s;display:inline-block;text-decoration:none!important}.social-link:hover,.social-link:focus{background:var(--accent-coral);transform:translateY(-2px);color:var(--white)!important}.card,.card-layered,.card-accent,.about-card,.showcase-large{background:var(--earth-cream);border:var(--card-border-width,var(--border-thick,6px)) solid var(--card-border-color,var(--earth-brown));border-radius:var(--radius-xl,20px)}.card-layered,.card-accent,.about-card,.showcase-large{box-shadow:var(--card-shadow-offset,12px) var(--card-shadow-offset,12px) 0 var(--card-shadow-color,var(--earth-sage)), var(--card-shadow-offset,12px) var(--card-shadow-offset,12px) 0 var(--card-shadow-ring-width,5px) var(--earth-brown)}@media (max-width:768px){.about-card,.showcase-large{--card-shadow-offset:6px;--card-shadow-ring-width:4px}}.card{padding:var(--space-lg,1.5rem);box-shadow:8px 8px 0 var(--shadow-heavy);transition:transform .3s,box-shadow .3s}.card:hover{box-shadow:12px 12px 0 var(--shadow-heavy);transform:translateY(-5px)}.card:focus-within{box-shadow:12px 12px 0 var(--shadow-heavy);transform:translateY(-5px)}.card-layered{padding:var(--space-xl,2rem)}.card-shadow{background:var(--earth-cream);border-radius:var(--radius-lg,16px);padding:var(--space-md,1.5rem);box-shadow:10px 10px 0 var(--shadow-heavy);border:none}.card-accent{--card-border-width:var(--border-extra-thick,8px);--card-shadow-offset:16px;--card-shadow-color:var(--accent-coral);--card-shadow-ring-width:6px;overflow:hidden}.card-flex{-ms-flex-direction:column;flex-direction:column;display:-ms-flexbox;display:flex}.card-flex p{-ms-flex:1 0;flex:1 0}.card-with-columns .row{-ms-flex-align:start;align-items:flex-start;gap:var(--space-md,1rem);-ms-flex-item-align:stretch;align-self:stretch;display:-ms-flexbox;display:flex}.card-with-columns .column{-ms-flex:1 0 0;flex:1 0 0;-ms-flex-item-align:stretch;align-self:stretch;-ms-flex-align:start;align-items:flex-start;display:-ms-flexbox;display:flex}.card-header{margin-bottom:var(--space-md,1rem);padding-bottom:var(--space-md,1rem);border-bottom:var(--border-thin,2px) solid var(--earth-sand)}.card-body{margin-bottom:var(--space-md)}.card-body img{object-fit:cover;width:100%}@media (min-width:768px){.img-thumbnail{max-width:50%}}.card-body:last-child{margin-bottom:0}.card-footer{margin-top:var(--space-md,1rem);padding-top:var(--space-md,1rem);border-top:var(--border-thin,2px) solid var(--earth-sand)}.showcase-content{padding:var(--space-lg,2rem)}.showcase-content h3{font-family:var(--font-family-serif);color:var(--text-primary);margin-bottom:var(--space-sm,1rem);font-size:max(1.3rem,min(2.5vw,1.8rem))}.showcase-content p{color:var(--text-secondary);margin-bottom:var(--space-md,1.5rem);font-size:max(.95rem,min(1.5vw,1rem))}.showcase-small{background:var(--earth-sand);border:4px solid var(--earth-brown);border-radius:var(--radius-lg,16px);padding:var(--space-md,1.5rem);box-shadow:6px 6px 0 var(--shadow-heavy);transition:transform .3s}.showcase-small:hover{transform:translateY(-4px)}.showcase-small:focus-within{transform:translateY(-4px)}.showcase-small h4{font-family:var(--font-family-serif);color:var(--text-primary);margin-bottom:var(--space-xs,.5rem);font-size:max(1.1rem,min(2vw,1.3rem))}.showcase-small p{color:var(--text-secondary);font-size:max(.9rem,min(1.5vw,.95rem))}.about-card{padding:var(--space-2xl,3rem);margin:0 auto}@media (max-width:768px){.about-card{padding:var(--space-md,1rem)}.about-grid{grid-template-columns:1fr!important}}.about-card p{color:var(--text-primary);margin-bottom:var(--space-lg,1.5rem);font-size:max(1rem,min(1.5vw,1.1rem));line-height:1.8}.about-card p:last-child{margin-bottom:0}.about-grid{gap:var(--space-xl,2rem);margin-top:var(--space-xl,2rem);grid-template-columns:repeat(auto-fit,minmax(350px,1fr));display:grid}.showcase-large{--card-shadow-color:var(--accent-coral);--card-shadow-ring-width:6px;transition:transform .3s;overflow:hidden}.showcase-large:hover{transform:translateY(-8px)}.showcase-large:focus-within{transform:translateY(-8px)}.showcase-image{background:linear-gradient(135deg, var(--earth-sage) 0%, var(--earth-sand) 100%);width:100%;height:300px;padding:var(--space-md,1rem);font-size:var(--font-size-5xl,3rem);color:var(--earth-cream);border-bottom:var(--border-thick,6px) solid var(--earth-brown);object-fit:contain;-ms-flex-pack:center;justify-content:center;-ms-flex-align:center;align-items:center;display:-ms-flexbox;display:flex}.showcase-image-dark{background:linear-gradient(135deg, var(--black) 0%, var(--earth-dark) 100%)}.small-showcase-cards{gap:var(--space-md,1.5rem);margin-top:var(--space-sm,1rem);grid-column:1/-1;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));display:grid}.callouts-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem;margin-top:2rem;display:grid}.callout{background:var(--earth-cream);border:var(--border-thick,6px) solid var(--accent-coral-dark);border-radius:var(--radius-xl,20px);box-shadow:8px 8px 0 var(--shadow-heavy);-ms-flex-direction:column;flex-direction:column;-ms-flex-pack:justify;justify-content:space-between;-ms-flex-align:end;align-items:flex-end;padding:2rem;transition:transform .3s,box-shadow .3s;display:-ms-flexbox;display:flex;position:relative}.callout:hover{box-shadow:12px 12px 0 var(--shadow-heavy);transform:translateY(-5px)}.callout:focus-within{box-shadow:12px 12px 0 var(--shadow-heavy);transform:translateY(-5px)}.callout:before{content:"\"";font-family:var(--font-family-serif);font-size:var(--font-size-6xl,4rem);color:var(--accent-coral);line-height:1;position:absolute;top:10px;left:20px}.callout-text{margin-bottom:var(--space-md,1.5rem);padding-top:var(--space-sm,1rem);color:var(--text-primary);font-style:italic}.callout-author{color:var(--text-primary);font-weight:600;display:block}.callout-role{font-size:var(--font-size-sm,.9rem);color:var(--text-secondary)}.card-image{background:var(--bg-canvas,#f5f1e8);border-radius:var(--radius-xl,20px);padding:var(--space-lg,1.5rem);border:var(--border-medium,4px) solid var(--border-border,#4a3426);box-shadow:6px 6px 0 0 var(--shadow-light,rgba(45,31,18,.08));-ms-flex-direction:column;flex-direction:column;-ms-flex-align:start;align-items:flex-start;transition:transform .3s,box-shadow .3s;display:-ms-flexbox;display:flex}.card-image .image-top{border-bottom:var(--border-medium) solid var(--border-brown,#4a3426);background:var(--bg-canvas,#f5f1e8);border:var(--border-extra-thick,8px) solid #000;border-radius:var(--radius-lg,16px);box-shadow:0 0 12px var(--shadow-heavy,rgba(45,31,18,.25));margin-bottom:var(--space-xs,.5rem);object-fit:cover;-ms-flex-direction:column;flex-direction:column;-ms-flex-item-align:stretch;align-self:stretch;-ms-flex-align:start;align-items:flex-start;max-height:300px;display:-ms-flexbox;display:flex}.card-image .card-content{padding:var(--space-md) var(--space-xl) var(--space-xl) var(--space-xl);-ms-flex-direction:column;flex-direction:column;-ms-flex-item-align:stretch;align-self:stretch;-ms-flex-align:start;align-items:start;display:-ms-flexbox;display:flex}.card-image>.card-body{-ms-flex-direction:column;flex-direction:column;-ms-flex-pack:justify;justify-content:space-between;-ms-flex-align:start;align-items:flex-start;height:100%;display:-ms-flexbox;display:flex}h3.two-line-header{height:82px;min-height:82px}.gallery{--size:100px;grid-template-columns:repeat(6, var(--size));grid-auto-rows:var(--size);margin-bottom:var(--size);-ms-flex-align:start;align-items:start;justify-items:center;gap:5px;display:grid}.gallery:has(:hover) picture:not(:hover){filter:brightness(.5)contrast(.5)}.gallery:has(:focus) picture:not(:focus){filter:brightness(.5)contrast(.5)}.gallery picture{object-fit:cover;width:calc(var(--size) * 2);height:calc(var(--size) * 2);clip-path:path("M90,10 C100,0 100,0 110,10 190,90 190,90 190,90 200,100 200,100 190,110 190,110 110,190 110,190 100,200 100,200 90,190 90,190 10,110 10,110 0,100 0,100 10,90Z");border-radius:5px;grid-column:auto/span 2;transition:clip-path .25s,filter .75s}.gallery picture:nth-child(5n-1){grid-column:2/span 2}.gallery picture:hover,.gallery picture:focus{clip-path:path("M0,0 C0,0 200,0 200,0 200,0 200,100 200,100 200,100 200,200 200,200 200,200 100,200 100,200 100,200 100,200 0,200 0,200 0,100 0,100 0,100 0,100 0,100Z");z-index:1;transition:clip-path .25s,filter .25s}.gallery picture:focus{outline-offset:-5px;outline:1px dashed #000}.carousel>input{clip:rect(1px, 1px, 1px, 1px);clip-path:inset(50%);width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.carousel>input:nth-of-type(15):checked~.carousel__slides .carousel__slide:first-of-type{margin-left:-1400%}.carousel>input:nth-of-type(14):checked~.carousel__slides .carousel__slide:first-of-type{margin-left:-1300%}.carousel>input:nth-of-type(13):checked~.carousel__slides .carousel__slide:first-of-type{margin-left:-1200%}.carousel>input:nth-of-type(12):checked~.carousel__slides .carousel__slide:first-of-type{margin-left:-1100%}.carousel>input:nth-of-type(11):checked~.carousel__slides .carousel__slide:first-of-type{margin-left:-1000%}.carousel>input:nth-of-type(10):checked~.carousel__slides .carousel__slide:first-of-type{margin-left:-900%}.carousel>input:nth-of-type(9):checked~.carousel__slides .carousel__slide:first-of-type{margin-left:-800%}.carousel>input:nth-of-type(8):checked~.carousel__slides .carousel__slide:first-of-type{margin-left:-700%}.carousel>input:nth-of-type(7):checked~.carousel__slides .carousel__slide:first-of-type{margin-left:-600%}.carousel>input:nth-of-type(6):checked~.carousel__slides .carousel__slide:first-of-type{margin-left:-500%}.carousel>input:nth-of-type(5):checked~.carousel__slides .carousel__slide:first-of-type{margin-left:-400%}.carousel>input:nth-of-type(4):checked~.carousel__slides .carousel__slide:first-of-type{margin-left:-300%}.carousel>input:nth-of-type(3):checked~.carousel__slides .carousel__slide:first-of-type{margin-left:-200%}.carousel>input:nth-of-type(2):checked~.carousel__slides .carousel__slide:first-of-type{margin-left:-100%}.carousel>input:first-of-type:checked~.carousel__slides .carousel__slide:first-of-type{margin-left:0%}.carousel>input:first-of-type:checked~.carousel__thumbnails li:first-of-type,.carousel>input:nth-of-type(2):checked~.carousel__thumbnails li:nth-of-type(2),.carousel>input:nth-of-type(3):checked~.carousel__thumbnails li:nth-of-type(3),.carousel>input:nth-of-type(4):checked~.carousel__thumbnails li:nth-of-type(4),.carousel>input:nth-of-type(5):checked~.carousel__thumbnails li:nth-of-type(5),.carousel>input:nth-of-type(6):checked~.carousel__thumbnails li:nth-of-type(6),.carousel>input:nth-of-type(7):checked~.carousel__thumbnails li:nth-of-type(7),.carousel>input:nth-of-type(8):checked~.carousel__thumbnails li:nth-of-type(8),.carousel>input:nth-of-type(9):checked~.carousel__thumbnails li:nth-of-type(9),.carousel>input:nth-of-type(10):checked~.carousel__thumbnails li:nth-of-type(10),.carousel>input:nth-of-type(11):checked~.carousel__thumbnails li:nth-of-type(11),.carousel>input:nth-of-type(12):checked~.carousel__thumbnails li:nth-of-type(12),.carousel>input:nth-of-type(13):checked~.carousel__thumbnails li:nth-of-type(13),.carousel>input:nth-of-type(14):checked~.carousel__thumbnails li:nth-of-type(14),.carousel>input:nth-of-type(15):checked~.carousel__thumbnails li:nth-of-type(15){box-shadow:0 0 0 5px rgba(0,0,255,.5)}.carousel__slides{z-index:1;white-space:nowrap;box-sizing:border-box;margin:0;padding:0;display:-ms-flexbox;display:flex;position:relative;overflow:hidden}.carousel__slide{vertical-align:top;box-sizing:border-box;white-space:normal;-ms-flex:1 0 100%;flex:1 0 100%;width:100%;height:100%;transition:all .3s ease-out;display:block;position:relative;overflow:hidden}.carousel__slide figure{-ms-flex-direction:column;flex-direction:column;margin:0;display:-ms-flexbox;display:flex}.carousel__slide div{position:relative}.carousel__slide div:before{content:"";width:100%;padding-top:66.6667%;display:block}.carousel__slide div>img{width:100%;height:100%;position:absolute;top:0;bottom:0;left:0;right:0}.carousel__slide div{width:100%}.carousel__slide img{object-fit:cover;-ms-flex:auto;flex:auto;display:block}.carousel__slide figcaption{-ms-flex:none;flex:none;-ms-flex-item-align:center;align-self:center;width:25%;min-width:150px;padding:20px 20px 0}.carousel__slide .credit{color:rgba(0,0,0,.5);margin-top:1rem;display:block}.carousel__slide.scrollable{overflow-y:scroll}.carousel__thumbnails{margin:0 -10px;padding:0;list-style:none;display:-ms-flexbox;display:flex}.carousel__slides+.carousel__thumbnails{margin-top:20px}.carousel__thumbnails li{-ms-flex:auto;flex:auto;max-width:calc(16.6667% - 20px);margin:0 10px;transition:all .3s ease-in-out}.carousel__thumbnails label{display:block;position:relative}.carousel__thumbnails label:before{content:"";width:100%;padding-top:100%;display:block}.carousel__thumbnails label>img{width:100%;height:100%;position:absolute;top:0;bottom:0;left:0;right:0}.carousel__thumbnails label:hover,.carousel__thumbnails label:focus{cursor:pointer}.carousel__thumbnails label:hover img,.carousel__thumbnails label:focus img{transition:all .3s ease-in-out;box-shadow:0 0 0 1px rgba(0,0,0,.25)}.carousel__thumbnails img{object-fit:cover;width:100%;height:100%;display:block}
\ No newline at end of file
+:root{--font-family-sans:"Inter", system-ui, -apple-system, blinkmacsystemfont, "Segoe UI", roboto, "Helvetica Neue", arial, sans-serif;--font-family-serif:"Playfair Display", serif;--font-family-mono:"Fira Code", "Courier New", courier, monospace;--font-family-heading:"Pirata One", cursive;--white:#f0f0f0;--black:#010101;--earth-dark:#2d1f12;--earth-brown:#4a3426;--earth-sage:#5a6b4f;--earth-sand:#c9b89a;--earth-sand-light:#e2d8c8;--earth-cream:#f5f1e8;--accent-coral:#d35f3d;--accent-coral-dark:#b34a2d;--text-primary:#2d1f12;--text-secondary:#4a3426;--text-muted:#6b5d52;--shadow:rgba(45,31,18,.15);--shadow-heavy:rgba(45,31,18,.25);--shadow-light:rgba(45,31,18,.08);--bg-canvas:var(--earth-cream);--border-brown:var(--earth-brown);--font-size-xs:.75rem;--font-size-sm:.875rem;--font-size-md:1rem;--font-size-lg:1.125rem;--font-size-xl:1.25rem;--font-size-2xl:1.5rem;--font-size-3xl:2rem;--font-size-4xl:2.5rem;--font-size-5xl:3rem;--font-size-6xl:4rem;--space-2xs:.25rem;--space-xs:.5rem;--space-sm:.75rem;--space-md:1rem;--space-lg:1.5rem;--space-xl:2rem;--space-2xl:3rem;--space-3xl:6rem;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:20px;--radius-pill:50px;--border-thin:2px;--border-medium:4px;--border-thick:6px;--border-extra-thick:8px}*{box-sizing:border-box;margin:0;padding:0}:focus-visible{outline:var(--border-thin) solid var(--accent-coral);outline-offset:2px}html{scroll-behavior:smooth}body{font-family:var(--font-family-sans);background:linear-gradient(135deg, var(--earth-cream) 0%, #e8dcc8 100%);color:var(--text-primary);min-height:100vh;line-height:1.6;position:relative}html::-webkit-scrollbar{width:16px}::-webkit-scrollbar{width:16px}html::-webkit-scrollbar-thumb{background:linear-gradient(var(--accent-coral-dark), var(--accent-coral));background-clip:content-box;border:2px solid transparent;border-radius:2rem}::-webkit-scrollbar-thumb{background:linear-gradient(var(--accent-coral-dark), var(--accent-coral));background-clip:content-box;border:2px solid transparent;border-radius:2rem}html::-webkit-scrollbar-track{border:1px solid var(--earth-sage);background:0 0;border-radius:2rem;padding:0 2px}::-webkit-scrollbar-track{border:1px solid var(--earth-sage);background:0 0;border-radius:2rem;padding:0 2px}@media (prefers-reduced-motion:reduce){.animated-element{opacity:1;transition:none;animation:none}body{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.display-none,.d-none{display:none!important}.hero{text-align:center;-ms-flex-direction:column;flex-direction:column;-ms-flex-pack:center;justify-content:center;-ms-flex-align:center;align-items:center;max-width:900px;margin:0 auto;padding:6rem 2rem;display:-ms-flexbox;display:flex}.rounded{border-radius:var(--radius-xl,20px)!important}.circle{border-radius:999px!important;padding:1rem!important}.fade-in{opacity:0;visibility:hidden;transition:opacity .5s ease-in,visibility 0s linear .5s}.fade-in.show,.show{opacity:1;visibility:visible;transition-delay:0s}.hide{opacity:0;visibility:hidden;transition:opacity .5s ease-in,visibility 0s linear .5s}.hide-on-screen{display:none!important}@media (max-width:768px){.hero h1{font-size:var(--font-size-5xl,3rem)}.no-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.hide-on-mobile{display:none!important}.work-grid,.callouts-grid{grid-template-columns:1fr}h2{font-size:var(--font-size-3xl,2rem)}}figcaption{font-size:var(--font-size-sm,.875rem);color:var(--text-secondary);text-align:center;font-style:italic;line-height:1.4}.arrows{width:60px;height:72px;margin-left:-30px;position:absolute;bottom:20px;left:50%}.arrows path{stroke:#bfe7fa;fill:transparent;stroke-width:1px;animation:2s infinite arrow}@keyframes arrow{0%{opacity:0}40%{opacity:1}80%{opacity:0}to{opacity:0}}.arrows path.a1{animation-delay:-1s}.arrows path.a2{animation-delay:-.5s}.arrows path.a3{animation-delay:0s}.pirata-one-regular{font-family:Pirata One,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue;font-style:normal;font-weight:400}.inter-400{font-optical-sizing:auto;font-family:Inter,sans-serif;font-style:normal;font-weight:400}.inter-500{font-optical-sizing:auto;font-family:Inter,sans-serif;font-style:normal;font-weight:500}.inter-600{font-optical-sizing:auto;font-family:Inter,sans-serif;font-style:normal;font-weight:600}.inter-700{font-optical-sizing:auto;font-family:Inter,sans-serif;font-style:normal;font-weight:700}.inter-800{font-optical-sizing:auto;font-family:Inter,sans-serif;font-style:normal;font-weight:800}.inter-900{font-optical-sizing:auto;font-family:Inter,sans-serif;font-style:normal;font-weight:900}.playfair-display-400{font-optical-sizing:auto;font-family:Playfair Display,serif;font-style:normal;font-weight:400}.playfair-display-500{font-optical-sizing:auto;font-family:Playfair Display,serif;font-style:normal;font-weight:500}.playfair-display-600{font-optical-sizing:auto;font-family:Playfair Display,serif;font-style:normal;font-weight:600}.playfair-display-700{font-optical-sizing:auto;font-family:Playfair Display,serif;font-style:normal;font-weight:700}.playfair-display-800{font-optical-sizing:auto;font-family:Playfair Display,serif;font-style:normal;font-weight:800}.playfair-display-900{font-optical-sizing:auto;font-family:Playfair Display,serif;font-style:normal;font-weight:900}h1,.text-h1{color:var(--text-primary);letter-spacing:2px;text-shadow:3px 3px 0 var(--accent-coral);font-family:Pirata One,cursive;font-size:max(2.5rem,min(8vw,5rem));line-height:1.2}.text-display{color:var(--text-primary);letter-spacing:2px;text-shadow:3px 3px 0 var(--accent-coral);font-family:Pirata One,cursive;font-size:max(3rem,min(10vw,6rem));line-height:1.1}.hero h1{font-family:var(--font-family-heading);color:var(--text-primary);text-shadow:3px 3px 0 var(--accent-coral);letter-spacing:2px;margin-bottom:1rem;line-height:1.2}h2,.text-h2{color:var(--text-primary);margin-bottom:var(--space-md,1.5rem);font-family:Playfair Display,serif;font-size:max(2rem,min(5vw,3rem));font-weight:700;line-height:1.3}.text-h2.no-underline:after{margin-bottom:var(--space-2xs,.25rem);display:none}h2:after,.text-h2:after{content:"";background:var(--accent-coral);border:3px solid var(--earth-brown);width:100px;height:5px;margin:1rem auto;display:block}h3,.text-h3{color:var(--text-primary);font-family:Playfair Display,serif;font-size:max(1.5rem,min(3vw,2rem));font-weight:600;line-height:1.3}h4,.text-h4{color:var(--text-primary);font-family:Playfair Display,serif;font-size:max(1.25rem,min(2.5vw,1.5rem));font-weight:600;line-height:1.4}h5,.text-h5{color:var(--text-primary);font-family:Inter,sans-serif;font-size:max(1.1rem,min(2vw,1.25rem));font-weight:700;line-height:1.4}h6,.text-h6{color:var(--text-primary);text-transform:uppercase;letter-spacing:.5px;font-family:Inter,sans-serif;font-size:1rem;font-weight:700;line-height:1.4}.text-body-lg{font-size:max(1.1rem,min(1.5vw,1.25rem))!important;line-height:1.7!important}p,.text-body{color:var(--text-primary);padding-bottom:var(--space-xs,.5rem);font-size:max(.95rem,min(1.5vw,1rem));line-height:1.7}p:last-child,.text-body:last-child{margin-bottom:0}.hero p{color:var(--earth-brown);max-width:720px;margin:0 auto;font-size:max(1.1rem,min(2vw,1.25rem))}.card-body p:first-of-type,.card-body .text-body:first-of-type{margin-top:var(--space-md,16px)}.text-body-sm{font-size:max(.85rem,min(1.2vw,.9rem));line-height:1.6}.text-caption{font-size:clamp(var(--space-sm), 1vw, .85rem);color:var(--text-muted);line-height:1.5}.text-callout{color:var(--text-primary);margin:var(--space-lg,1.5rem);padding:var(--space-lg,1.5rem);background:var(--earth-sand-light);border-left:var(--border-medium) solid var(--accent-coral);font-size:max(1rem,min(1.5vw,1.1rem));font-weight:600;line-height:1.6}code,.code{font-family:var(--font-family-mono);font-size:max(.85rem,min(1vw,.9rem))}code.code-inline,.code.code-inline{background:var(--earth-sand);border-radius:var(--radius-sm);padding:.1rem .3rem}.code-block{background:var(--earth-sand);border-radius:var(--radius-md);border:var(--border-thin) solid var(--earth-sage);padding:1rem;font-size:max(.85rem,min(1vw,.9rem));display:block;overflow-x:auto}.text-muted{color:var(--text-muted)}.text-secondary{color:var(--text-secondary)}.text-accent{color:var(--accent-coral)}.text-semibold{font-weight:600}.text-bold{font-weight:700}.text-center{text-align:center}.lead,.text-lead{color:var(--text-secondary);font-size:max(1.1rem,min(2vw,1.35rem));line-height:1.7}a,.link{color:var(--earth-sage);border-bottom:1px solid var(--earth-sage);font-weight:var(--font-weight-semibold,600);text-decoration:none;transition:all .2s}a:hover,a:focus,.link:hover,.link:focus{color:var(--earth-brown);border-bottom-color:var(--earth-brown)}.link-brackets{margin-left:var(--space-md)!important}.link-brackets:after{content:"]";color:var(--earth-sage);margin-left:.2rem;transition:all .2s;position:absolute}.link-brackets:before{content:"[";color:var(--earth-sage);margin-left:-.8rem;transition:all .2s;position:absolute}.link-brackets:hover:after,.link-brackets:hover:before,.link-brackets:focus:after,.link-brackets:focus:before{color:var(--accent-coral)}blockquote,.blockquote{border-left:var(--border-thin) solid var(--earth-brown);padding-left:var(--space-md,1rem);margin:var(--space-lg,1.5rem) 0;color:var(--text-secondary);font-style:italic}.mb-1{margin-bottom:var(--space-2xs)!important}.mb-2{margin-bottom:var(--space-xs)!important}.mb-3{margin-bottom:var(--space-sm)!important}.mb-4{margin-bottom:var(--space-md)!important}.mb-5{margin-bottom:var(--space-xl)!important}.mt-1{margin-top:var(--space-2xs)!important}.mt-2{margin-top:var(--space-xs)!important}.mt-3{margin-top:var(--space-sm)!important}.mt-4{margin-top:var(--space-md)!important}.mt-5{margin-top:var(--space-xl)!important}.ml-1{margin-left:var(--space-2xs)!important}.ml-2{margin-left:var(--space-xs)!important}.ml-3{margin-left:var(--space-sm)!important}.ml-4{margin-left:var(--space-md)!important}.ml-5{margin-left:var(--space-xl)!important}.mr-1{margin-right:var(--space-2xs)!important}.mr-2{margin-right:var(--space-xs)!important}.mr-3{margin-right:var(--space-sm)!important}.mr-4{margin-right:var(--space-md)!important}.mr-5{margin-right:var(--space-xl)!important}.p-1{padding:var(--space-2xs)!important}.p-2{padding:var(--space-xs)!important}.p-3{padding:var(--space-sm)!important}.p-4{padding:var(--space-md)!important}.p-5{padding:var(--space-xl)!important}.pt-1{padding-top:var(--space-2xs)!important}.pt-2{padding-top:var(--space-xs)!important}.pt-3{padding-top:var(--space-sm)!important}.pt-4{padding-top:var(--space-md)!important}.pt-5{padding-top:var(--space-xl)!important}.pb-1{padding-bottom:var(--space-2xs)!important}.pb-2{padding-bottom:var(--space-xs)!important}.pb-3{padding-bottom:var(--space-sm)!important}.pb-4{padding-bottom:var(--space-md)!important}.pb-5{padding-bottom:var(--space-xl)!important}.pl-1{padding-left:var(--space-2xs)!important}.pl-2{padding-left:var(--space-xs)!important}.pl-3{padding-left:var(--space-sm)!important}.pl-4{padding-left:var(--space-md)!important}.pl-5{padding-left:var(--space-xl)!important}.pr-1{padding-right:var(--space-2xs)!important}.pr-2{padding-right:var(--space-xs)!important}.pr-3{padding-right:var(--space-sm)!important}.pr-4{padding-right:var(--space-md)!important}.pr-5{padding-right:var(--space-xl)!important}section{max-width:1200px;padding:var(--space-3xl,6rem) var(--space-lg,2rem);margin:0 auto}.justify-content-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.justify-content-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.row{gap:var(--space-lg,2rem);-ms-flex-wrap:wrap;flex-wrap:wrap;display:-ms-flexbox;display:flex}@media (min-width:768px){.row{gap:var(--space-sm,.5rem)}.card-body .row{gap:0}}.button-row{gap:1rem}.no-wrap{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.d-flex{display:-ms-flexbox;display:flex}.flex-column{-ms-flex-direction:column;flex-direction:column}.align-items-center{-ms-flex-align:center;align-items:center}.work-grid{gap:var(--space-lg,2rem);margin-bottom:var(--space-lg,2rem);grid-template-columns:repeat(auto-fit,minmax(300px,1fr));display:grid}.divider{width:50%;height:var(--space-md,1.5rem);background:var(--accent-coral);border:var(--border-medium,4px) outset var(--earth-dark);margin:0 auto;display:block}.divider.vertical{width:var(--space-2xs,.25rem);background:var(--earth-dark);border-radius:var(--radius-sm);height:100%;margin:0;border:none!important}ul,ol,.card-body ul,.card-body ol,ul.list,ol.list{margin-left:var(--space-lg)!important;padding-left:var(--space-md)!important}.highlight-block{-ms-flex-direction:row;flex-direction:row;-ms-flex-pack:center;justify-content:center;-ms-flex-align:center;align-items:center;display:-ms-flexbox;display:flex}.header-highlight{text-align:center;margin:var(--space-md) auto;padding:var(--space-md);width:100%}nav{z-index:1000;backdrop-filter:blur(24px);filter:url(#lensFilter)saturate(120%)brightness(1.15);border:var(--border-medium,4px) solid var(--earth-brown);padding:var(--space-sm) 2rem;box-shadow:0 8px 24px var(--shadow-heavy);background:rgba(245,241,232,.5);border-radius:50px;position:fixed;top:2rem;left:50%;transform:translate(-50%)}.main-nav{width:fit-content;margin:0 auto;position:sticky;top:2rem;left:0;right:0;transform:none!important}nav ul{-ms-flex-pack:center;justify-content:center;gap:2rem;list-style:none;display:-ms-flexbox;display:flex;margin-left:0!important;padding-left:0!important}nav a{color:var(--text-primary);padding:var(--space-2xs) var(--space-xs,.5rem);border-bottom:none;font-size:.95rem;font-weight:500;text-decoration:none;transition:color .3s}nav a:hover,nav a:focus{color:var(--accent-coral);outline:var(--border-thin) solid var(--accent-coral);outline-offset:2px}nav a.active{color:var(--accent-coral)}nav a.sub-page{outline:var(--border-thin) solid var(--text-secondary);outline-offset:2px}nav a.sub-page:hover{outline-color:var(--accent-coral)}@media (max-width:768px){nav{top:var(--space-sm,1rem)!important;padding:var(--space-xs,.5rem) var(--space-sm,1rem)!important;margin:0 auto!important}nav ul{gap:var(--space-sm,1rem)}}footer{background:var(--earth-dark);color:var(--earth-cream);padding:var(--space-2xl,3rem) var(--space-xl,2rem);margin-top:var(--space-3xl,6rem);border-top:var(--border-extra-thick,8px) solid var(--earth-brown);box-shadow:0 -10px 30px var(--shadow)}.footer-content{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:3rem;max-width:1200px;margin:0 auto;display:grid}.footer-section h3{color:var(--accent-coral);margin-bottom:var(--space-md,1rem);font-family:Playfair Display,serif;font-size:max(1.2rem,min(2vw,1.5rem))}.footer-section h4{margin-bottom:var(--space-md,1rem);font-family:Playfair Display,serif;font-size:max(1.1rem,min(1.25vw,1.125rem));color:rgba(255,255,255,.5)!important}.footer-section p,.footer-section li{color:var(--earth-cream);margin-bottom:var(--space-xs,.5rem);line-height:1.6}.footer-section ul{padding:0;list-style:none}.footer-section li{margin-bottom:var(--space-xs,.5rem)}.footer-bottom{text-align:center;margin-top:var(--space-2xl,3rem);padding-top:var(--space-xl,2rem);border-top:var(--border-medium,4px) solid var(--earth-brown);color:var(--earth-sand)}.footer-bottom p{font-size:var(--font-size-sm);color:var(--earth-cream);margin:0}.footer-section a,.footer-bottom a{color:var(--earth-cream);text-decoration:underline}.footer-section a:hover,.footer-bottom a:hover{color:var(--accent-coral)}.badge{padding:var(--space-2xs,.25rem) var(--space-sm,.75rem);background:var(--earth-sage);color:var(--earth-cream);border:var(--border-thin,2px) solid var(--earth-brown);border-radius:var(--radius-pill);font-size:.85rem;font-weight:600;display:inline-block}.badge-accent{background:var(--accent-coral-dark)}.badge-outline{color:inherit;background:0 0}.badges,.row-badges{gap:var(--space-2xs,.25rem);-ms-flex-wrap:wrap;flex-wrap:wrap;display:-ms-flexbox;display:flex}.btn{padding:var(--space-sm,.75rem) var(--space-lg,1.5rem);font-family:var(--font-family-sans);font-size:var(--font-size-md,1rem);border-radius:var(--radius-md,12px);cursor:pointer;text-align:center;border:none;font-weight:600;text-decoration:none;transition:all .2s;display:inline-block}.btn:hover,.btn:focus{box-shadow:2px 2px 0 var(--earth-brown);transform:translate(2px,2px)}.btn-primary{background:var(--accent-coral-dark);color:var(--white);border:var(--border-medium,4px) solid var(--earth-brown);box-shadow:4px 4px 0 var(--earth-brown)}.btn-primary:hover,.btn-primary:focus{background:var(--accent-coral-dark);color:var(--white)}.btn-secondary{background:var(--earth-cream);color:var(--text-primary);border:var(--border-medium,4px) solid var(--earth-brown);box-shadow:4px 4px 0 var(--earth-sage)}.btn-secondary:hover,.btn-secondary:focus{background:var(--earth-sand);color:var(--text-primary);box-shadow:2px 2px 0 var(--earth-sage);outline:var(--border-thin) solid var(--earth-dark);transform:translate(2px,2px)}.btn-outline{backdrop-filter:blur(24px);filter:url(#lensFilter)saturate(120%)brightness(1.15);color:var(--text-primary)!important;border:var(--border-medium,4px) solid var(--earth-brown)!important;box-shadow:none!important;background:rgba(255,255,255,.5)!important}.btn-outline:hover,.btn-outline:focus{color:var(--earth-cream);text-decoration:underline}.btn-sm{padding:var(--space-xs,.5rem) var(--space-md,1rem)!important;border-width:var(--border-thin)!important;font-size:.9rem!important}.btn-lg{padding:var(--space-md,1rem) var(--space-xl,2rem)!important;font-size:1.1rem!important}.skip-link{background:var(--accent-coral);color:var(--white);padding:var(--space-sm,.75rem) var(--space-lg,1.5rem);border:var(--border-medium,4px) solid var(--earth-brown);z-index:2000;clip-path:inset(50%);font-weight:600;text-decoration:none;position:absolute;top:-100px;left:0;overflow:hidden}.skip-link:focus{clip-path:none;top:1rem;left:1rem;overflow:visible}.social-links{-ms-flex-wrap:wrap;flex-wrap:wrap;gap:1rem;display:-ms-flexbox;display:flex}.social-link{padding:var(--space-xs,.5rem) var(--space-md,1rem);background:var(--earth-sage);color:var(--white);border:var(--border-medium,4px) solid var(--earth-sand);border-radius:8px;font-size:.95rem;font-weight:500;transition:all .3s;display:inline-block;text-decoration:none!important}.social-link:hover,.social-link:focus{background:var(--accent-coral);transform:translateY(-2px);color:var(--white)!important}.card,.card-layered,.card-accent,.about-card,.showcase-large{background:var(--earth-cream);border:var(--card-border-width,var(--border-thick,6px)) solid var(--card-border-color,var(--earth-brown));border-radius:var(--radius-xl,20px)}.card-layered,.card-accent,.about-card,.showcase-large{box-shadow:var(--card-shadow-offset,12px) var(--card-shadow-offset,12px) 0 var(--card-shadow-color,var(--earth-sage)), var(--card-shadow-offset,12px) var(--card-shadow-offset,12px) 0 var(--card-shadow-ring-width,5px) var(--earth-brown)}@media (max-width:768px){.about-card,.showcase-large{--card-shadow-offset:6px;--card-shadow-ring-width:4px}}.card{padding:var(--space-lg,1.5rem);box-shadow:8px 8px 0 var(--shadow-heavy);transition:transform .3s,box-shadow .3s}.card:hover{box-shadow:12px 12px 0 var(--shadow-heavy);transform:translateY(-5px)}.card:focus-within{box-shadow:12px 12px 0 var(--shadow-heavy);transform:translateY(-5px)}.card-layered{padding:var(--space-xl,2rem)}.card-shadow{background:var(--earth-cream);border-radius:var(--radius-lg,16px);padding:var(--space-md,1.5rem);box-shadow:10px 10px 0 var(--shadow-heavy);border:none}.card-accent{--card-border-width:var(--border-extra-thick,8px);--card-shadow-offset:16px;--card-shadow-color:var(--accent-coral);--card-shadow-ring-width:6px;overflow:hidden}.card-flex{-ms-flex-direction:column;flex-direction:column;display:-ms-flexbox;display:flex}.card-flex p{-ms-flex:1 0;flex:1 0}.card-with-columns .row{-ms-flex-align:start;align-items:flex-start;gap:var(--space-md,1rem);-ms-flex-item-align:stretch;align-self:stretch;display:-ms-flexbox;display:flex}.card-with-columns .column{-ms-flex:1 0 0;flex:1 0 0;-ms-flex-item-align:stretch;align-self:stretch;-ms-flex-align:start;align-items:flex-start;display:-ms-flexbox;display:flex}.card-header{margin-bottom:var(--space-md,1rem);padding-bottom:var(--space-md,1rem);border-bottom:var(--border-thin,2px) solid var(--earth-sand)}.card-body{margin-bottom:var(--space-md)}.card-body img{object-fit:cover;width:100%}@media (min-width:768px){.img-thumbnail{max-width:50%}}.card-body:last-child{margin-bottom:0}.card-footer{margin-top:var(--space-md,1rem);padding-top:var(--space-md,1rem);border-top:var(--border-thin,2px) solid var(--earth-sand)}.showcase-content{padding:var(--space-lg,2rem)}.showcase-content h3{font-family:var(--font-family-serif);color:var(--text-primary);margin-bottom:var(--space-sm,1rem);font-size:max(1.3rem,min(2.5vw,1.8rem))}.showcase-content p{color:var(--text-secondary);margin-bottom:var(--space-md,1.5rem);font-size:max(.95rem,min(1.5vw,1rem))}.showcase-small{background:var(--earth-sand);border:4px solid var(--earth-brown);border-radius:var(--radius-lg,16px);padding:var(--space-md,1.5rem);box-shadow:6px 6px 0 var(--shadow-heavy);transition:transform .3s}.showcase-small:hover{transform:translateY(-4px)}.showcase-small:focus-within{transform:translateY(-4px)}.showcase-small h4{font-family:var(--font-family-serif);color:var(--text-primary);margin-bottom:var(--space-xs,.5rem);font-size:max(1.1rem,min(2vw,1.3rem))}.showcase-small p{color:var(--text-secondary);font-size:max(.9rem,min(1.5vw,.95rem))}.about-card{padding:var(--space-2xl,3rem);margin:0 auto}@media (max-width:768px){.about-card{padding:var(--space-md,1rem)}.about-grid{grid-template-columns:1fr!important}}.about-card p{color:var(--text-primary);margin-bottom:var(--space-lg,1.5rem);font-size:max(1rem,min(1.5vw,1.1rem));line-height:1.8}.about-card p:last-child{margin-bottom:0}.about-grid{gap:var(--space-xl,2rem);margin-top:var(--space-xl,2rem);grid-template-columns:repeat(auto-fit,minmax(350px,1fr));display:grid}.showcase-large{--card-shadow-color:var(--accent-coral);--card-shadow-ring-width:6px;transition:transform .3s;overflow:hidden}.showcase-large:hover{transform:translateY(-8px)}.showcase-large:focus-within{transform:translateY(-8px)}.showcase-image{background:linear-gradient(135deg, var(--earth-sage) 0%, var(--earth-sand) 100%);width:100%;height:300px;padding:var(--space-md,1rem);font-size:var(--font-size-5xl,3rem);color:var(--earth-cream);border-bottom:var(--border-thick,6px) solid var(--earth-brown);object-fit:contain;-ms-flex-pack:center;justify-content:center;-ms-flex-align:center;align-items:center;display:-ms-flexbox;display:flex}.showcase-image-dark{background:linear-gradient(135deg, var(--black) 0%, var(--earth-dark) 100%)}.small-showcase-cards{gap:var(--space-md,1.5rem);margin-top:var(--space-sm,1rem);grid-column:1/-1;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));display:grid}.callouts-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem;margin-top:2rem;display:grid}.callout{background:var(--earth-cream);border:var(--border-thick,6px) solid var(--accent-coral-dark);border-radius:var(--radius-xl,20px);box-shadow:8px 8px 0 var(--shadow-heavy);-ms-flex-direction:column;flex-direction:column;-ms-flex-pack:justify;justify-content:space-between;-ms-flex-align:end;align-items:flex-end;padding:2rem;transition:transform .3s,box-shadow .3s;display:-ms-flexbox;display:flex;position:relative}.callout:hover{box-shadow:12px 12px 0 var(--shadow-heavy);transform:translateY(-5px)}.callout:focus-within{box-shadow:12px 12px 0 var(--shadow-heavy);transform:translateY(-5px)}.callout:before{content:"\"";font-family:var(--font-family-serif);font-size:var(--font-size-6xl,4rem);color:var(--accent-coral);line-height:1;position:absolute;top:10px;left:20px}.callout-text{margin-bottom:var(--space-md,1.5rem);padding-top:var(--space-sm,1rem);color:var(--text-primary);font-style:italic}.callout-author{color:var(--text-primary);font-weight:600;display:block}.callout-role{font-size:var(--font-size-sm,.9rem);color:var(--text-secondary)}.card-image{background:var(--bg-canvas,#f5f1e8);border-radius:var(--radius-xl,20px);padding:var(--space-lg,1.5rem);border:var(--border-medium,4px) solid var(--border-border,#4a3426);box-shadow:6px 6px 0 0 var(--shadow-light,rgba(45,31,18,.08));-ms-flex-direction:column;flex-direction:column;-ms-flex-align:start;align-items:flex-start;transition:transform .3s,box-shadow .3s;display:-ms-flexbox;display:flex}.card-image .image-top{border-bottom:var(--border-medium) solid var(--border-brown,#4a3426);background:var(--bg-canvas,#f5f1e8);border:var(--border-extra-thick,8px) solid #000;border-radius:var(--radius-lg,16px);box-shadow:0 0 12px var(--shadow-heavy,rgba(45,31,18,.25));margin-bottom:var(--space-xs,.5rem);object-fit:cover;-ms-flex-direction:column;flex-direction:column;-ms-flex-item-align:stretch;align-self:stretch;-ms-flex-align:start;align-items:flex-start;max-height:300px;display:-ms-flexbox;display:flex}.card-image .card-content{padding:var(--space-md) var(--space-xl) var(--space-xl) var(--space-xl);-ms-flex-direction:column;flex-direction:column;-ms-flex-item-align:stretch;align-self:stretch;-ms-flex-align:start;align-items:start;display:-ms-flexbox;display:flex}.card-image>.card-body{-ms-flex-direction:column;flex-direction:column;-ms-flex-pack:justify;justify-content:space-between;-ms-flex-align:start;align-items:flex-start;height:100%;display:-ms-flexbox;display:flex}h3.two-line-header{height:82px;min-height:82px}.gallery{--size:100px;grid-template-columns:repeat(6, var(--size));grid-auto-rows:var(--size);margin-bottom:var(--size);-ms-flex-align:start;align-items:start;justify-items:center;gap:5px;display:grid}.gallery:has(:hover) picture:not(:hover){filter:brightness(.5)contrast(.5)}.gallery:has(:focus) picture:not(:focus){filter:brightness(.5)contrast(.5)}.gallery picture{object-fit:cover;width:calc(var(--size) * 2);height:calc(var(--size) * 2);clip-path:path("M90,10 C100,0 100,0 110,10 190,90 190,90 190,90 200,100 200,100 190,110 190,110 110,190 110,190 100,200 100,200 90,190 90,190 10,110 10,110 0,100 0,100 10,90Z");border-radius:5px;grid-column:auto/span 2;transition:clip-path .25s,filter .75s}.gallery picture:nth-child(5n-1){grid-column:2/span 2}.gallery picture:hover,.gallery picture:focus{clip-path:path("M0,0 C0,0 200,0 200,0 200,0 200,100 200,100 200,100 200,200 200,200 200,200 100,200 100,200 100,200 100,200 0,200 0,200 0,100 0,100 0,100 0,100 0,100Z");z-index:1;transition:clip-path .25s,filter .25s}.gallery picture:focus{outline-offset:-5px;outline:1px dashed #000}.carousel>input{clip:rect(1px, 1px, 1px, 1px);clip-path:inset(50%);width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.carousel>input:first-of-type:checked~.carousel__slides .carousel__slide:first-of-type{margin-left:0%}.carousel>input:nth-of-type(2):checked~.carousel__slides .carousel__slide:first-of-type{margin-left:-100%}.carousel>input:nth-of-type(3):checked~.carousel__slides .carousel__slide:first-of-type{margin-left:-200%}.carousel>input:nth-of-type(4):checked~.carousel__slides .carousel__slide:first-of-type{margin-left:-300%}.carousel>input:nth-of-type(5):checked~.carousel__slides .carousel__slide:first-of-type{margin-left:-400%}.carousel>input:nth-of-type(6):checked~.carousel__slides .carousel__slide:first-of-type{margin-left:-500%}.carousel>input:nth-of-type(7):checked~.carousel__slides .carousel__slide:first-of-type{margin-left:-600%}.carousel>input:nth-of-type(8):checked~.carousel__slides .carousel__slide:first-of-type{margin-left:-700%}.carousel>input:nth-of-type(9):checked~.carousel__slides .carousel__slide:first-of-type{margin-left:-800%}.carousel>input:nth-of-type(10):checked~.carousel__slides .carousel__slide:first-of-type{margin-left:-900%}.carousel>input:nth-of-type(11):checked~.carousel__slides .carousel__slide:first-of-type{margin-left:-1000%}.carousel>input:nth-of-type(12):checked~.carousel__slides .carousel__slide:first-of-type{margin-left:-1100%}.carousel>input:nth-of-type(13):checked~.carousel__slides .carousel__slide:first-of-type{margin-left:-1200%}.carousel>input:nth-of-type(14):checked~.carousel__slides .carousel__slide:first-of-type{margin-left:-1300%}.carousel>input:nth-of-type(15):checked~.carousel__slides .carousel__slide:first-of-type{margin-left:-1400%}.carousel>input:first-of-type:checked~.carousel__thumbnails li:first-of-type,.carousel>input:nth-of-type(2):checked~.carousel__thumbnails li:nth-of-type(2),.carousel>input:nth-of-type(3):checked~.carousel__thumbnails li:nth-of-type(3),.carousel>input:nth-of-type(4):checked~.carousel__thumbnails li:nth-of-type(4),.carousel>input:nth-of-type(5):checked~.carousel__thumbnails li:nth-of-type(5),.carousel>input:nth-of-type(6):checked~.carousel__thumbnails li:nth-of-type(6),.carousel>input:nth-of-type(7):checked~.carousel__thumbnails li:nth-of-type(7),.carousel>input:nth-of-type(8):checked~.carousel__thumbnails li:nth-of-type(8),.carousel>input:nth-of-type(9):checked~.carousel__thumbnails li:nth-of-type(9),.carousel>input:nth-of-type(10):checked~.carousel__thumbnails li:nth-of-type(10),.carousel>input:nth-of-type(11):checked~.carousel__thumbnails li:nth-of-type(11),.carousel>input:nth-of-type(12):checked~.carousel__thumbnails li:nth-of-type(12),.carousel>input:nth-of-type(13):checked~.carousel__thumbnails li:nth-of-type(13),.carousel>input:nth-of-type(14):checked~.carousel__thumbnails li:nth-of-type(14),.carousel>input:nth-of-type(15):checked~.carousel__thumbnails li:nth-of-type(15){box-shadow:0 0 0 5px rgba(0,0,255,.5)}.carousel__slides{z-index:1;white-space:nowrap;box-sizing:border-box;margin:0;padding:0;display:-ms-flexbox;display:flex;position:relative;overflow:hidden}.carousel__slide{vertical-align:top;box-sizing:border-box;white-space:normal;-ms-flex:1 0 100%;flex:1 0 100%;width:100%;height:100%;transition:all .3s ease-out;display:block;position:relative;overflow:hidden}.carousel__slide figure{-ms-flex-direction:column;flex-direction:column;margin:0;display:-ms-flexbox;display:flex}.carousel__slide div{position:relative}.carousel__slide div:before{content:"";width:100%;padding-top:66.6667%;display:block}.carousel__slide div>img{width:100%;height:100%;position:absolute;top:0;bottom:0;left:0;right:0}.carousel__slide div{width:100%}.carousel__slide img{object-fit:cover;-ms-flex:auto;flex:auto;display:block}.carousel__slide figcaption{-ms-flex:none;flex:none;-ms-flex-item-align:center;align-self:center;width:25%;min-width:150px;padding:20px 20px 0}.carousel__slide .credit{color:rgba(0,0,0,.5);margin-top:1rem;display:block}.carousel__slide.scrollable{overflow-y:scroll}.carousel__thumbnails{margin:0 -10px;padding:0;list-style:none;display:-ms-flexbox;display:flex}.carousel__slides+.carousel__thumbnails{margin-top:20px}.carousel__thumbnails li{-ms-flex:auto;flex:auto;max-width:calc(16.6667% - 20px);margin:0 10px;transition:all .3s ease-in-out}.carousel__thumbnails label{display:block;position:relative}.carousel__thumbnails label:before{content:"";width:100%;padding-top:100%;display:block}.carousel__thumbnails label>img{width:100%;height:100%;position:absolute;top:0;bottom:0;left:0;right:0}.carousel__thumbnails label:hover,.carousel__thumbnails label:focus{cursor:pointer}.carousel__thumbnails label:hover img,.carousel__thumbnails label:focus img{transition:all .3s ease-in-out;box-shadow:0 0 0 1px rgba(0,0,0,.25)}.carousel__thumbnails img{object-fit:cover;width:100%;height:100%;display:block}
\ No newline at end of file
diff --git a/docs/sitemap.xml b/docs/sitemap.xml
index 537373de..c574acb1 100644
--- a/docs/sitemap.xml
+++ b/docs/sitemap.xml
@@ -3,17 +3,17 @@
https://www.adamjolicoeur.com/development/code/
- 2025-03-15T19:44:39.000Z
+ 2025-04-09T19:34:53.000Z
https://www.adamjolicoeur.com/development/examples/
- 2025-03-15T19:44:39.000Z
+ 2025-04-09T19:34:53.000Z
https://www.adamjolicoeur.com/development/prototypes/
- 2025-03-15T19:44:39.000Z
+ 2025-04-09T19:34:53.000Z
@@ -167,33 +167,33 @@
- https://www.adamjolicoeur.com/credits/credits/
+ https://www.adamjolicoeur.com/credits/open-source/
2026-05-27T16:02:20.000Z
- https://www.adamjolicoeur.com/credits/open-source/
- 2026-05-27T16:02:20.000Z
+ https://www.adamjolicoeur.com/credits/credits/
+ 2026-06-28T13:32:00.000Z
https://www.adamjolicoeur.com/404.html
- 2026-06-28T13:02:05.479Z
+ 2026-06-28T19:43:02.809Z
https://www.adamjolicoeur.com/
- 2026-06-28T13:02:06.428Z
+ 2026-06-28T19:43:03.754Z
https://www.adamjolicoeur.com/archives/town-selectman.html
- 2026-06-28T13:02:06.436Z
+ 2026-06-28T19:43:03.761Z
https://www.adamjolicoeur.com/reference/
- 2026-06-28T13:02:06.445Z
+ 2026-06-28T19:43:03.769Z
diff --git a/docs/sw.js b/docs/sw.js
index c27f6c44..aa3ae20b 100755
--- a/docs/sw.js
+++ b/docs/sw.js
@@ -55,4 +55,4 @@ const updateName = async (event) => {
await self.widgets.updateByInstanceId(event.instanceId, payload);
}
-workbox.precaching.precacheAndRoute([{"revision":"174183e900e3d4c365584b2298abdf38","url":"sitemap.xml"},{"revision":"68b329da9893e34099c7d8ad5cb9c940","url":"robots.txt"},{"revision":"bf1b1eafbf32cd649582c296e3c1e410","url":"keybase.txt"},{"revision":"04e480f115c0ed31cb416611be4d51f0","url":"index.html"},{"revision":"b9f35d5aa796c926f5f83735569af340","url":"icon-512.png"},{"revision":"80f557e066b1bf1cf6b4024dc7d8c196","url":"icon-32.png"},{"revision":"9c0c1ba1a9b18361b13951c04d9f0601","url":"icon-192.png"},{"revision":"f86e8f687b00070596c88e22c3cf0d89","url":"icon-180.png"},{"revision":"2a0efdd4e7d1c56fac653dacb258ab94","url":"icon-16.png"},{"revision":"f3c974f5cf7ce654dec9b07bba5e5d29","url":"cache-polyfill.js"},{"revision":"5e770c9f96c102f5ee78d6221ee4bb37","url":"android-launchericon-72-72.png"},{"revision":"6e2fcb738c641cf953675fa6c4a606d6","url":"404.html"},{"revision":"ccf2159f562d8303148a7342cedc10c5","url":"year-in-review/2025/index.html"},{"revision":"0f2229e267997ed77dff87c8074b15cf","url":"uses/index.html"},{"revision":"a928103cd18c0e7b40071f882caa0af8","url":"sass/style.css"},{"revision":"669d49df2d6df8154fe2c6387c8931d5","url":"sass/slides.css"},{"revision":"332dfc6843ef01d55b0495da18172305","url":"sass/prism.css"},{"revision":"f6d02b1f173059e19875104e40aced77","url":"sass/print.css"},{"revision":"0474ac8abc69e4049c8aeabcf1ea2a8b","url":"sass/markdown.css"},{"revision":"7fb2629ca8999899d1fb5c39efcb661b","url":"sass/containers.css"},{"revision":"a1a9522fb230f7d345a5ca469817aa40","url":"reference/index.html"},{"revision":"d4a8a286699dcc9d5946756b052677af","url":"presentations/index.html"},{"revision":"b98937210c95e0c77bb5d994b5045f77","url":"presentations/portfolio/index.html"},{"revision":"15b21d17d06aaff6a142201053307f3b","url":"presentations/color-picker/index.html"},{"revision":"c7c778e11ee4573bc63f7eb719fbaff7","url":"portfolio/index.html"},{"revision":"9b48518e883f72c162cbd05bae30f3a0","url":"js/prism.js"},{"revision":"5ec8925b1046f3fdf33cd12241668261","url":"development/index.html"},{"revision":"5a4d868f553fec95d7b3e01609e6381d","url":"development/timetracker/index.html"},{"revision":"bb14de9d21a0e02206d6482068d3050c","url":"development/prototypes/index.html"},{"revision":"56ccf9fd2ba8fdd57301930e740a6ec2","url":"development/examples/index.html"},{"revision":"db27c81ef432ae9bbe238fc9e6bbe4c1","url":"development/code/index.html"},{"revision":"089668c82443af99d9a4191a88bb7c2a","url":"development/archparser/index.html"},{"revision":"fd6d3efd9c8a286ce622092ee41de8cf","url":"designs/task-it/index.html"},{"revision":"5adfc983a9b001a6dba29c41c8afe809","url":"designs/dashboard-analytics/index.html"},{"revision":"e0327bb561128b4cc3f41006b54b85ea","url":"designs/customer-engagement/index.html"},{"revision":"5b4554417a5aa0ba9c2bb6b3259906d1","url":"designs/component-library/index.html"},{"revision":"9f0825a669ee2a858cd1e498c77116fc","url":"designs/alm/index.html"},{"revision":"14650fc4cd6d161c359eac4250632298","url":"css/style.css"},{"revision":"dba19d6042f3a7d77ff774ed6d14525c","url":"css/slides.css"},{"revision":"ab47bf02c43117c1eddcb5b320071e39","url":"css/prism.css"},{"revision":"e5d2e980a0e99296fc58c34e5cfc7c61","url":"css/print.css"},{"revision":"076e4a616ba834aa93a8a4e897e5bb68","url":"css/markdown.css"},{"revision":"63ee6a95454eda7d79d88e7084f0654d","url":"css/containers.css"},{"revision":"69301d6301f273bcc57f779c57786046","url":"credits/open-source/index.html"},{"revision":"82a54c23ed9be40f72c4912a5963fa41","url":"credits/credits/index.html"},{"revision":"7f78196c41123b095a94fdee54235a56","url":"case-studies/index.html"},{"revision":"fba2c1ced998365d36abae78a603a1ef","url":"case-studies/soccertracker/index.html"},{"revision":"298f0371a7ca64d9107bf93b9ddda387","url":"case-studies/color-picker/index.html"},{"revision":"a554edd15479158c1f6fc332554ac5f6","url":"assets/img/timetracker-weekly-report.webp"},{"revision":"5b7c2c048cba923e77dec9b988d1374c","url":"assets/img/timetracker-weekly-report-thumb.webp"},{"revision":"fb7a81d32639c2b6ab48b48e90e591bd","url":"assets/img/timetracker-tone-standup.webp"},{"revision":"8fa00dfde111924a2f80235b53e9d5d5","url":"assets/img/timetracker-tone-standup-thumb.webp"},{"revision":"186617d749caeba721de5e4c2fe80b8b","url":"assets/img/timetracker-tone-retro.webp"},{"revision":"b415eb31a528752e093316ee60b7bd41","url":"assets/img/timetracker-tone-retro-thumb.webp"},{"revision":"0db80338a4503475f311347f1d04bd81","url":"assets/img/timetracker-tone-client.webp"},{"revision":"94c33e1e68c31c2725047f8271d15410","url":"assets/img/timetracker-tone-client-thumb.webp"},{"revision":"1bd4b9ae567252a9e0a14430a4d4ffdb","url":"assets/img/timetracker-start.webp"},{"revision":"d0e7c57d7178ed02d485cf174e11885b","url":"assets/img/timetracker-start-thumb.webp"},{"revision":"c4b5f323d98a3a5631834c98cb2f6e66","url":"assets/img/timetracker-loading-state.webp"},{"revision":"2f319a319aeb5b78f7c273b444c93183","url":"assets/img/timetracker-loading-state-thumb.webp"},{"revision":"16d202459315a8949bd3712fc083a0d2","url":"assets/img/timetracker-loading-state-screen.webp"},{"revision":"7f749352f5788e8d5531c3936b4db0a8","url":"assets/img/timetracker-loading-state-screen-thumb.webp"},{"revision":"66e242f202c124d0125e72afd0604207","url":"assets/img/timetracker-generated-summary.webp"},{"revision":"2fa7960fe260de1712231f8e91e53f86","url":"assets/img/timetracker-generated-summary-thumb.webp"},{"revision":"7a2354bd990f20478981c6f09a529a04","url":"assets/img/thumbnail_RHDM.webp"},{"revision":"47342aff1a249a2e0ebd6725afbb0e02","url":"assets/img/thumbnail_RHDM-thumb.webp"},{"revision":"e911ae355cc243ed420785f5651696a2","url":"assets/img/thumbnail_PatternFly.webp"},{"revision":"74695c97d44769fac58ab96168ceac61","url":"assets/img/thumbnail_PatternFly-thumb.webp"},{"revision":"97958dfa36296de585d2ecd3b49ececa","url":"assets/img/theproxyguy-membership-card-patreon.webp"},{"revision":"1e2cc81056f7bfc062627b62f41ac8d6","url":"assets/img/theproxyguy-membership-card-patreon-thumb.webp"},{"revision":"742457e5f67c034b1521b207ba61dce7","url":"assets/img/taskstat-screenshot-settings.webp"},{"revision":"3363ddffb5099f18c626280e28ad284f","url":"assets/img/taskstat-screenshot-settings-thumb.webp"},{"revision":"836b22b2563cf3aaf4a482da8ab093f6","url":"assets/img/taskstat-screenshot-list.webp"},{"revision":"595d608dfc592687d2bab469bc72f0fa","url":"assets/img/taskstat-screenshot-list-thumb.webp"},{"revision":"69d522ab71e7564c1a9a2e8156c023d5","url":"assets/img/taskstat-screenshot-details.webp"},{"revision":"bd68672fa475f6f2b0337416877f0077","url":"assets/img/taskstat-screenshot-details-thumb.webp"},{"revision":"8ccc64badd6e5d58fdd6e98ac1bc8ca4","url":"assets/img/taskstat-screenshot-dashboard.webp"},{"revision":"feee9cb3200de55412cd90d09d4cc758","url":"assets/img/taskstat-screenshot-dashboard-thumb.webp"},{"revision":"aab85ddf44ffa3e3226fda20f012eec0","url":"assets/img/task-it_user-survey.webp"},{"revision":"5831c18645ae169a7f81f2f8684f3eba","url":"assets/img/task-it_user-survey-thumb.webp"},{"revision":"25b1e84cbe6385caed8a720162dcbbb4","url":"assets/img/task-it_user-states.webp"},{"revision":"90cc88a7ca02603455d35e3b73ef376d","url":"assets/img/task-it_user-states-thumb.webp"},{"revision":"12955eaedbaa4ded12204a07a4ca088e","url":"assets/img/task-it_user-flow.webp"},{"revision":"0cbc1998385fd7c0375cc68eb268fb8f","url":"assets/img/task-it_user-flow-thumb.webp"},{"revision":"f1fc93ce0624c46efa82e8edd442ac6a","url":"assets/img/task-it_task-details_wireframe.webp"},{"revision":"b7626c38be2437a240927c2feb7e1d14","url":"assets/img/task-it_task-details_wireframe-thumb.webp"},{"revision":"97ff6a1f881c0f106c4b45eca3a3f18e","url":"assets/img/task-it_task-details_mockup4.webp"},{"revision":"e9798f70d424a29655c0ec577829eae2","url":"assets/img/task-it_task-details_mockup4-thumb.webp"},{"revision":"e83acfeb83e57f1fceefb1b0b6ea7389","url":"assets/img/task-it_task-details_mockup3.webp"},{"revision":"0edb4e930a93395291b7a7d074b9e05d","url":"assets/img/task-it_task-details_mockup3-thumb.webp"},{"revision":"cdb7226d2bfe4832c23bb783559cb162","url":"assets/img/task-it_task-details_mockup2.webp"},{"revision":"97d3fde7c23c4a7cfc6fd9b4ee21fe4f","url":"assets/img/task-it_task-details_mockup2-thumb.webp"},{"revision":"b728f2cc6553d903f704ff37f5ebd45c","url":"assets/img/task-it_task-details_mockup1.webp"},{"revision":"ce3835098ca55aae0c99f2d212bbee75","url":"assets/img/task-it_task-details_mockup1-thumb.webp"},{"revision":"54df988b366f417aee52ca54d81bf473","url":"assets/img/task-it_product.webp"},{"revision":"2788e0046c3a081e22211da021589c70","url":"assets/img/task-it_product-thumb.webp"},{"revision":"06d9bd55302bfdd80073d802c42be242","url":"assets/img/task-it_intro.webp"},{"revision":"459407b7b5a0c8943c16c4eb3bb6a028","url":"assets/img/task-it_intro-thumb.webp"},{"revision":"25f0caf6a27b65ecce597b98d1a5109f","url":"assets/img/task-it_flow-success.webp"},{"revision":"38091038a3c886f6b9f80bc75940ce7c","url":"assets/img/task-it_flow-success-thumb.webp"},{"revision":"fd5ee4dcd504bb92110c34dd175d6aa8","url":"assets/img/task-it_flow-errors-general.webp"},{"revision":"ea9f700c458a1c4cdaf4ad4c70671bdd","url":"assets/img/task-it_flow-errors-general-thumb.webp"},{"revision":"c724ef6cd473b10f6e2f00996c6149bf","url":"assets/img/task-it_flow-errors-forms.webp"},{"revision":"9afe61286c92642c72773f6ce3fd8da2","url":"assets/img/task-it_flow-errors-forms-thumb.webp"},{"revision":"ce482c2f227787404d86e8c37f5803e2","url":"assets/img/social_template.webp"},{"revision":"0c98b2cd208d6390a9ad843957098712","url":"assets/img/social_template-thumb.webp"},{"revision":"39cb862b3953c9db7f64c49acfad1e46","url":"assets/img/soccergametracker-substitutionsummary.webp"},{"revision":"24a3bec19ed92ed363528f23701e402c","url":"assets/img/soccergametracker-substitutionsummary-thumb.webp"},{"revision":"1062a8fc9f7233e6136ee84a037f8923","url":"assets/img/soccergametracker-substituteprompt.webp"},{"revision":"7e406b49d2d3143b36a87c92a46d4ffa","url":"assets/img/soccergametracker-substituteprompt-thumb.webp"},{"revision":"093aafb1e94ec1ccb979f679766a0009","url":"assets/img/soccergametracker-startgame.webp"},{"revision":"22b5d1acfa6b7ec0aa1b09f14bf93c12","url":"assets/img/soccergametracker-startgame-thumb.webp"},{"revision":"ea2b8854f559794298c1636af1dd4d7c","url":"assets/img/soccergametracker-secondhalfsummary.webp"},{"revision":"270e4c35b63d882676b82672a5eab885","url":"assets/img/soccergametracker-secondhalfsummary-thumb.webp"},{"revision":"25c8ca9c2bee8dd71ef1e72c19de691e","url":"assets/img/soccergametracker-roster.webp"},{"revision":"408ed6668c1bc9ad201d3a3f2781758f","url":"assets/img/soccergametracker-roster-thumb.webp"},{"revision":"2fa5770b304caf498a5ec92ea5892370","url":"assets/img/soccergametracker-playerstats02.webp"},{"revision":"fd1ace0059ef6838741333ffad80bbed","url":"assets/img/soccergametracker-playerstats02-thumb.webp"},{"revision":"5bef776a1763e1b2a35468d7244bf85b","url":"assets/img/soccergametracker-playerstats01.webp"},{"revision":"f6e2c461686b7bc3967f2db107657bcb","url":"assets/img/soccergametracker-playerstats01-thumb.webp"},{"revision":"0f592694c112a2da0b9294fc1c1e0e3d","url":"assets/img/soccergametracker-phone-summary.webp"},{"revision":"82f4ae2c74a198dfc252164b8b398f3d","url":"assets/img/soccergametracker-phone-summary-thumb.webp"},{"revision":"b192123e7df641faed582dac33dcc15c","url":"assets/img/soccergametracker-phone-subs-03.webp"},{"revision":"c3dce3bbb41f6eab0ef8340129672ea0","url":"assets/img/soccergametracker-phone-subs-03-thumb.webp"},{"revision":"a5e457ebfe9ce6bb43822edd0c78d891","url":"assets/img/soccergametracker-phone-subs-02.webp"},{"revision":"3364ae4674fad6666af387a09b1af08f","url":"assets/img/soccergametracker-phone-subs-02-thumb.webp"},{"revision":"56fcf131f4f797a76871e58484fe84c0","url":"assets/img/soccergametracker-phone-subs-01.webp"},{"revision":"3f38d866ff6075a0480b0c8d81e7c1e8","url":"assets/img/soccergametracker-phone-subs-01-thumb.webp"},{"revision":"d5b8eae6fe93c90dce4149a7945a4961","url":"assets/img/soccergametracker-phone-rosters.webp"},{"revision":"b483fb5a6f3558fa9583b4c1b07f7767","url":"assets/img/soccergametracker-phone-rosters-thumb.webp"},{"revision":"a2717bd9761b76970fff72ba016f027e","url":"assets/img/soccergametracker-phone-newgame.webp"},{"revision":"5c00a07dc4e0613b4c48c684b0a093f1","url":"assets/img/soccergametracker-phone-newgame-thumb.webp"},{"revision":"12feaa0afc8d5983363238a2cbd429dc","url":"assets/img/soccergametracker-phone-livegame.webp"},{"revision":"77ca192ff880f54ed50f5ae97a046e78","url":"assets/img/soccergametracker-phone-livegame-thumb.webp"},{"revision":"40699182f9c81bb8386976d8329d8738","url":"assets/img/soccergametracker-phone-history.webp"},{"revision":"12db7bf6ea3b5f148645b2f932c87c63","url":"assets/img/soccergametracker-phone-history-thumb.webp"},{"revision":"ccc26d62fb6e0df9ebeeb73bc3f15579","url":"assets/img/soccergametracker-phone-history-details.webp"},{"revision":"58cfb8900e6671fb0154ed013cf95e85","url":"assets/img/soccergametracker-phone-history-details-thumb.webp"},{"revision":"f28e5b095d2eb9b265ee54b31d398083","url":"assets/img/soccergametracker-newgame.webp"},{"revision":"122b9610e9b57eaaaa52e1075321e003","url":"assets/img/soccergametracker-newgame-thumb.webp"},{"revision":"d47f758d002e1e05ef66763b2df7de61","url":"assets/img/soccergametracker-history02.webp"},{"revision":"b62eccdf42e39465a1536a81f26aa1fe","url":"assets/img/soccergametracker-history02-thumb.webp"},{"revision":"048799ab588b26da5ff8cfe0c6ebb468","url":"assets/img/soccergametracker-history.webp"},{"revision":"18a00b82f95f6ecfefda45435686c761","url":"assets/img/soccergametracker-history-thumb.webp"},{"revision":"21614ffe3988ed4b5a79f0daf4ee9f9e","url":"assets/img/soccergametracker-halftime.webp"},{"revision":"585f4736958a32fa6ace9565396d0cb8","url":"assets/img/soccergametracker-halftime-thumb.webp"},{"revision":"6f110f50359959a7ed3c032b75aa2aaf","url":"assets/img/soccergametracker-goalassignment.webp"},{"revision":"e5de355ebc7aa7d6ef570322a53b881e","url":"assets/img/soccergametracker-goalassignment-thumb.webp"},{"revision":"aed3dc0e2cf301bbb77daec6a24bd8d2","url":"assets/img/soccergametracker-gamedetails.webp"},{"revision":"cdb8c6f6852a66417d5e6e06052d95d3","url":"assets/img/soccergametracker-gamedetails-thumb.webp"},{"revision":"cb88f26757bb9a7a7b44062bf3dafab4","url":"assets/img/soccergametracker-firsthalfsummary.webp"},{"revision":"f6f5bb02dc1a1ac6e7329b3b0da003d9","url":"assets/img/soccergametracker-firsthalfsummary-thumb.webp"},{"revision":"bd864aad3a649b36516aed3a929a2fff","url":"assets/img/soccergametracker-endgame.webp"},{"revision":"8dce5d6f9384f28cc0b32bea7cd39443","url":"assets/img/soccergametracker-endgame-thumb.webp"},{"revision":"55ccb2c5bf71dc7e72247b77028caed4","url":"assets/img/soccergametracker-addnewplayer.webp"},{"revision":"5d5c29af73e634aa6cce276dd3b19bea","url":"assets/img/soccergametracker-addnewplayer-thumb.webp"},{"revision":"9f8cfe9c2be3b7f730b05635c6c50246","url":"assets/img/soccergametracker- ingamesummary.webp"},{"revision":"682b5f90dc56d88c62ae532788d4b31f","url":"assets/img/soccergametracker- ingamesummary-thumb.webp"},{"revision":"df76a4fc60a02b85fa69c5db1017ae96","url":"assets/img/screenshot-try_openshift.webp"},{"revision":"73a3a039a2c095b12c26d96af2f70b4b","url":"assets/img/screenshot-try_openshift-thumb.webp"},{"revision":"15533d48a081b5b957608fdf4d3fae92","url":"assets/img/screenshot-patternflyorg.webp"},{"revision":"e4dc17adf226adfe1db4a1362c6c6c53","url":"assets/img/screenshot-patternflyorg-thumb.webp"},{"revision":"196d0c092863bad1fff8fcac8c1a124c","url":"assets/img/screenshot-kubevirtio2.webp"},{"revision":"9d89247c1e21c4083db0daa00b7274ff","url":"assets/img/screenshot-kubevirtio2-thumb.webp"},{"revision":"8ad6fd8ff89213ce25f83a7a74c71400","url":"assets/img/screenshot-kubevirtio.webp"},{"revision":"03991435c0de2418b5aa7968a84016cb","url":"assets/img/screenshot-kubevirtio-thumb.webp"},{"revision":"df400a9363d70f03611c7d501010088f","url":"assets/img/screenshot-kubevirtio-mobile.webp"},{"revision":"538604c6ef6f0accd6e54728006b3eb0","url":"assets/img/screenshot-kubevirtio-mobile-thumb.webp"},{"revision":"92fa09a9c79e9267d761be12cc9bbf52","url":"assets/img/rh_integration.webp"},{"revision":"90a27e33062e0d0ae811814da8b996d0","url":"assets/img/rh_integration-thumb.webp"},{"revision":"7570bb5ca79951ef7ef8ba78a5c8371d","url":"assets/img/portfolio8.webp"},{"revision":"6be552369711e2cb858465265f161592","url":"assets/img/portfolio8-thumb.webp"},{"revision":"43336abb4d4a111e13052f45cbcdc1e0","url":"assets/img/portfolio7.webp"},{"revision":"d7bbd36092287ab08c1da094487e02f2","url":"assets/img/portfolio7-thumb.webp"},{"revision":"11c183180cce749fb0069f1964f4c021","url":"assets/img/portfolio6.webp"},{"revision":"49eebfe17360ab09ab97dc886d4c5e1c","url":"assets/img/portfolio6-thumb.webp"},{"revision":"0a30bba10c0abbf914592a105836350c","url":"assets/img/portfolio5.webp"},{"revision":"5f731fe83e2d5789b61e5dd1e79ece49","url":"assets/img/portfolio5-thumb.webp"},{"revision":"32f36e70b31b1834fc8f3a80719a95bd","url":"assets/img/portfolio4.webp"},{"revision":"d1eaaafd7ed0064f8e6c0e31c08955e0","url":"assets/img/portfolio4-thumb.webp"},{"revision":"846ac04a48788cf36d7f6634fa59d333","url":"assets/img/portfolio3.webp"},{"revision":"5eb23594433b04ea12eddc05b77de9fd","url":"assets/img/portfolio3-thumb.webp"},{"revision":"c29889f4fca47323eb4a8e65de22b259","url":"assets/img/portfolio2.webp"},{"revision":"3032bb55a2ec5f0dced98db8cfa0230f","url":"assets/img/portfolio2-thumb.webp"},{"revision":"f5a3d9d03f57a409426499565020a41b","url":"assets/img/portfolio2-5.webp"},{"revision":"8ae0dd2774339b0020f37d6bf0cb7596","url":"assets/img/portfolio2-5-thumb.webp"},{"revision":"f256eded7782da157ed156600772cf26","url":"assets/img/portfolio14.webp"},{"revision":"2b3ffee9232c49c80e863a97387b9d08","url":"assets/img/portfolio14-thumb.webp"},{"revision":"d65d2d81de42e0b82e19cd29a5888192","url":"assets/img/portfolio13.webp"},{"revision":"8bd96dfbdd93125e423128e666c6d55f","url":"assets/img/portfolio13-thumb.webp"},{"revision":"0dfdd429be6efca8877ea059fe3ceebf","url":"assets/img/portfolio12.webp"},{"revision":"425d64886d3880558a250bd1adb8fb33","url":"assets/img/portfolio12-thumb.webp"},{"revision":"11242bfbab21a6a90afa4b71f62bbfaa","url":"assets/img/portfolio11.webp"},{"revision":"e7626db47388099c6af6349026398c79","url":"assets/img/portfolio11-thumb.webp"},{"revision":"0cfbaed59674e72bfb8e6f7b08cdc077","url":"assets/img/portfolio10.webp"},{"revision":"856dada5ecb0b1ad9e8ea713beea4e84","url":"assets/img/portfolio10-thumb.webp"},{"revision":"87464b168510102f4f0d7e14c01bf190","url":"assets/img/portfolio1.webp"},{"revision":"e56e79ee5afcc0df53f5de32ff1ceb09","url":"assets/img/portfolio1-thumb.webp"},{"revision":"7360096b18e7d1f89a66d50672035804","url":"assets/img/portfolio0.webp"},{"revision":"cdf46010a44d19622a4d7333e1425feb","url":"assets/img/portfolio0-thumb.webp"},{"revision":"c9eafc05dc16e232519504f23492efcd","url":"assets/img/navbar-logo.webp"},{"revision":"273e283b319534485caeee039f123415","url":"assets/img/navbar-logo-thumb.webp"},{"revision":"c62b2d43cea163553c271ab6f9a5db9c","url":"assets/img/icon.webp"},{"revision":"1826d4996e96faf5a88566ef91d714f3","url":"assets/img/icon-thumb.webp"},{"revision":"c62b2d43cea163553c271ab6f9a5db9c","url":"assets/img/icon-512.webp"},{"revision":"1826d4996e96faf5a88566ef91d714f3","url":"assets/img/icon-512-thumb.webp"},{"revision":"bce015258f98a4f95fbda457859db7f2","url":"assets/img/icon-32.webp"},{"revision":"4a91b036a202b8e2a29c1b60907bd415","url":"assets/img/icon-32-thumb.webp"},{"revision":"057d98801fc03d65baaea0047c98c74e","url":"assets/img/icon-256.webp"},{"revision":"86956a974ddbcf23e7326cda668be17d","url":"assets/img/icon-256-thumb.webp"},{"revision":"d395e0a1a07948f23ca61f5b77774cc3","url":"assets/img/icon-192.webp"},{"revision":"17a5ab3ee79e102ef81e10163d1d63f5","url":"assets/img/icon-192-thumb.webp"},{"revision":"4ecf764dbb5066aca71d468d90b25322","url":"assets/img/icon-180.webp"},{"revision":"bbf757bf37e52ee21db4bf86eba59f63","url":"assets/img/icon-180-thumb.webp"},{"revision":"9ca53cc308de7c30a70aa23148c6c461","url":"assets/img/icon-16.webp"},{"revision":"c5bedc124e3721ed5d40b4a77ef5026b","url":"assets/img/icon-16-thumb.webp"},{"revision":"3830aee687988a363775107696c6e3d8","url":"assets/img/headshot.webp"},{"revision":"9555b76029dc1f47d8b321cf7881a7ab","url":"assets/img/headshot-thumb.webp"},{"revision":"54b0d648b08b80d09565809d47e647fd","url":"assets/img/headshot-hires.webp"},{"revision":"5f74b985f6f4746fad3394d4710a96c9","url":"assets/img/headshot-hires-thumb.webp"},{"revision":"e50c6ed7d86d6887f70e577ebc961305","url":"assets/img/fabric8-package.webp"},{"revision":"b7e58602dc4ef9bab71ffadf0de0094e","url":"assets/img/fabric8-package-thumb.webp"},{"revision":"ea52c8ad2e516b92a8874e465ef3c7c4","url":"assets/img/dashboard_minimal.webp"},{"revision":"b7ab806c347bc3f6d5df0785b7087982","url":"assets/img/dashboard_minimal-thumb.webp"},{"revision":"6feac75443e59e71a4b4ea977cda9f61","url":"assets/img/curved-lines@2x.webp"},{"revision":"1f025eaa42c982e1adaf0a8e2bf996b0","url":"assets/img/curved-lines@2x-thumb.webp"},{"revision":"17257af0402ee2bb41dc29f5a18d0787","url":"assets/img/colorPicker5.webp"},{"revision":"36e153f7e9f1552a2f7f448af4a9df6c","url":"assets/img/colorPicker5-thumb.webp"},{"revision":"a516b6ecc01a78670d80b5ae8cbc6d82","url":"assets/img/colorPicker4.webp"},{"revision":"311b14b91cc4fb424807f43799fa5e98","url":"assets/img/colorPicker4-thumb.webp"},{"revision":"d5d5e71f0bed2f22f76d717644cfe6fe","url":"assets/img/colorPicker3.webp"},{"revision":"ded1b9058af5a15163d4f828ed962641","url":"assets/img/colorPicker3-thumb.webp"},{"revision":"af0010b14ab44f9d81e41fb5519dd787","url":"assets/img/colorPicker2.webp"},{"revision":"812e791f3d78c54c63b8b16e79cd122c","url":"assets/img/colorPicker2-thumb.webp"},{"revision":"d73e99bab804356c862b9fc340c8d7b2","url":"assets/img/colorPicker1.webp"},{"revision":"72e26e5b794910d93d1dc4406bcc8252","url":"assets/img/colorPicker1-thumb.webp"},{"revision":"dc0e2333709ca7563fce6b742880852f","url":"assets/img/colorPicker0.webp"},{"revision":"22f25a9cb5cbee2e888eeea8456fd93e","url":"assets/img/colorPicker0-thumb.webp"},{"revision":"b9721d6b8b8970fd19a082d95293902d","url":"assets/img/colorPicker-logo.webp"},{"revision":"6a88a0d2651a5fa13908576725f0a1c2","url":"assets/img/colorPicker-logo-thumb.webp"},{"revision":"5141b7c72c2d92e481ca9c21406137ab","url":"assets/img/colorPalette02.webp"},{"revision":"add6199afd9681558b83a618061d94ef","url":"assets/img/colorPalette02-thumb.webp"},{"revision":"1208df405ed7b224278b02f7bac71f27","url":"assets/img/colorPalette01.webp"},{"revision":"cc9039ad86847d5ad2608b61ffb436b6","url":"assets/img/colorPalette01-thumb.webp"},{"revision":"272e426dbe2f4095849f539f4b4caccb","url":"assets/img/colorPalette.webp"},{"revision":"53bd526c030174e75bffbbfd9f6c7429","url":"assets/img/colorPalette-thumb.webp"},{"revision":"1a36fda5b92d2162ccd249dc01540333","url":"assets/img/avatar.webp"},{"revision":"04ab878b9cff127bec70bc1c64f24e7f","url":"assets/img/avatar-thumb.webp"},{"revision":"aac5c008eb12374d6d038ab5c20441e9","url":"assets/img/avatar-hires.webp"},{"revision":"3e1632af753edbeb05bb0410047c74be","url":"assets/img/avatar-hires-thumb.webp"},{"revision":"9eae032d416d302c99878f65df7d594f","url":"assets/img/archparser_template-creator.webp"},{"revision":"13204cd38474962b4fb13a10af6a013e","url":"assets/img/archparser_template-creator-thumb.webp"},{"revision":"1ea67d3d5c578da6c5abf2028b393fc8","url":"assets/img/archparser_template-creator-loaded.webp"},{"revision":"d11eca34c10ee1bfdca30103b6c563e7","url":"assets/img/archparser_template-creator-loaded-thumb.webp"},{"revision":"7e564783ec89e09da2046fdd3ce99084","url":"assets/img/archparser_filtering.webp"},{"revision":"9ceb90661bac1462ef86101efcac0808","url":"assets/img/archparser_filtering-thumb.webp"},{"revision":"e02548efe023d67caa80a4789a01efc7","url":"assets/img/archparser_export.webp"},{"revision":"0a9a26b73ab18cb68335c0e343548a1c","url":"assets/img/archparser_export-thumb.webp"},{"revision":"4ff3335abf2106dd75654774652de72b","url":"assets/img/archparser_drawing-set-details.webp"},{"revision":"e6c52fbe00c9b99c41fdc692e77f1627","url":"assets/img/archparser_drawing-set-details-thumb.webp"},{"revision":"43ca7f394f9194a6001a3ac594c16d3f","url":"assets/img/archparser_drawing-list.webp"},{"revision":"bd4c34bf6604754168110b24c4a398a1","url":"assets/img/archparser_drawing-list-thumb.webp"},{"revision":"78762991b7fd838bd3d561013bdec99a","url":"assets/img/archparser_drawing-details.webp"},{"revision":"260a3a6c2455697acafcf5aef009c0c5","url":"assets/img/archparser_drawing-details-thumb.webp"},{"revision":"0c11fba09203fab86b8142d5ecdc43b1","url":"assets/img/archparser_desktop_2.webp"},{"revision":"c8a58459e1657892552774f2b273c07c","url":"assets/img/archparser_desktop_2-thumb.webp"},{"revision":"90524f3d3c911984e069f21b5a89e935","url":"assets/img/archparser_desktop_1.webp"},{"revision":"c69451a4cf8efa17305eceded4612465","url":"assets/img/archparser_desktop_1-thumb.webp"},{"revision":"c3ed2b9fe36f12e56cf0dba0c00cd7fb","url":"assets/img/archparser_desktop_0.webp"},{"revision":"76d0f03e35e4d482c596f6a56c10ab77","url":"assets/img/archparser_desktop_0-thumb.webp"},{"revision":"67a14ffa594911421af6466d35ca310d","url":"assets/img/archparser_dashboard2.webp"},{"revision":"a2ce7f2e356e3c57abbdd79eb744dc39","url":"assets/img/archparser_dashboard2-thumb.webp"},{"revision":"3552ad539e3f3f3e8b752b1c80fc75b6","url":"assets/img/archparser_dashboard1.webp"},{"revision":"da530adeca400d428a9cd20d8c383c67","url":"assets/img/archparser_dashboard1-thumb.webp"},{"revision":"182d719f704464d1e3355d18e17b5f77","url":"assets/img/android-launchericon-72-72.webp"},{"revision":"5228df6fa1740653cbd301215254610b","url":"assets/img/android-launchericon-72-72-thumb.webp"},{"revision":"c62b2d43cea163553c271ab6f9a5db9c","url":"assets/img/android-launchericon-512-512.webp"},{"revision":"1826d4996e96faf5a88566ef91d714f3","url":"assets/img/android-launchericon-512-512-thumb.webp"},{"revision":"360e0ca76504da1d6cf3f7c00ee2cbb4","url":"assets/img/android-launchericon-48-48.webp"},{"revision":"1dc8986e1d0f058da734f6daf9a2a65e","url":"assets/img/android-launchericon-48-48-thumb.webp"},{"revision":"d395e0a1a07948f23ca61f5b77774cc3","url":"assets/img/android-launchericon-192-192.webp"},{"revision":"17a5ab3ee79e102ef81e10163d1d63f5","url":"assets/img/android-launchericon-192-192-thumb.webp"},{"revision":"d04a09a8d8145ffed14bfbc8a4c00f10","url":"assets/img/ajolicoeur_wordcloud_writing.webp"},{"revision":"4b1a296031a7ec99c02f8488ad957ffe","url":"assets/img/ajolicoeur_wordcloud_writing-thumb.webp"},{"revision":"0abeab5dcff2c3676f46186d4033c252","url":"assets/img/ajolicoeur_wordcloud.webp"},{"revision":"2d696a1f6f69dbcec3ad1e80a3c2d67a","url":"assets/img/ajolicoeur_wordcloud-thumb.webp"},{"revision":"710d860b89cdc83289512b9f16242de5","url":"assets/img/adamj-github.webp"},{"revision":"af5faaa1112edf542cda17e8167d6f13","url":"assets/img/adamj-github-thumb.webp"},{"revision":"319dae8e43de4e95b6f4320cfd9b7099","url":"assets/img/adam-j.webp"},{"revision":"5214446a385513f5e5061d3877f8ede7","url":"assets/img/adam-j-thumb.webp"},{"revision":"2fe50a62ceed5e12399144d9bd73169d","url":"assets/img/Timetrak.webp"},{"revision":"c0e88831e0dbb6e3c46bd0d7c77debee","url":"assets/img/Timetrak-thumb.webp"},{"revision":"3af619d28c891a713ae129bf5eef317b","url":"assets/img/TimeTrackerPro-1920x1080.webp"},{"revision":"e0a9bc110bf0e715d51e28cf9fb0e3ae","url":"assets/img/TimeTrackerPro-1920x1080-thumb.webp"},{"revision":"9f57204931cf30c63a860313571368f0","url":"assets/img/TheMagicCollection-icon-light.webp"},{"revision":"3d875ec2b7b17176fb5c99789a7a50d9","url":"assets/img/TheMagicCollection-icon-light-thumb.webp"},{"revision":"317c66ca0ddfc78dbb653912a7fd93f7","url":"assets/img/TheMagicCollection-icon-dark.webp"},{"revision":"4a60ae9a9f83f273ca065d4c86d2f0e2","url":"assets/img/TheMagicCollection-icon-dark-thumb.webp"},{"revision":"67fa19db9600f3f49138e7a70acd653d","url":"assets/img/TaskStat_Tinted.webp"},{"revision":"b9cb8765b277ee699b533332719a25d9","url":"assets/img/TaskStat_Tinted-thumb.webp"},{"revision":"46aa1797d8ea81b53ae4a60795070a2b","url":"assets/img/TaskStat_Default.webp"},{"revision":"cf654b8a56b590a1d1a766952a957894","url":"assets/img/TaskStat_Default-thumb.webp"},{"revision":"5032c83a01940d912a486c684b90b88f","url":"assets/img/TaskStat_Dark.webp"},{"revision":"084df8edb245ea60c692df90bc1aa069","url":"assets/img/TaskStat_Dark-thumb.webp"},{"revision":"f7bafadf62c4750319b225c342460475","url":"assets/img/TLG2012.webp"},{"revision":"2383cbde9b69ce33de90a8795f5378e4","url":"assets/img/TLG2012-thumb.webp"},{"revision":"6e8f13e5693e4e42fa7ac4c841f11841","url":"assets/img/Storybook-GettingStarted.webp"},{"revision":"fe190c4a545b13c565ba27b7bc1033d4","url":"assets/img/Storybook-GettingStarted-thumb.webp"},{"revision":"c8423d88345b8eeb38a9780740ff290a","url":"assets/img/Sitemap_alpha.webp"},{"revision":"ce4b331615b15f0a3bee3f6165b1856d","url":"assets/img/Sitemap_alpha-thumb.webp"},{"revision":"41ad2368af9a2427a4ca2e53a584c5cb","url":"assets/img/Screenshot_charts.webp"},{"revision":"fcee433e2bb9a1d201e2b4287ae795b9","url":"assets/img/Screenshot_charts-thumb.webp"},{"revision":"3c599b13093c355ecdae68590c33ac26","url":"assets/img/Scouters.webp"},{"revision":"174e6dae382b58aae17472214666ee9a","url":"assets/img/Scouters-thumb.webp"},{"revision":"aad3018b7741d98491b6b58cb2b88feb","url":"assets/img/SC_logo_cloud2.webp"},{"revision":"80ab29e4473a3b5e1bfd0ea9ff028ce9","url":"assets/img/SC_logo_cloud2-thumb.webp"},{"revision":"af13f791c0eb6593d7a24f7f134446ae","url":"assets/img/SC_logo_cloud.webp"},{"revision":"808de57760b15603349620c143b01903","url":"assets/img/SC_logo_cloud-thumb.webp"},{"revision":"cf418139b5fb0dfec2df23eee0cd9c57","url":"assets/img/SC_demo.webp"},{"revision":"fb81145afefc1704a1ff707f27db1b45","url":"assets/img/SC_demo-thumb.webp"},{"revision":"a24864136287441f6d60a118bbc82853","url":"assets/img/RHDManual_Home.webp"},{"revision":"129468c15bb33e0561a378af2f367d62","url":"assets/img/RHDManual_Home-thumb.webp"},{"revision":"0888385eac9865f4dae2fd4c88516b9b","url":"assets/img/RHDManual_DesignResources.webp"},{"revision":"8741f30ea31175a5603a1ed21a45d8c3","url":"assets/img/RHDManual_DesignResources-thumb.webp"},{"revision":"63a99404d9881981fb74666e9d8797db","url":"assets/img/RHDManual_CreateArticles.webp"},{"revision":"78a08d7ff0717df57b429c2550f8a242","url":"assets/img/RHDManual_CreateArticles-thumb.webp"},{"revision":"3e8a5f9a2ddfadfea1733d61d7f5af34","url":"assets/img/OSIO-laptop-screen-1200.webp"},{"revision":"60994a3d98a89b81697b96b8b51f67b8","url":"assets/img/OSIO-laptop-screen-1200-thumb.webp"},{"revision":"010b9e7f2c3fbf86cdb12d349becc003","url":"assets/img/LightColors.webp"},{"revision":"00af04d4efb90e9d68123abd8b404239","url":"assets/img/LightColors-thumb.webp"},{"revision":"5bc91e190efed3ab24e1b269b4f68100","url":"assets/img/Jolicoeur_iOS.webp"},{"revision":"211d68312e3679a4611ad30cf864c814","url":"assets/img/Jolicoeur_iOS-thumb.webp"},{"revision":"df552a9cb2abc9730f37762d625a541d","url":"assets/img/Dashboardwireframe.webp"},{"revision":"8a50dbbf47fcb0a69a1ce425d8a0e302","url":"assets/img/Dashboardwireframe-thumb.webp"},{"revision":"cf3536dfac28462c000debb44c90c6f6","url":"assets/img/DarkColors.webp"},{"revision":"f6ace4955d415d17add752fe3645d979","url":"assets/img/DarkColors-thumb.webp"},{"revision":"4726abae8fe9ba5ead703a4860617959","url":"assets/img/CEA_wireframe_first.webp"},{"revision":"0dd77ece98b33351957899ebaecb84eb","url":"assets/img/CEA_wireframe_first-thumb.webp"},{"revision":"10cff4c88902eb7fb095d560ebe08656","url":"assets/img/CEA_Settings.webp"},{"revision":"3664367535e022b298c8bf6bbdbbffc1","url":"assets/img/CEA_Settings-thumb.webp"},{"revision":"34f0f0d7bc803f3cd6faf6cb0dc39225","url":"assets/img/CEA_Palette.webp"},{"revision":"6b3e5d1ab141c2ad819e377f4821422a","url":"assets/img/CEA_Palette-thumb.webp"},{"revision":"6b3ccbc3f3f413bf62753ac7c969964a","url":"assets/img/CEA_Navigation.webp"},{"revision":"c532e6b816e46658a38b397ba088445e","url":"assets/img/CEA_Navigation-thumb.webp"},{"revision":"aaad0b2d435ade2ec9cda576ea4142d8","url":"assets/img/CEA_Engagement.webp"},{"revision":"66ac4c66baccd03d9fbd0cedfb3b7598","url":"assets/img/CEA_Engagement-thumb.webp"},{"revision":"f0ffeeb9e7b285246b88f5f2ca9df038","url":"assets/img/CEA_Dashboard_fix.webp"},{"revision":"a4b972ec6c684809656744d8dd62d8e6","url":"assets/img/CEA_Dashboard_fix-thumb.webp"},{"revision":"c3f56cedb2cf5394e6fed82e7613caba","url":"assets/img/CEA_Dashboard.webp"},{"revision":"ed6c72c7ad1f6f5671f93ce316511cca","url":"assets/img/CEA_Dashboard-thumb.webp"},{"revision":"02fd80f0cdf881953d8e73fe2d5e4ee5","url":"assets/img/CEA_ClientDetail.webp"},{"revision":"fc473a8e11b5c02479a21fd350be5255","url":"assets/img/CEA_ClientDetail-thumb.webp"},{"revision":"d7cea3ab5ca61c495309fc293962e0c9","url":"assets/img/CEA_AssetExamples.webp"},{"revision":"1aa9dd2de2cebf72313733745e7b05f9","url":"assets/img/CEA_AssetExamples-thumb.webp"},{"revision":"adf60e7d3a0b9f753879631e69029cf3","url":"assets/img/CAS-Typography.webp"},{"revision":"8765be50ca0df38f5848f5279a863257","url":"assets/img/CAS-Typography-thumb.webp"},{"revision":"6d1a3c3096fc4cdcb5b9bd39c391956b","url":"assets/img/CAS-TextInputs.webp"},{"revision":"7d1863ea8aece00e1083c60204591309","url":"assets/img/CAS-TextInputs-thumb.webp"},{"revision":"d94f76e20fc6476dec7a7ef6492a0409","url":"assets/img/CAS-Table-Component.webp"},{"revision":"4550e54dd441bc9ceaf91cf01ad59935","url":"assets/img/CAS-Table-Component-thumb.webp"},{"revision":"bd0e2fd78e0039db0dbf99f42b353b31","url":"assets/img/CAS-SpacingSizing.webp"},{"revision":"215e8c83cf2099d1d23de00dd1d9db86","url":"assets/img/CAS-SpacingSizing-thumb.webp"},{"revision":"418910b5b68d458d75abf85f162912c8","url":"assets/img/CAS-Icons.webp"},{"revision":"0d219367cf5e7c921caaf7df76ec60b6","url":"assets/img/CAS-Icons-thumb.webp"},{"revision":"e6bd2045862159025593e402df49d7a4","url":"assets/img/CAS-Foreground-Light.webp"},{"revision":"666f5e15c3b2f398101ae2ac42269735","url":"assets/img/CAS-Foreground-Light-thumb.webp"},{"revision":"d3f003045df4396221549a4692c0120f","url":"assets/img/CAS-Foreground-Dark.webp"},{"revision":"d2428d176e3acbacb950c7a7c2e79a4e","url":"assets/img/CAS-Foreground-Dark-thumb.webp"},{"revision":"806bb3ad0ca68993cfb31fcac0487245","url":"assets/img/CAS-DropdownExamples.webp"},{"revision":"42f932585fcf01fb57e5cdfeae2ea0eb","url":"assets/img/CAS-DropdownExamples-thumb.webp"},{"revision":"5853e66bb82f46cec1a5e46757760339","url":"assets/img/CAS-ColorPalette.webp"},{"revision":"9f43f6e10dc11bb3a6445b553805b2f9","url":"assets/img/CAS-ColorPalette-thumb.webp"},{"revision":"c62ad87675d9f81b43f31a3b9d38f3a4","url":"assets/img/CAS-Cards.webp"},{"revision":"2c534735535164eb5e61e0e8bcca5031","url":"assets/img/CAS-Cards-thumb.webp"},{"revision":"2ebc94f65e8dc2f0fa431b75748c0833","url":"assets/img/CAS-ButtonExamples.webp"},{"revision":"ac68c3c0a09bc8a3e12d5269d4949f10","url":"assets/img/CAS-ButtonExamples-thumb.webp"},{"revision":"b5063a109a0b597a6208c030cb2de23e","url":"assets/img/AdamJolicoeur_dot_com.webp"},{"revision":"a868bf90f3bbdc3c44c47a8f953e887e","url":"assets/img/AdamJolicoeur_dot_com-thumb.webp"},{"revision":"c27ba3c061ebf387f9a341a86cb4184a","url":"assets/img/AdamJolicoeur_dot_com-minimal.webp"},{"revision":"cf1bc28847a4e7fbe752d2440642a282","url":"assets/img/AdamJolicoeur_dot_com-minimal-thumb.webp"},{"revision":"b71fa97efce4679de124df270f035013","url":"assets/img/ALM_workflow.webp"},{"revision":"755f8c5038a7146767790551bca98bd1","url":"assets/img/ALM_workflow-thumb.webp"},{"revision":"801d46e1fd02938b100bf1ee970a4239","url":"assets/img/ALM_wireframe.webp"},{"revision":"cb2a35fb98857a8d86db346128f72916","url":"assets/img/ALM_wireframe-thumb.webp"},{"revision":"8c9ff5c4b809bbaa3039959ca701a9f8","url":"assets/img/ALM_step3.webp"},{"revision":"b884074bbdb4a23c47fa6a3a427afcf1","url":"assets/img/ALM_step3-thumb.webp"},{"revision":"da1dd79707014450d07779a1ee5882fa","url":"assets/img/ALM_step2.webp"},{"revision":"b5a1d25be3b51c2d4a1dce9595fe53cc","url":"assets/img/ALM_step2-thumb.webp"},{"revision":"c8d4961cb79dd3c742e99bb9554a2b17","url":"assets/img/ALM_step1.webp"},{"revision":"4aefd7692611d52ca7ed593d60e4ad78","url":"assets/img/ALM_step1-thumb.webp"},{"revision":"ea08d9e2896de73786bacf2f2093d735","url":"assets/img/ALM_planner.webp"},{"revision":"e927157eac95fa3d1b5f04751b0217c0","url":"assets/img/ALM_planner-thumb.webp"},{"revision":"9e9ac4c97d57417093cb1ed019282851","url":"assets/img/404_lost_tree.webp"},{"revision":"3017430f1bb7266f7833291cdc19c6ab","url":"assets/img/404_lost_tree-thumb.webp"},{"revision":"20e08660153a3f7e3f0088c579751b51","url":"assets/img/2025-chatgpt-trophy.webp"},{"revision":"9d9db767fa1ebb66ca5d63dbc1089894","url":"assets/img/2025-chatgpt-trophy-thumb.webp"},{"revision":"da91e835ced244ccda3b852cb69a8aee","url":"assets/img/2025-chatgpt-still.webp"},{"revision":"8823c8a692ed160dd06d2e8d2fea9b74","url":"assets/img/2025-chatgpt-still-thumb.webp"},{"revision":"1cb637ff184f8408dd67b1f06709b7f7","url":"assets/img/2025-chatgpt-sticker.webp"},{"revision":"f69254bcd1ee8ffeefb7f561dc908089","url":"assets/img/2025-chatgpt-sticker-thumb.webp"},{"revision":"7d58965881d5c818a7064bd487c52642","url":"assets/img/2025-chatgpt-badges.webp"},{"revision":"498bdcc52d700a5fe56bd0382acd81ef","url":"assets/img/2025-chatgpt-badges-thumb.webp"},{"revision":"0da0716592e17e18015f112429a38975","url":"archives/town-selectman.html"},{"revision":"7853f46e5580212fc541cfb3ac37bce2","url":"archives/index.html"},{"revision":"397dde773f1e4f2119b09860056948bf","url":"apps/timetracker.html"},{"revision":"44721ab68105b818df960338e1f9e75e","url":"apps/taskstat.html"},{"revision":"ca009a182458b4d1dcb8785a9624a579","url":"apps/taskstat-privacy.html"},{"revision":"56226b46076c1c282d343db8ec39ef39","url":"apps/support.html"},{"revision":"4993d5e6d29b4d3daa5585a9693d2b13","url":"apps/soccer.html"},{"revision":"2843afbcd6857c6a712635b8b9074307","url":"apps/privacy.html"},{"revision":"88b55995b620b68f78044aeec0205759","url":"apps/moonsilver.html"},{"revision":"4aec1976ba7e39fffa810f5e5e53a647","url":"apps/magiccollection.html"},{"revision":"e47c0d081d97a5f82d14d910747ed6ea","url":"apps/index.html"},{"revision":"d794979357e8163a01a880bd7727f8c1","url":"apps/gamesandthings.html"},{"revision":"ff7a40d22f8f399f18b8040e221c76ed","url":"about/resume/index.html"},{"revision":"dd19d3f0f824ae9fef42b73fefa9674c","url":"about/adam/index.html"}] || []);
+workbox.precaching.precacheAndRoute([{"revision":"780e6994d42a936d1dc89af310719c8b","url":"sitemap.xml"},{"revision":"68b329da9893e34099c7d8ad5cb9c940","url":"robots.txt"},{"revision":"bf1b1eafbf32cd649582c296e3c1e410","url":"keybase.txt"},{"revision":"04e480f115c0ed31cb416611be4d51f0","url":"index.html"},{"revision":"b9f35d5aa796c926f5f83735569af340","url":"icon-512.png"},{"revision":"80f557e066b1bf1cf6b4024dc7d8c196","url":"icon-32.png"},{"revision":"9c0c1ba1a9b18361b13951c04d9f0601","url":"icon-192.png"},{"revision":"f86e8f687b00070596c88e22c3cf0d89","url":"icon-180.png"},{"revision":"2a0efdd4e7d1c56fac653dacb258ab94","url":"icon-16.png"},{"revision":"f3c974f5cf7ce654dec9b07bba5e5d29","url":"cache-polyfill.js"},{"revision":"5e770c9f96c102f5ee78d6221ee4bb37","url":"android-launchericon-72-72.png"},{"revision":"6e2fcb738c641cf953675fa6c4a606d6","url":"404.html"},{"revision":"ccf2159f562d8303148a7342cedc10c5","url":"year-in-review/2025/index.html"},{"revision":"0f2229e267997ed77dff87c8074b15cf","url":"uses/index.html"},{"revision":"da4a9e8c4e87521e252a2d1bfb9fb861","url":"sass/style.css"},{"revision":"669d49df2d6df8154fe2c6387c8931d5","url":"sass/slides.css"},{"revision":"332dfc6843ef01d55b0495da18172305","url":"sass/prism.css"},{"revision":"dea10bb218c02007f4c52de3c7cafcb9","url":"sass/print.css"},{"revision":"0474ac8abc69e4049c8aeabcf1ea2a8b","url":"sass/markdown.css"},{"revision":"7fb2629ca8999899d1fb5c39efcb661b","url":"sass/containers.css"},{"revision":"a1a9522fb230f7d345a5ca469817aa40","url":"reference/index.html"},{"revision":"d4a8a286699dcc9d5946756b052677af","url":"presentations/index.html"},{"revision":"b98937210c95e0c77bb5d994b5045f77","url":"presentations/portfolio/index.html"},{"revision":"15b21d17d06aaff6a142201053307f3b","url":"presentations/color-picker/index.html"},{"revision":"c7c778e11ee4573bc63f7eb719fbaff7","url":"portfolio/index.html"},{"revision":"9b48518e883f72c162cbd05bae30f3a0","url":"js/prism.js"},{"revision":"5ec8925b1046f3fdf33cd12241668261","url":"development/index.html"},{"revision":"5a4d868f553fec95d7b3e01609e6381d","url":"development/timetracker/index.html"},{"revision":"bb14de9d21a0e02206d6482068d3050c","url":"development/prototypes/index.html"},{"revision":"56ccf9fd2ba8fdd57301930e740a6ec2","url":"development/examples/index.html"},{"revision":"db27c81ef432ae9bbe238fc9e6bbe4c1","url":"development/code/index.html"},{"revision":"089668c82443af99d9a4191a88bb7c2a","url":"development/archparser/index.html"},{"revision":"fd6d3efd9c8a286ce622092ee41de8cf","url":"designs/task-it/index.html"},{"revision":"5adfc983a9b001a6dba29c41c8afe809","url":"designs/dashboard-analytics/index.html"},{"revision":"e0327bb561128b4cc3f41006b54b85ea","url":"designs/customer-engagement/index.html"},{"revision":"5b4554417a5aa0ba9c2bb6b3259906d1","url":"designs/component-library/index.html"},{"revision":"9f0825a669ee2a858cd1e498c77116fc","url":"designs/alm/index.html"},{"revision":"943f682112c2ce049dfad759850fe06e","url":"css/style.css"},{"revision":"dba19d6042f3a7d77ff774ed6d14525c","url":"css/slides.css"},{"revision":"ab47bf02c43117c1eddcb5b320071e39","url":"css/prism.css"},{"revision":"ae89e96f5466719eb676c0b79731b78d","url":"css/print.css"},{"revision":"076e4a616ba834aa93a8a4e897e5bb68","url":"css/markdown.css"},{"revision":"402aa5d40a4536af6dd9fe31e723614d","url":"css/containers.css"},{"revision":"69301d6301f273bcc57f779c57786046","url":"credits/open-source/index.html"},{"revision":"82a54c23ed9be40f72c4912a5963fa41","url":"credits/credits/index.html"},{"revision":"7f78196c41123b095a94fdee54235a56","url":"case-studies/index.html"},{"revision":"fba2c1ced998365d36abae78a603a1ef","url":"case-studies/soccertracker/index.html"},{"revision":"298f0371a7ca64d9107bf93b9ddda387","url":"case-studies/color-picker/index.html"},{"revision":"a554edd15479158c1f6fc332554ac5f6","url":"assets/img/timetracker-weekly-report.webp"},{"revision":"5b7c2c048cba923e77dec9b988d1374c","url":"assets/img/timetracker-weekly-report-thumb.webp"},{"revision":"fb7a81d32639c2b6ab48b48e90e591bd","url":"assets/img/timetracker-tone-standup.webp"},{"revision":"8fa00dfde111924a2f80235b53e9d5d5","url":"assets/img/timetracker-tone-standup-thumb.webp"},{"revision":"186617d749caeba721de5e4c2fe80b8b","url":"assets/img/timetracker-tone-retro.webp"},{"revision":"b415eb31a528752e093316ee60b7bd41","url":"assets/img/timetracker-tone-retro-thumb.webp"},{"revision":"0db80338a4503475f311347f1d04bd81","url":"assets/img/timetracker-tone-client.webp"},{"revision":"94c33e1e68c31c2725047f8271d15410","url":"assets/img/timetracker-tone-client-thumb.webp"},{"revision":"1bd4b9ae567252a9e0a14430a4d4ffdb","url":"assets/img/timetracker-start.webp"},{"revision":"d0e7c57d7178ed02d485cf174e11885b","url":"assets/img/timetracker-start-thumb.webp"},{"revision":"c4b5f323d98a3a5631834c98cb2f6e66","url":"assets/img/timetracker-loading-state.webp"},{"revision":"2f319a319aeb5b78f7c273b444c93183","url":"assets/img/timetracker-loading-state-thumb.webp"},{"revision":"16d202459315a8949bd3712fc083a0d2","url":"assets/img/timetracker-loading-state-screen.webp"},{"revision":"7f749352f5788e8d5531c3936b4db0a8","url":"assets/img/timetracker-loading-state-screen-thumb.webp"},{"revision":"66e242f202c124d0125e72afd0604207","url":"assets/img/timetracker-generated-summary.webp"},{"revision":"2fa7960fe260de1712231f8e91e53f86","url":"assets/img/timetracker-generated-summary-thumb.webp"},{"revision":"7a2354bd990f20478981c6f09a529a04","url":"assets/img/thumbnail_RHDM.webp"},{"revision":"47342aff1a249a2e0ebd6725afbb0e02","url":"assets/img/thumbnail_RHDM-thumb.webp"},{"revision":"e911ae355cc243ed420785f5651696a2","url":"assets/img/thumbnail_PatternFly.webp"},{"revision":"74695c97d44769fac58ab96168ceac61","url":"assets/img/thumbnail_PatternFly-thumb.webp"},{"revision":"97958dfa36296de585d2ecd3b49ececa","url":"assets/img/theproxyguy-membership-card-patreon.webp"},{"revision":"1e2cc81056f7bfc062627b62f41ac8d6","url":"assets/img/theproxyguy-membership-card-patreon-thumb.webp"},{"revision":"742457e5f67c034b1521b207ba61dce7","url":"assets/img/taskstat-screenshot-settings.webp"},{"revision":"3363ddffb5099f18c626280e28ad284f","url":"assets/img/taskstat-screenshot-settings-thumb.webp"},{"revision":"836b22b2563cf3aaf4a482da8ab093f6","url":"assets/img/taskstat-screenshot-list.webp"},{"revision":"595d608dfc592687d2bab469bc72f0fa","url":"assets/img/taskstat-screenshot-list-thumb.webp"},{"revision":"69d522ab71e7564c1a9a2e8156c023d5","url":"assets/img/taskstat-screenshot-details.webp"},{"revision":"bd68672fa475f6f2b0337416877f0077","url":"assets/img/taskstat-screenshot-details-thumb.webp"},{"revision":"8ccc64badd6e5d58fdd6e98ac1bc8ca4","url":"assets/img/taskstat-screenshot-dashboard.webp"},{"revision":"feee9cb3200de55412cd90d09d4cc758","url":"assets/img/taskstat-screenshot-dashboard-thumb.webp"},{"revision":"aab85ddf44ffa3e3226fda20f012eec0","url":"assets/img/task-it_user-survey.webp"},{"revision":"5831c18645ae169a7f81f2f8684f3eba","url":"assets/img/task-it_user-survey-thumb.webp"},{"revision":"25b1e84cbe6385caed8a720162dcbbb4","url":"assets/img/task-it_user-states.webp"},{"revision":"90cc88a7ca02603455d35e3b73ef376d","url":"assets/img/task-it_user-states-thumb.webp"},{"revision":"12955eaedbaa4ded12204a07a4ca088e","url":"assets/img/task-it_user-flow.webp"},{"revision":"0cbc1998385fd7c0375cc68eb268fb8f","url":"assets/img/task-it_user-flow-thumb.webp"},{"revision":"f1fc93ce0624c46efa82e8edd442ac6a","url":"assets/img/task-it_task-details_wireframe.webp"},{"revision":"b7626c38be2437a240927c2feb7e1d14","url":"assets/img/task-it_task-details_wireframe-thumb.webp"},{"revision":"97ff6a1f881c0f106c4b45eca3a3f18e","url":"assets/img/task-it_task-details_mockup4.webp"},{"revision":"e9798f70d424a29655c0ec577829eae2","url":"assets/img/task-it_task-details_mockup4-thumb.webp"},{"revision":"e83acfeb83e57f1fceefb1b0b6ea7389","url":"assets/img/task-it_task-details_mockup3.webp"},{"revision":"0edb4e930a93395291b7a7d074b9e05d","url":"assets/img/task-it_task-details_mockup3-thumb.webp"},{"revision":"cdb7226d2bfe4832c23bb783559cb162","url":"assets/img/task-it_task-details_mockup2.webp"},{"revision":"97d3fde7c23c4a7cfc6fd9b4ee21fe4f","url":"assets/img/task-it_task-details_mockup2-thumb.webp"},{"revision":"b728f2cc6553d903f704ff37f5ebd45c","url":"assets/img/task-it_task-details_mockup1.webp"},{"revision":"ce3835098ca55aae0c99f2d212bbee75","url":"assets/img/task-it_task-details_mockup1-thumb.webp"},{"revision":"54df988b366f417aee52ca54d81bf473","url":"assets/img/task-it_product.webp"},{"revision":"2788e0046c3a081e22211da021589c70","url":"assets/img/task-it_product-thumb.webp"},{"revision":"06d9bd55302bfdd80073d802c42be242","url":"assets/img/task-it_intro.webp"},{"revision":"459407b7b5a0c8943c16c4eb3bb6a028","url":"assets/img/task-it_intro-thumb.webp"},{"revision":"25f0caf6a27b65ecce597b98d1a5109f","url":"assets/img/task-it_flow-success.webp"},{"revision":"38091038a3c886f6b9f80bc75940ce7c","url":"assets/img/task-it_flow-success-thumb.webp"},{"revision":"fd5ee4dcd504bb92110c34dd175d6aa8","url":"assets/img/task-it_flow-errors-general.webp"},{"revision":"ea9f700c458a1c4cdaf4ad4c70671bdd","url":"assets/img/task-it_flow-errors-general-thumb.webp"},{"revision":"c724ef6cd473b10f6e2f00996c6149bf","url":"assets/img/task-it_flow-errors-forms.webp"},{"revision":"9afe61286c92642c72773f6ce3fd8da2","url":"assets/img/task-it_flow-errors-forms-thumb.webp"},{"revision":"ce482c2f227787404d86e8c37f5803e2","url":"assets/img/social_template.webp"},{"revision":"0c98b2cd208d6390a9ad843957098712","url":"assets/img/social_template-thumb.webp"},{"revision":"39cb862b3953c9db7f64c49acfad1e46","url":"assets/img/soccergametracker-substitutionsummary.webp"},{"revision":"24a3bec19ed92ed363528f23701e402c","url":"assets/img/soccergametracker-substitutionsummary-thumb.webp"},{"revision":"1062a8fc9f7233e6136ee84a037f8923","url":"assets/img/soccergametracker-substituteprompt.webp"},{"revision":"7e406b49d2d3143b36a87c92a46d4ffa","url":"assets/img/soccergametracker-substituteprompt-thumb.webp"},{"revision":"093aafb1e94ec1ccb979f679766a0009","url":"assets/img/soccergametracker-startgame.webp"},{"revision":"22b5d1acfa6b7ec0aa1b09f14bf93c12","url":"assets/img/soccergametracker-startgame-thumb.webp"},{"revision":"ea2b8854f559794298c1636af1dd4d7c","url":"assets/img/soccergametracker-secondhalfsummary.webp"},{"revision":"270e4c35b63d882676b82672a5eab885","url":"assets/img/soccergametracker-secondhalfsummary-thumb.webp"},{"revision":"25c8ca9c2bee8dd71ef1e72c19de691e","url":"assets/img/soccergametracker-roster.webp"},{"revision":"408ed6668c1bc9ad201d3a3f2781758f","url":"assets/img/soccergametracker-roster-thumb.webp"},{"revision":"2fa5770b304caf498a5ec92ea5892370","url":"assets/img/soccergametracker-playerstats02.webp"},{"revision":"fd1ace0059ef6838741333ffad80bbed","url":"assets/img/soccergametracker-playerstats02-thumb.webp"},{"revision":"5bef776a1763e1b2a35468d7244bf85b","url":"assets/img/soccergametracker-playerstats01.webp"},{"revision":"f6e2c461686b7bc3967f2db107657bcb","url":"assets/img/soccergametracker-playerstats01-thumb.webp"},{"revision":"0f592694c112a2da0b9294fc1c1e0e3d","url":"assets/img/soccergametracker-phone-summary.webp"},{"revision":"82f4ae2c74a198dfc252164b8b398f3d","url":"assets/img/soccergametracker-phone-summary-thumb.webp"},{"revision":"b192123e7df641faed582dac33dcc15c","url":"assets/img/soccergametracker-phone-subs-03.webp"},{"revision":"c3dce3bbb41f6eab0ef8340129672ea0","url":"assets/img/soccergametracker-phone-subs-03-thumb.webp"},{"revision":"a5e457ebfe9ce6bb43822edd0c78d891","url":"assets/img/soccergametracker-phone-subs-02.webp"},{"revision":"3364ae4674fad6666af387a09b1af08f","url":"assets/img/soccergametracker-phone-subs-02-thumb.webp"},{"revision":"56fcf131f4f797a76871e58484fe84c0","url":"assets/img/soccergametracker-phone-subs-01.webp"},{"revision":"3f38d866ff6075a0480b0c8d81e7c1e8","url":"assets/img/soccergametracker-phone-subs-01-thumb.webp"},{"revision":"d5b8eae6fe93c90dce4149a7945a4961","url":"assets/img/soccergametracker-phone-rosters.webp"},{"revision":"b483fb5a6f3558fa9583b4c1b07f7767","url":"assets/img/soccergametracker-phone-rosters-thumb.webp"},{"revision":"a2717bd9761b76970fff72ba016f027e","url":"assets/img/soccergametracker-phone-newgame.webp"},{"revision":"5c00a07dc4e0613b4c48c684b0a093f1","url":"assets/img/soccergametracker-phone-newgame-thumb.webp"},{"revision":"12feaa0afc8d5983363238a2cbd429dc","url":"assets/img/soccergametracker-phone-livegame.webp"},{"revision":"77ca192ff880f54ed50f5ae97a046e78","url":"assets/img/soccergametracker-phone-livegame-thumb.webp"},{"revision":"40699182f9c81bb8386976d8329d8738","url":"assets/img/soccergametracker-phone-history.webp"},{"revision":"12db7bf6ea3b5f148645b2f932c87c63","url":"assets/img/soccergametracker-phone-history-thumb.webp"},{"revision":"ccc26d62fb6e0df9ebeeb73bc3f15579","url":"assets/img/soccergametracker-phone-history-details.webp"},{"revision":"58cfb8900e6671fb0154ed013cf95e85","url":"assets/img/soccergametracker-phone-history-details-thumb.webp"},{"revision":"f28e5b095d2eb9b265ee54b31d398083","url":"assets/img/soccergametracker-newgame.webp"},{"revision":"122b9610e9b57eaaaa52e1075321e003","url":"assets/img/soccergametracker-newgame-thumb.webp"},{"revision":"d47f758d002e1e05ef66763b2df7de61","url":"assets/img/soccergametracker-history02.webp"},{"revision":"b62eccdf42e39465a1536a81f26aa1fe","url":"assets/img/soccergametracker-history02-thumb.webp"},{"revision":"048799ab588b26da5ff8cfe0c6ebb468","url":"assets/img/soccergametracker-history.webp"},{"revision":"18a00b82f95f6ecfefda45435686c761","url":"assets/img/soccergametracker-history-thumb.webp"},{"revision":"21614ffe3988ed4b5a79f0daf4ee9f9e","url":"assets/img/soccergametracker-halftime.webp"},{"revision":"585f4736958a32fa6ace9565396d0cb8","url":"assets/img/soccergametracker-halftime-thumb.webp"},{"revision":"6f110f50359959a7ed3c032b75aa2aaf","url":"assets/img/soccergametracker-goalassignment.webp"},{"revision":"e5de355ebc7aa7d6ef570322a53b881e","url":"assets/img/soccergametracker-goalassignment-thumb.webp"},{"revision":"aed3dc0e2cf301bbb77daec6a24bd8d2","url":"assets/img/soccergametracker-gamedetails.webp"},{"revision":"cdb8c6f6852a66417d5e6e06052d95d3","url":"assets/img/soccergametracker-gamedetails-thumb.webp"},{"revision":"cb88f26757bb9a7a7b44062bf3dafab4","url":"assets/img/soccergametracker-firsthalfsummary.webp"},{"revision":"f6f5bb02dc1a1ac6e7329b3b0da003d9","url":"assets/img/soccergametracker-firsthalfsummary-thumb.webp"},{"revision":"bd864aad3a649b36516aed3a929a2fff","url":"assets/img/soccergametracker-endgame.webp"},{"revision":"8dce5d6f9384f28cc0b32bea7cd39443","url":"assets/img/soccergametracker-endgame-thumb.webp"},{"revision":"55ccb2c5bf71dc7e72247b77028caed4","url":"assets/img/soccergametracker-addnewplayer.webp"},{"revision":"5d5c29af73e634aa6cce276dd3b19bea","url":"assets/img/soccergametracker-addnewplayer-thumb.webp"},{"revision":"9f8cfe9c2be3b7f730b05635c6c50246","url":"assets/img/soccergametracker- ingamesummary.webp"},{"revision":"682b5f90dc56d88c62ae532788d4b31f","url":"assets/img/soccergametracker- ingamesummary-thumb.webp"},{"revision":"df76a4fc60a02b85fa69c5db1017ae96","url":"assets/img/screenshot-try_openshift.webp"},{"revision":"73a3a039a2c095b12c26d96af2f70b4b","url":"assets/img/screenshot-try_openshift-thumb.webp"},{"revision":"15533d48a081b5b957608fdf4d3fae92","url":"assets/img/screenshot-patternflyorg.webp"},{"revision":"e4dc17adf226adfe1db4a1362c6c6c53","url":"assets/img/screenshot-patternflyorg-thumb.webp"},{"revision":"196d0c092863bad1fff8fcac8c1a124c","url":"assets/img/screenshot-kubevirtio2.webp"},{"revision":"9d89247c1e21c4083db0daa00b7274ff","url":"assets/img/screenshot-kubevirtio2-thumb.webp"},{"revision":"8ad6fd8ff89213ce25f83a7a74c71400","url":"assets/img/screenshot-kubevirtio.webp"},{"revision":"03991435c0de2418b5aa7968a84016cb","url":"assets/img/screenshot-kubevirtio-thumb.webp"},{"revision":"df400a9363d70f03611c7d501010088f","url":"assets/img/screenshot-kubevirtio-mobile.webp"},{"revision":"538604c6ef6f0accd6e54728006b3eb0","url":"assets/img/screenshot-kubevirtio-mobile-thumb.webp"},{"revision":"92fa09a9c79e9267d761be12cc9bbf52","url":"assets/img/rh_integration.webp"},{"revision":"90a27e33062e0d0ae811814da8b996d0","url":"assets/img/rh_integration-thumb.webp"},{"revision":"7570bb5ca79951ef7ef8ba78a5c8371d","url":"assets/img/portfolio8.webp"},{"revision":"6be552369711e2cb858465265f161592","url":"assets/img/portfolio8-thumb.webp"},{"revision":"43336abb4d4a111e13052f45cbcdc1e0","url":"assets/img/portfolio7.webp"},{"revision":"d7bbd36092287ab08c1da094487e02f2","url":"assets/img/portfolio7-thumb.webp"},{"revision":"11c183180cce749fb0069f1964f4c021","url":"assets/img/portfolio6.webp"},{"revision":"49eebfe17360ab09ab97dc886d4c5e1c","url":"assets/img/portfolio6-thumb.webp"},{"revision":"0a30bba10c0abbf914592a105836350c","url":"assets/img/portfolio5.webp"},{"revision":"5f731fe83e2d5789b61e5dd1e79ece49","url":"assets/img/portfolio5-thumb.webp"},{"revision":"32f36e70b31b1834fc8f3a80719a95bd","url":"assets/img/portfolio4.webp"},{"revision":"d1eaaafd7ed0064f8e6c0e31c08955e0","url":"assets/img/portfolio4-thumb.webp"},{"revision":"846ac04a48788cf36d7f6634fa59d333","url":"assets/img/portfolio3.webp"},{"revision":"5eb23594433b04ea12eddc05b77de9fd","url":"assets/img/portfolio3-thumb.webp"},{"revision":"c29889f4fca47323eb4a8e65de22b259","url":"assets/img/portfolio2.webp"},{"revision":"3032bb55a2ec5f0dced98db8cfa0230f","url":"assets/img/portfolio2-thumb.webp"},{"revision":"f5a3d9d03f57a409426499565020a41b","url":"assets/img/portfolio2-5.webp"},{"revision":"8ae0dd2774339b0020f37d6bf0cb7596","url":"assets/img/portfolio2-5-thumb.webp"},{"revision":"f256eded7782da157ed156600772cf26","url":"assets/img/portfolio14.webp"},{"revision":"2b3ffee9232c49c80e863a97387b9d08","url":"assets/img/portfolio14-thumb.webp"},{"revision":"d65d2d81de42e0b82e19cd29a5888192","url":"assets/img/portfolio13.webp"},{"revision":"8bd96dfbdd93125e423128e666c6d55f","url":"assets/img/portfolio13-thumb.webp"},{"revision":"0dfdd429be6efca8877ea059fe3ceebf","url":"assets/img/portfolio12.webp"},{"revision":"425d64886d3880558a250bd1adb8fb33","url":"assets/img/portfolio12-thumb.webp"},{"revision":"11242bfbab21a6a90afa4b71f62bbfaa","url":"assets/img/portfolio11.webp"},{"revision":"e7626db47388099c6af6349026398c79","url":"assets/img/portfolio11-thumb.webp"},{"revision":"0cfbaed59674e72bfb8e6f7b08cdc077","url":"assets/img/portfolio10.webp"},{"revision":"856dada5ecb0b1ad9e8ea713beea4e84","url":"assets/img/portfolio10-thumb.webp"},{"revision":"87464b168510102f4f0d7e14c01bf190","url":"assets/img/portfolio1.webp"},{"revision":"e56e79ee5afcc0df53f5de32ff1ceb09","url":"assets/img/portfolio1-thumb.webp"},{"revision":"7360096b18e7d1f89a66d50672035804","url":"assets/img/portfolio0.webp"},{"revision":"cdf46010a44d19622a4d7333e1425feb","url":"assets/img/portfolio0-thumb.webp"},{"revision":"c9eafc05dc16e232519504f23492efcd","url":"assets/img/navbar-logo.webp"},{"revision":"273e283b319534485caeee039f123415","url":"assets/img/navbar-logo-thumb.webp"},{"revision":"c62b2d43cea163553c271ab6f9a5db9c","url":"assets/img/icon.webp"},{"revision":"1826d4996e96faf5a88566ef91d714f3","url":"assets/img/icon-thumb.webp"},{"revision":"c62b2d43cea163553c271ab6f9a5db9c","url":"assets/img/icon-512.webp"},{"revision":"1826d4996e96faf5a88566ef91d714f3","url":"assets/img/icon-512-thumb.webp"},{"revision":"bce015258f98a4f95fbda457859db7f2","url":"assets/img/icon-32.webp"},{"revision":"4a91b036a202b8e2a29c1b60907bd415","url":"assets/img/icon-32-thumb.webp"},{"revision":"057d98801fc03d65baaea0047c98c74e","url":"assets/img/icon-256.webp"},{"revision":"86956a974ddbcf23e7326cda668be17d","url":"assets/img/icon-256-thumb.webp"},{"revision":"d395e0a1a07948f23ca61f5b77774cc3","url":"assets/img/icon-192.webp"},{"revision":"17a5ab3ee79e102ef81e10163d1d63f5","url":"assets/img/icon-192-thumb.webp"},{"revision":"4ecf764dbb5066aca71d468d90b25322","url":"assets/img/icon-180.webp"},{"revision":"bbf757bf37e52ee21db4bf86eba59f63","url":"assets/img/icon-180-thumb.webp"},{"revision":"9ca53cc308de7c30a70aa23148c6c461","url":"assets/img/icon-16.webp"},{"revision":"c5bedc124e3721ed5d40b4a77ef5026b","url":"assets/img/icon-16-thumb.webp"},{"revision":"3830aee687988a363775107696c6e3d8","url":"assets/img/headshot.webp"},{"revision":"9555b76029dc1f47d8b321cf7881a7ab","url":"assets/img/headshot-thumb.webp"},{"revision":"54b0d648b08b80d09565809d47e647fd","url":"assets/img/headshot-hires.webp"},{"revision":"5f74b985f6f4746fad3394d4710a96c9","url":"assets/img/headshot-hires-thumb.webp"},{"revision":"e50c6ed7d86d6887f70e577ebc961305","url":"assets/img/fabric8-package.webp"},{"revision":"b7e58602dc4ef9bab71ffadf0de0094e","url":"assets/img/fabric8-package-thumb.webp"},{"revision":"ea52c8ad2e516b92a8874e465ef3c7c4","url":"assets/img/dashboard_minimal.webp"},{"revision":"b7ab806c347bc3f6d5df0785b7087982","url":"assets/img/dashboard_minimal-thumb.webp"},{"revision":"6feac75443e59e71a4b4ea977cda9f61","url":"assets/img/curved-lines@2x.webp"},{"revision":"1f025eaa42c982e1adaf0a8e2bf996b0","url":"assets/img/curved-lines@2x-thumb.webp"},{"revision":"17257af0402ee2bb41dc29f5a18d0787","url":"assets/img/colorPicker5.webp"},{"revision":"36e153f7e9f1552a2f7f448af4a9df6c","url":"assets/img/colorPicker5-thumb.webp"},{"revision":"a516b6ecc01a78670d80b5ae8cbc6d82","url":"assets/img/colorPicker4.webp"},{"revision":"311b14b91cc4fb424807f43799fa5e98","url":"assets/img/colorPicker4-thumb.webp"},{"revision":"d5d5e71f0bed2f22f76d717644cfe6fe","url":"assets/img/colorPicker3.webp"},{"revision":"ded1b9058af5a15163d4f828ed962641","url":"assets/img/colorPicker3-thumb.webp"},{"revision":"af0010b14ab44f9d81e41fb5519dd787","url":"assets/img/colorPicker2.webp"},{"revision":"812e791f3d78c54c63b8b16e79cd122c","url":"assets/img/colorPicker2-thumb.webp"},{"revision":"d73e99bab804356c862b9fc340c8d7b2","url":"assets/img/colorPicker1.webp"},{"revision":"72e26e5b794910d93d1dc4406bcc8252","url":"assets/img/colorPicker1-thumb.webp"},{"revision":"dc0e2333709ca7563fce6b742880852f","url":"assets/img/colorPicker0.webp"},{"revision":"22f25a9cb5cbee2e888eeea8456fd93e","url":"assets/img/colorPicker0-thumb.webp"},{"revision":"b9721d6b8b8970fd19a082d95293902d","url":"assets/img/colorPicker-logo.webp"},{"revision":"6a88a0d2651a5fa13908576725f0a1c2","url":"assets/img/colorPicker-logo-thumb.webp"},{"revision":"5141b7c72c2d92e481ca9c21406137ab","url":"assets/img/colorPalette02.webp"},{"revision":"add6199afd9681558b83a618061d94ef","url":"assets/img/colorPalette02-thumb.webp"},{"revision":"1208df405ed7b224278b02f7bac71f27","url":"assets/img/colorPalette01.webp"},{"revision":"cc9039ad86847d5ad2608b61ffb436b6","url":"assets/img/colorPalette01-thumb.webp"},{"revision":"272e426dbe2f4095849f539f4b4caccb","url":"assets/img/colorPalette.webp"},{"revision":"53bd526c030174e75bffbbfd9f6c7429","url":"assets/img/colorPalette-thumb.webp"},{"revision":"1a36fda5b92d2162ccd249dc01540333","url":"assets/img/avatar.webp"},{"revision":"04ab878b9cff127bec70bc1c64f24e7f","url":"assets/img/avatar-thumb.webp"},{"revision":"aac5c008eb12374d6d038ab5c20441e9","url":"assets/img/avatar-hires.webp"},{"revision":"3e1632af753edbeb05bb0410047c74be","url":"assets/img/avatar-hires-thumb.webp"},{"revision":"9eae032d416d302c99878f65df7d594f","url":"assets/img/archparser_template-creator.webp"},{"revision":"13204cd38474962b4fb13a10af6a013e","url":"assets/img/archparser_template-creator-thumb.webp"},{"revision":"1ea67d3d5c578da6c5abf2028b393fc8","url":"assets/img/archparser_template-creator-loaded.webp"},{"revision":"d11eca34c10ee1bfdca30103b6c563e7","url":"assets/img/archparser_template-creator-loaded-thumb.webp"},{"revision":"7e564783ec89e09da2046fdd3ce99084","url":"assets/img/archparser_filtering.webp"},{"revision":"9ceb90661bac1462ef86101efcac0808","url":"assets/img/archparser_filtering-thumb.webp"},{"revision":"e02548efe023d67caa80a4789a01efc7","url":"assets/img/archparser_export.webp"},{"revision":"0a9a26b73ab18cb68335c0e343548a1c","url":"assets/img/archparser_export-thumb.webp"},{"revision":"4ff3335abf2106dd75654774652de72b","url":"assets/img/archparser_drawing-set-details.webp"},{"revision":"e6c52fbe00c9b99c41fdc692e77f1627","url":"assets/img/archparser_drawing-set-details-thumb.webp"},{"revision":"43ca7f394f9194a6001a3ac594c16d3f","url":"assets/img/archparser_drawing-list.webp"},{"revision":"bd4c34bf6604754168110b24c4a398a1","url":"assets/img/archparser_drawing-list-thumb.webp"},{"revision":"78762991b7fd838bd3d561013bdec99a","url":"assets/img/archparser_drawing-details.webp"},{"revision":"260a3a6c2455697acafcf5aef009c0c5","url":"assets/img/archparser_drawing-details-thumb.webp"},{"revision":"0c11fba09203fab86b8142d5ecdc43b1","url":"assets/img/archparser_desktop_2.webp"},{"revision":"c8a58459e1657892552774f2b273c07c","url":"assets/img/archparser_desktop_2-thumb.webp"},{"revision":"90524f3d3c911984e069f21b5a89e935","url":"assets/img/archparser_desktop_1.webp"},{"revision":"c69451a4cf8efa17305eceded4612465","url":"assets/img/archparser_desktop_1-thumb.webp"},{"revision":"c3ed2b9fe36f12e56cf0dba0c00cd7fb","url":"assets/img/archparser_desktop_0.webp"},{"revision":"76d0f03e35e4d482c596f6a56c10ab77","url":"assets/img/archparser_desktop_0-thumb.webp"},{"revision":"67a14ffa594911421af6466d35ca310d","url":"assets/img/archparser_dashboard2.webp"},{"revision":"a2ce7f2e356e3c57abbdd79eb744dc39","url":"assets/img/archparser_dashboard2-thumb.webp"},{"revision":"3552ad539e3f3f3e8b752b1c80fc75b6","url":"assets/img/archparser_dashboard1.webp"},{"revision":"da530adeca400d428a9cd20d8c383c67","url":"assets/img/archparser_dashboard1-thumb.webp"},{"revision":"182d719f704464d1e3355d18e17b5f77","url":"assets/img/android-launchericon-72-72.webp"},{"revision":"5228df6fa1740653cbd301215254610b","url":"assets/img/android-launchericon-72-72-thumb.webp"},{"revision":"c62b2d43cea163553c271ab6f9a5db9c","url":"assets/img/android-launchericon-512-512.webp"},{"revision":"1826d4996e96faf5a88566ef91d714f3","url":"assets/img/android-launchericon-512-512-thumb.webp"},{"revision":"360e0ca76504da1d6cf3f7c00ee2cbb4","url":"assets/img/android-launchericon-48-48.webp"},{"revision":"1dc8986e1d0f058da734f6daf9a2a65e","url":"assets/img/android-launchericon-48-48-thumb.webp"},{"revision":"d395e0a1a07948f23ca61f5b77774cc3","url":"assets/img/android-launchericon-192-192.webp"},{"revision":"17a5ab3ee79e102ef81e10163d1d63f5","url":"assets/img/android-launchericon-192-192-thumb.webp"},{"revision":"d04a09a8d8145ffed14bfbc8a4c00f10","url":"assets/img/ajolicoeur_wordcloud_writing.webp"},{"revision":"4b1a296031a7ec99c02f8488ad957ffe","url":"assets/img/ajolicoeur_wordcloud_writing-thumb.webp"},{"revision":"0abeab5dcff2c3676f46186d4033c252","url":"assets/img/ajolicoeur_wordcloud.webp"},{"revision":"2d696a1f6f69dbcec3ad1e80a3c2d67a","url":"assets/img/ajolicoeur_wordcloud-thumb.webp"},{"revision":"710d860b89cdc83289512b9f16242de5","url":"assets/img/adamj-github.webp"},{"revision":"af5faaa1112edf542cda17e8167d6f13","url":"assets/img/adamj-github-thumb.webp"},{"revision":"319dae8e43de4e95b6f4320cfd9b7099","url":"assets/img/adam-j.webp"},{"revision":"5214446a385513f5e5061d3877f8ede7","url":"assets/img/adam-j-thumb.webp"},{"revision":"2fe50a62ceed5e12399144d9bd73169d","url":"assets/img/Timetrak.webp"},{"revision":"c0e88831e0dbb6e3c46bd0d7c77debee","url":"assets/img/Timetrak-thumb.webp"},{"revision":"3af619d28c891a713ae129bf5eef317b","url":"assets/img/TimeTrackerPro-1920x1080.webp"},{"revision":"e0a9bc110bf0e715d51e28cf9fb0e3ae","url":"assets/img/TimeTrackerPro-1920x1080-thumb.webp"},{"revision":"9f57204931cf30c63a860313571368f0","url":"assets/img/TheMagicCollection-icon-light.webp"},{"revision":"3d875ec2b7b17176fb5c99789a7a50d9","url":"assets/img/TheMagicCollection-icon-light-thumb.webp"},{"revision":"317c66ca0ddfc78dbb653912a7fd93f7","url":"assets/img/TheMagicCollection-icon-dark.webp"},{"revision":"4a60ae9a9f83f273ca065d4c86d2f0e2","url":"assets/img/TheMagicCollection-icon-dark-thumb.webp"},{"revision":"67fa19db9600f3f49138e7a70acd653d","url":"assets/img/TaskStat_Tinted.webp"},{"revision":"b9cb8765b277ee699b533332719a25d9","url":"assets/img/TaskStat_Tinted-thumb.webp"},{"revision":"46aa1797d8ea81b53ae4a60795070a2b","url":"assets/img/TaskStat_Default.webp"},{"revision":"cf654b8a56b590a1d1a766952a957894","url":"assets/img/TaskStat_Default-thumb.webp"},{"revision":"5032c83a01940d912a486c684b90b88f","url":"assets/img/TaskStat_Dark.webp"},{"revision":"084df8edb245ea60c692df90bc1aa069","url":"assets/img/TaskStat_Dark-thumb.webp"},{"revision":"f7bafadf62c4750319b225c342460475","url":"assets/img/TLG2012.webp"},{"revision":"2383cbde9b69ce33de90a8795f5378e4","url":"assets/img/TLG2012-thumb.webp"},{"revision":"6e8f13e5693e4e42fa7ac4c841f11841","url":"assets/img/Storybook-GettingStarted.webp"},{"revision":"fe190c4a545b13c565ba27b7bc1033d4","url":"assets/img/Storybook-GettingStarted-thumb.webp"},{"revision":"c8423d88345b8eeb38a9780740ff290a","url":"assets/img/Sitemap_alpha.webp"},{"revision":"ce4b331615b15f0a3bee3f6165b1856d","url":"assets/img/Sitemap_alpha-thumb.webp"},{"revision":"41ad2368af9a2427a4ca2e53a584c5cb","url":"assets/img/Screenshot_charts.webp"},{"revision":"fcee433e2bb9a1d201e2b4287ae795b9","url":"assets/img/Screenshot_charts-thumb.webp"},{"revision":"3c599b13093c355ecdae68590c33ac26","url":"assets/img/Scouters.webp"},{"revision":"174e6dae382b58aae17472214666ee9a","url":"assets/img/Scouters-thumb.webp"},{"revision":"aad3018b7741d98491b6b58cb2b88feb","url":"assets/img/SC_logo_cloud2.webp"},{"revision":"80ab29e4473a3b5e1bfd0ea9ff028ce9","url":"assets/img/SC_logo_cloud2-thumb.webp"},{"revision":"af13f791c0eb6593d7a24f7f134446ae","url":"assets/img/SC_logo_cloud.webp"},{"revision":"808de57760b15603349620c143b01903","url":"assets/img/SC_logo_cloud-thumb.webp"},{"revision":"cf418139b5fb0dfec2df23eee0cd9c57","url":"assets/img/SC_demo.webp"},{"revision":"fb81145afefc1704a1ff707f27db1b45","url":"assets/img/SC_demo-thumb.webp"},{"revision":"a24864136287441f6d60a118bbc82853","url":"assets/img/RHDManual_Home.webp"},{"revision":"129468c15bb33e0561a378af2f367d62","url":"assets/img/RHDManual_Home-thumb.webp"},{"revision":"0888385eac9865f4dae2fd4c88516b9b","url":"assets/img/RHDManual_DesignResources.webp"},{"revision":"8741f30ea31175a5603a1ed21a45d8c3","url":"assets/img/RHDManual_DesignResources-thumb.webp"},{"revision":"63a99404d9881981fb74666e9d8797db","url":"assets/img/RHDManual_CreateArticles.webp"},{"revision":"78a08d7ff0717df57b429c2550f8a242","url":"assets/img/RHDManual_CreateArticles-thumb.webp"},{"revision":"3e8a5f9a2ddfadfea1733d61d7f5af34","url":"assets/img/OSIO-laptop-screen-1200.webp"},{"revision":"60994a3d98a89b81697b96b8b51f67b8","url":"assets/img/OSIO-laptop-screen-1200-thumb.webp"},{"revision":"010b9e7f2c3fbf86cdb12d349becc003","url":"assets/img/LightColors.webp"},{"revision":"00af04d4efb90e9d68123abd8b404239","url":"assets/img/LightColors-thumb.webp"},{"revision":"5bc91e190efed3ab24e1b269b4f68100","url":"assets/img/Jolicoeur_iOS.webp"},{"revision":"211d68312e3679a4611ad30cf864c814","url":"assets/img/Jolicoeur_iOS-thumb.webp"},{"revision":"df552a9cb2abc9730f37762d625a541d","url":"assets/img/Dashboardwireframe.webp"},{"revision":"8a50dbbf47fcb0a69a1ce425d8a0e302","url":"assets/img/Dashboardwireframe-thumb.webp"},{"revision":"cf3536dfac28462c000debb44c90c6f6","url":"assets/img/DarkColors.webp"},{"revision":"f6ace4955d415d17add752fe3645d979","url":"assets/img/DarkColors-thumb.webp"},{"revision":"4726abae8fe9ba5ead703a4860617959","url":"assets/img/CEA_wireframe_first.webp"},{"revision":"0dd77ece98b33351957899ebaecb84eb","url":"assets/img/CEA_wireframe_first-thumb.webp"},{"revision":"10cff4c88902eb7fb095d560ebe08656","url":"assets/img/CEA_Settings.webp"},{"revision":"3664367535e022b298c8bf6bbdbbffc1","url":"assets/img/CEA_Settings-thumb.webp"},{"revision":"34f0f0d7bc803f3cd6faf6cb0dc39225","url":"assets/img/CEA_Palette.webp"},{"revision":"6b3e5d1ab141c2ad819e377f4821422a","url":"assets/img/CEA_Palette-thumb.webp"},{"revision":"6b3ccbc3f3f413bf62753ac7c969964a","url":"assets/img/CEA_Navigation.webp"},{"revision":"c532e6b816e46658a38b397ba088445e","url":"assets/img/CEA_Navigation-thumb.webp"},{"revision":"aaad0b2d435ade2ec9cda576ea4142d8","url":"assets/img/CEA_Engagement.webp"},{"revision":"66ac4c66baccd03d9fbd0cedfb3b7598","url":"assets/img/CEA_Engagement-thumb.webp"},{"revision":"f0ffeeb9e7b285246b88f5f2ca9df038","url":"assets/img/CEA_Dashboard_fix.webp"},{"revision":"a4b972ec6c684809656744d8dd62d8e6","url":"assets/img/CEA_Dashboard_fix-thumb.webp"},{"revision":"c3f56cedb2cf5394e6fed82e7613caba","url":"assets/img/CEA_Dashboard.webp"},{"revision":"ed6c72c7ad1f6f5671f93ce316511cca","url":"assets/img/CEA_Dashboard-thumb.webp"},{"revision":"02fd80f0cdf881953d8e73fe2d5e4ee5","url":"assets/img/CEA_ClientDetail.webp"},{"revision":"fc473a8e11b5c02479a21fd350be5255","url":"assets/img/CEA_ClientDetail-thumb.webp"},{"revision":"d7cea3ab5ca61c495309fc293962e0c9","url":"assets/img/CEA_AssetExamples.webp"},{"revision":"1aa9dd2de2cebf72313733745e7b05f9","url":"assets/img/CEA_AssetExamples-thumb.webp"},{"revision":"adf60e7d3a0b9f753879631e69029cf3","url":"assets/img/CAS-Typography.webp"},{"revision":"8765be50ca0df38f5848f5279a863257","url":"assets/img/CAS-Typography-thumb.webp"},{"revision":"6d1a3c3096fc4cdcb5b9bd39c391956b","url":"assets/img/CAS-TextInputs.webp"},{"revision":"7d1863ea8aece00e1083c60204591309","url":"assets/img/CAS-TextInputs-thumb.webp"},{"revision":"d94f76e20fc6476dec7a7ef6492a0409","url":"assets/img/CAS-Table-Component.webp"},{"revision":"4550e54dd441bc9ceaf91cf01ad59935","url":"assets/img/CAS-Table-Component-thumb.webp"},{"revision":"bd0e2fd78e0039db0dbf99f42b353b31","url":"assets/img/CAS-SpacingSizing.webp"},{"revision":"215e8c83cf2099d1d23de00dd1d9db86","url":"assets/img/CAS-SpacingSizing-thumb.webp"},{"revision":"418910b5b68d458d75abf85f162912c8","url":"assets/img/CAS-Icons.webp"},{"revision":"0d219367cf5e7c921caaf7df76ec60b6","url":"assets/img/CAS-Icons-thumb.webp"},{"revision":"e6bd2045862159025593e402df49d7a4","url":"assets/img/CAS-Foreground-Light.webp"},{"revision":"666f5e15c3b2f398101ae2ac42269735","url":"assets/img/CAS-Foreground-Light-thumb.webp"},{"revision":"d3f003045df4396221549a4692c0120f","url":"assets/img/CAS-Foreground-Dark.webp"},{"revision":"d2428d176e3acbacb950c7a7c2e79a4e","url":"assets/img/CAS-Foreground-Dark-thumb.webp"},{"revision":"806bb3ad0ca68993cfb31fcac0487245","url":"assets/img/CAS-DropdownExamples.webp"},{"revision":"42f932585fcf01fb57e5cdfeae2ea0eb","url":"assets/img/CAS-DropdownExamples-thumb.webp"},{"revision":"5853e66bb82f46cec1a5e46757760339","url":"assets/img/CAS-ColorPalette.webp"},{"revision":"9f43f6e10dc11bb3a6445b553805b2f9","url":"assets/img/CAS-ColorPalette-thumb.webp"},{"revision":"c62ad87675d9f81b43f31a3b9d38f3a4","url":"assets/img/CAS-Cards.webp"},{"revision":"2c534735535164eb5e61e0e8bcca5031","url":"assets/img/CAS-Cards-thumb.webp"},{"revision":"2ebc94f65e8dc2f0fa431b75748c0833","url":"assets/img/CAS-ButtonExamples.webp"},{"revision":"ac68c3c0a09bc8a3e12d5269d4949f10","url":"assets/img/CAS-ButtonExamples-thumb.webp"},{"revision":"b5063a109a0b597a6208c030cb2de23e","url":"assets/img/AdamJolicoeur_dot_com.webp"},{"revision":"a868bf90f3bbdc3c44c47a8f953e887e","url":"assets/img/AdamJolicoeur_dot_com-thumb.webp"},{"revision":"c27ba3c061ebf387f9a341a86cb4184a","url":"assets/img/AdamJolicoeur_dot_com-minimal.webp"},{"revision":"cf1bc28847a4e7fbe752d2440642a282","url":"assets/img/AdamJolicoeur_dot_com-minimal-thumb.webp"},{"revision":"b71fa97efce4679de124df270f035013","url":"assets/img/ALM_workflow.webp"},{"revision":"755f8c5038a7146767790551bca98bd1","url":"assets/img/ALM_workflow-thumb.webp"},{"revision":"801d46e1fd02938b100bf1ee970a4239","url":"assets/img/ALM_wireframe.webp"},{"revision":"cb2a35fb98857a8d86db346128f72916","url":"assets/img/ALM_wireframe-thumb.webp"},{"revision":"8c9ff5c4b809bbaa3039959ca701a9f8","url":"assets/img/ALM_step3.webp"},{"revision":"b884074bbdb4a23c47fa6a3a427afcf1","url":"assets/img/ALM_step3-thumb.webp"},{"revision":"da1dd79707014450d07779a1ee5882fa","url":"assets/img/ALM_step2.webp"},{"revision":"b5a1d25be3b51c2d4a1dce9595fe53cc","url":"assets/img/ALM_step2-thumb.webp"},{"revision":"c8d4961cb79dd3c742e99bb9554a2b17","url":"assets/img/ALM_step1.webp"},{"revision":"4aefd7692611d52ca7ed593d60e4ad78","url":"assets/img/ALM_step1-thumb.webp"},{"revision":"ea08d9e2896de73786bacf2f2093d735","url":"assets/img/ALM_planner.webp"},{"revision":"e927157eac95fa3d1b5f04751b0217c0","url":"assets/img/ALM_planner-thumb.webp"},{"revision":"9e9ac4c97d57417093cb1ed019282851","url":"assets/img/404_lost_tree.webp"},{"revision":"3017430f1bb7266f7833291cdc19c6ab","url":"assets/img/404_lost_tree-thumb.webp"},{"revision":"20e08660153a3f7e3f0088c579751b51","url":"assets/img/2025-chatgpt-trophy.webp"},{"revision":"9d9db767fa1ebb66ca5d63dbc1089894","url":"assets/img/2025-chatgpt-trophy-thumb.webp"},{"revision":"da91e835ced244ccda3b852cb69a8aee","url":"assets/img/2025-chatgpt-still.webp"},{"revision":"8823c8a692ed160dd06d2e8d2fea9b74","url":"assets/img/2025-chatgpt-still-thumb.webp"},{"revision":"1cb637ff184f8408dd67b1f06709b7f7","url":"assets/img/2025-chatgpt-sticker.webp"},{"revision":"f69254bcd1ee8ffeefb7f561dc908089","url":"assets/img/2025-chatgpt-sticker-thumb.webp"},{"revision":"7d58965881d5c818a7064bd487c52642","url":"assets/img/2025-chatgpt-badges.webp"},{"revision":"498bdcc52d700a5fe56bd0382acd81ef","url":"assets/img/2025-chatgpt-badges-thumb.webp"},{"revision":"0da0716592e17e18015f112429a38975","url":"archives/town-selectman.html"},{"revision":"7853f46e5580212fc541cfb3ac37bce2","url":"archives/index.html"},{"revision":"397dde773f1e4f2119b09860056948bf","url":"apps/timetracker.html"},{"revision":"44721ab68105b818df960338e1f9e75e","url":"apps/taskstat.html"},{"revision":"ca009a182458b4d1dcb8785a9624a579","url":"apps/taskstat-privacy.html"},{"revision":"56226b46076c1c282d343db8ec39ef39","url":"apps/support.html"},{"revision":"4993d5e6d29b4d3daa5585a9693d2b13","url":"apps/soccer.html"},{"revision":"2843afbcd6857c6a712635b8b9074307","url":"apps/privacy.html"},{"revision":"88b55995b620b68f78044aeec0205759","url":"apps/moonsilver.html"},{"revision":"4aec1976ba7e39fffa810f5e5e53a647","url":"apps/magiccollection.html"},{"revision":"e47c0d081d97a5f82d14d910747ed6ea","url":"apps/index.html"},{"revision":"d794979357e8163a01a880bd7727f8c1","url":"apps/gamesandthings.html"},{"revision":"ff7a40d22f8f399f18b8040e221c76ed","url":"about/resume/index.html"},{"revision":"dd19d3f0f824ae9fef42b73fefa9674c","url":"about/adam/index.html"}] || []);
diff --git a/package.json b/package.json
index 112d0683..80f97326 100644
--- a/package.json
+++ b/package.json
@@ -18,9 +18,7 @@
"stylelint:fix": "npx stylelint --fix `src/sass/style.scss`",
"watch:sass": "sass --no-source-map --watch src/sass:docs/css",
"watch:eleventy": "eleventy --serve --port=8081",
- "build:sass-nomap": "sass --no-source-map src/sass/style.scss docs/css/style.css",
- "build:sass-site": "sass src/sass:docs/css",
- "build:sass": "npm-run-all --parallel build:sass-site",
+ "build:sass": "sass src/sass:docs/css",
"build:eleventy": "eleventy",
"build:sw": "node scripts/build-sw.js",
"postbuild": "postcss docs/css/*.css -u autoprefixer cssnano -r",
@@ -29,7 +27,7 @@
"lint": "stylelint 'src/sass/*.scss'",
"lint:fix": "stylelint --fix 'src/sass/*.scss'",
"images:optimize": "node scripts/image-optimizer.js",
- "bump": "npm --no-git-tag-version version",
+ "bump": "pnpm version --no-git-tag-version",
"lint:design": "npx @google/design.md lint DESIGN.md"
},
"repository": {
@@ -62,6 +60,7 @@
"npm-run-all": "4.1.5",
"postcss-cli": "11.0.1",
"sass": "1.99.0",
+ "slugify": "1.6.9",
"stylelint": "17.6.0",
"stylelint-config-standard-scss": "17.0.0",
"stylelint-order": "8.1.1",
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index 36cca0e6..0d8ef739 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -89,6 +89,9 @@ importers:
sass:
specifier: 1.99.0
version: 1.99.0
+ slugify:
+ specifier: 1.6.9
+ version: 1.6.9
stylelint:
specifier: 17.6.0
version: 17.6.0(typescript@6.0.2)
diff --git a/src/sass/_buttons.scss b/src/sass/_buttons.scss
index 28d76523..ead5a934 100644
--- a/src/sass/_buttons.scss
+++ b/src/sass/_buttons.scss
@@ -100,14 +100,14 @@
font-weight: 600;
border: var(--border-medium, 4px) solid var(--earth-brown);
z-index: 2000;
- clip: rect(0, 0, 0, 0);
+ clip-path: inset(50%);
overflow: hidden;
}
.skip-link:focus {
top: 1rem;
left: 1rem;
- clip: auto;
+ clip-path: none;
overflow: visible;
}
diff --git a/src/sass/_cards.scss b/src/sass/_cards.scss
index c7d4af1b..abbf9eef 100644
--- a/src/sass/_cards.scss
+++ b/src/sass/_cards.scss
@@ -314,7 +314,7 @@
border-radius: var(--radius-xl, 20px);
padding: var(--space-lg, 1.5rem);
border: var(--border-medium, 4px) solid var(--border-border, #4a3426);
- box-shadow: 6px 6px 0 0 var(--shadow-light, rgba(45, 31, 18, 0.08));
+ box-shadow: 6px 6px 0 0 var(--shadow-light, rgb(45, 31, 18, 8%));
transition:
transform 0.3s,
box-shadow 0.3s;
@@ -326,9 +326,9 @@
align-self: stretch;
border-bottom: var(--border-medium) solid var(--border-brown, #4a3426);
background: var(--bg-canvas, #f5f1e8);
- border: var(--border-extra-thick, 8px) solid #000000;
+ border: var(--border-extra-thick, 8px) solid #000;
border-radius: var(--radius-lg, 16px);
- box-shadow: 0 0 12px var(--shadow-heavy, rgba(45, 31, 18, 0.25));
+ box-shadow: 0 0 12px var(--shadow-heavy, rgb(45, 31, 18, 25%));
margin-bottom: var(--space-xs, 0.5rem);
max-height: 300px;
object-fit: cover;
diff --git a/src/sass/_footer.scss b/src/sass/_footer.scss
index b7034315..b2f39d26 100644
--- a/src/sass/_footer.scss
+++ b/src/sass/_footer.scss
@@ -24,7 +24,7 @@ footer {
}
.footer-section h4 {
font-family: 'Playfair Display', serif;
- color: rgba(255, 255, 255, 0.5) !important;
+ color: rgb(255, 255, 255, 50%) !important;
margin-bottom: var(--space-md, 1rem);
font-size: clamp(1.1rem, 1.25vw, 1.125rem);
}
diff --git a/src/sass/_gallery.scss b/src/sass/_gallery.scss
index d249a5c2..99769f34 100644
--- a/src/sass/_gallery.scss
+++ b/src/sass/_gallery.scss
@@ -90,126 +90,20 @@
padding: 0;
position: absolute;
- &:nth-of-type(15):checked
- ~ .carousel__slides
- .carousel__slide:first-of-type {
- margin-left: -1400%;
- }
- &:nth-of-type(14):checked
- ~ .carousel__slides
- .carousel__slide:first-of-type {
- margin-left: -1300%;
- }
- &:nth-of-type(13):checked
- ~ .carousel__slides
- .carousel__slide:first-of-type {
- margin-left: -1200%;
- }
- &:nth-of-type(12):checked
- ~ .carousel__slides
- .carousel__slide:first-of-type {
- margin-left: -1100%;
- }
- &:nth-of-type(11):checked
- ~ .carousel__slides
- .carousel__slide:first-of-type {
- margin-left: -1000%;
- }
- &:nth-of-type(10):checked
- ~ .carousel__slides
- .carousel__slide:first-of-type {
- margin-left: -900%;
- }
- &:nth-of-type(9):checked
- ~ .carousel__slides
- .carousel__slide:first-of-type {
- margin-left: -800%;
- }
- &:nth-of-type(8):checked
- ~ .carousel__slides
- .carousel__slide:first-of-type {
- margin-left: -700%;
- }
- &:nth-of-type(7):checked
- ~ .carousel__slides
- .carousel__slide:first-of-type {
- margin-left: -600%;
- }
- &:nth-of-type(6):checked
- ~ .carousel__slides
- .carousel__slide:first-of-type {
- margin-left: -500%;
- }
- &:nth-of-type(5):checked
- ~ .carousel__slides
- .carousel__slide:first-of-type {
- margin-left: -400%;
- }
- &:nth-of-type(4):checked
- ~ .carousel__slides
- .carousel__slide:first-of-type {
- margin-left: -300%;
- }
- &:nth-of-type(3):checked
- ~ .carousel__slides
- .carousel__slide:first-of-type {
- margin-left: -200%;
- }
- &:nth-of-type(2):checked
- ~ .carousel__slides
- .carousel__slide:first-of-type {
- margin-left: -100%;
- }
- &:nth-of-type(1):checked
- ~ .carousel__slides
- .carousel__slide:first-of-type {
- margin-left: 0%;
+ // Slide N shifts the track left by (N - 1) * 100%, for up to 15 slides.
+ @for $i from 1 through 15 {
+ &:nth-of-type(#{$i}):checked
+ ~ .carousel__slides
+ .carousel__slide:first-of-type {
+ margin-left: #{($i - 1) * -100%};
+ }
}
- &:nth-of-type(1):checked ~ .carousel__thumbnails li:nth-of-type(1) {
- box-shadow: 0 0 0 5px rgb(0, 0, 255, 50%);
- }
- &:nth-of-type(2):checked ~ .carousel__thumbnails li:nth-of-type(2) {
- box-shadow: 0 0 0 5px rgb(0, 0, 255, 50%);
- }
- &:nth-of-type(3):checked ~ .carousel__thumbnails li:nth-of-type(3) {
- box-shadow: 0 0 0 5px rgb(0, 0, 255, 50%);
- }
- &:nth-of-type(4):checked ~ .carousel__thumbnails li:nth-of-type(4) {
- box-shadow: 0 0 0 5px rgb(0, 0, 255, 50%);
- }
- &:nth-of-type(5):checked ~ .carousel__thumbnails li:nth-of-type(5) {
- box-shadow: 0 0 0 5px rgb(0, 0, 255, 50%);
- }
- &:nth-of-type(6):checked ~ .carousel__thumbnails li:nth-of-type(6) {
- box-shadow: 0 0 0 5px rgb(0, 0, 255, 50%);
- }
- &:nth-of-type(7):checked ~ .carousel__thumbnails li:nth-of-type(7) {
- box-shadow: 0 0 0 5px rgb(0, 0, 255, 50%);
- }
- &:nth-of-type(8):checked ~ .carousel__thumbnails li:nth-of-type(8) {
- box-shadow: 0 0 0 5px rgb(0, 0, 255, 50%);
- }
- &:nth-of-type(9):checked ~ .carousel__thumbnails li:nth-of-type(9) {
- box-shadow: 0 0 0 5px rgb(0, 0, 255, 50%);
- }
- &:nth-of-type(10):checked ~ .carousel__thumbnails li:nth-of-type(10) {
- box-shadow: 0 0 0 5px rgb(0, 0, 255, 50%);
- }
- &:nth-of-type(11):checked ~ .carousel__thumbnails li:nth-of-type(11) {
- box-shadow: 0 0 0 5px rgb(0, 0, 255, 50%);
- }
- &:nth-of-type(12):checked ~ .carousel__thumbnails li:nth-of-type(12) {
- box-shadow: 0 0 0 5px rgb(0, 0, 255, 50%);
- }
- &:nth-of-type(13):checked ~ .carousel__thumbnails li:nth-of-type(13) {
- box-shadow: 0 0 0 5px rgb(0, 0, 255, 50%);
- }
- &:nth-of-type(14):checked ~ .carousel__thumbnails li:nth-of-type(14) {
- box-shadow: 0 0 0 5px rgb(0, 0, 255, 50%);
- }
- &:nth-of-type(15):checked ~ .carousel__thumbnails li:nth-of-type(15) {
- box-shadow: 0 0 0 5px rgb(0, 0, 255, 50%);
+ // Highlight the thumbnail matching the checked slide.
+ @for $i from 1 through 15 {
+ &:nth-of-type(#{$i}):checked ~ .carousel__thumbnails li:nth-of-type(#{$i}) {
+ box-shadow: 0 0 0 5px rgb(0, 0, 255, 50%);
+ }
}
}
}
diff --git a/src/sass/_typography.scss b/src/sass/_typography.scss
index f8b08878..809567cc 100644
--- a/src/sass/_typography.scss
+++ b/src/sass/_typography.scss
@@ -20,6 +20,7 @@ h1,
.hero h1 {
font-family: var(--font-family-heading);
+
// font-size: 6rem;
color: var(--text-primary);
margin-bottom: 1rem;
diff --git a/src/sass/_variables.scss b/src/sass/_variables.scss
index b419fe79..5fef45a7 100644
--- a/src/sass/_variables.scss
+++ b/src/sass/_variables.scss
@@ -33,7 +33,6 @@
--shadow: rgb(45, 31, 18, 15%);
--shadow-heavy: rgb(45, 31, 18, 25%);
--shadow-light: rgb(45, 31, 18, 8%);
-
--bg-canvas: var(--earth-cream);
--border-brown: var(--earth-brown);
diff --git a/src/sass/containers.scss b/src/sass/containers.scss
index e2e924eb..7fdad019 100644
--- a/src/sass/containers.scss
+++ b/src/sass/containers.scss
@@ -3,8 +3,7 @@
/* Grid row for adjacent card blocks */
.cards-row {
display: flex;
- flex-wrap: wrap;
- flex-direction: row;
+ flex-flow: row wrap;
gap: var(--space-lg, 1.5rem);
}
diff --git a/src/sass/print.scss b/src/sass/print.scss
index e3a321d9..6b6bc72b 100644
--- a/src/sass/print.scss
+++ b/src/sass/print.scss
@@ -142,7 +142,7 @@
/* Defining all page breaks */
blockquote {
- page-break-inside: avoid;
+ break-inside: avoid;
}
h1,
h2,
@@ -150,26 +150,26 @@
h4,
h5,
h6 {
- page-break-after: avoid;
- page-break-inside: avoid;
+ break-after: avoid;
+ break-inside: avoid;
}
img {
- page-break-inside: avoid;
- page-break-after: avoid;
+ break-inside: avoid;
+ break-after: avoid;
}
table,
pre {
- page-break-inside: avoid;
+ break-inside: avoid;
}
ul,
ol,
dl {
- page-break-before: avoid;
+ break-before: avoid;
}
/* Displaying link color and link behavior */
a {
- page-break-inside: avoid;
+ break-inside: avoid;
}
a,
a:link,
diff --git a/src/sass/slides.scss b/src/sass/slides.scss
index f6d115b8..3e60c415 100644
--- a/src/sass/slides.scss
+++ b/src/sass/slides.scss
@@ -11,10 +11,8 @@
.slides {
display: flex;
-
overflow-x: auto;
scroll-snap-type: x mandatory;
-
scroll-behavior: smooth;
-webkit-overflow-scrolling: touch;
}
@@ -45,7 +43,6 @@
transform: scale(1);
transition: transform 0.5s;
position: relative;
-
display: flex;
justify-content: center;
align-items: center;