:root{--color-white:#ffffff;--color-black:#000000;--color-dark-green:#002e24;--color-dark-green-transp:rgba(0,64,53,0.7);--color-bright-green:#007e60;--color-bright-green-transp:rgb(0,126,96,0.5);--color-gold-accent:#f0b400;--color-marigold-accent:#EAA221;--color-green-comp-marigold:#064E37;--color-darker-gold-accent:#b38600;--color-orange-accent:#FD9A28;--color-bright-green-accent:#61bd9b;--color-muted-green:#3f7f68;--color-dark-navy:#0b141f;--color-dark-gray:#3a414a;--color-light-gray:#768598;--color-very-light-gray:#f3f4f6;--color-light-green:#f0f9f5;--color-very-dark-green:#111111;--color-subtle-green-hover:rgba(0,128,0,0.1);--color-semi-translucent-white:rgba(255,255,255,0.6);--color-glass-border-green:rgba(0,64,53,0.12);--color-more-translucent-white:rgba(255,255,255,0.2);--color-darkest-blue:#1a1b26;--color-veryDark-blue:#1a1b26;--color-veryDark-blue-transp:rgb(26,27,38,0.7);--color-dark-blue:#24283b;--color-dark-blueGray:#2a2f4a;--color-dark-blueGraySoften:#2f3549;--color-darkblue-constrast:rgb(75,86,122);--color-sky-blue:#7aa2f7;--color-sky-blue2:#678DF5;--color-sky-blue-soft:#7dcfff;--color-light-blueGray:#a9b1d6;--color-light-blueGray-transp:rgb(169,177,214,.5);--color-light-blueGray-shadow:rgb(169,177,214,0.3);--color-light-blueGray-hover:#c0caf5;--color-accent-green:#9ece6a;--color-accent-teal:#73daca;--color-accent-cyan:#2ac3de;--color-accent-aqua:#b4f9f8;--color-semi-translucent-blue:rgba(36,40,59,0.4);--color-glass-border-blue:rgba(122,162,247,0.15);--color-more-translucent-blue:rgba(36,40,59,0.2);--warning-background-red:rgba(255,99,71,0.1);--warning-border-red:#E53E3E}:root{}[data-theme="light"]{--bg-primary:var(--color-white);--bg-secondary:var(--color-light-green);--bg-tertiary:var(--color-white);--bg-quaternary:var(--color-light-green);--bg-quinary:var(--color-white);--overlay-hue:var(--color-dark-green-transp);--text-primary:var(--color-dark-gray);--text-secondary:var(--color-bright-green);--text-faint:var(--color-light-gray);--text-inverse:var(--color-white);--text-title:var(--color-white);--text-hover:var(--color-marigold-accent);--text-hover-contrast:var(--color-green-comp-marigold);--text-resting-link:var(--color-bright-green);--text-resting-link2:var(--color-light-green);--text-resting_inverse_link:var(--color-light-green);--border-color:var(--color-light-gray);--divider-color:var(--color-muted-green);--accent-border:var(--color-marigold-accent);--accent-rule:var(--color-bright-green);--surface-default:var(--color-white);--surface-secondary:var(--color-white);--surface-contrast:var(--color-white);--surface-muted:var(--color-very-light-gray);--surface-deep:var(--color-dark-navy);--brand-primary:var(--color-bright-green);--brand-primary-transp:var(--color-bright-green-transp);--brand-secondary:var(--color-marigold-accent);--brand-primary-compliment:var(--color-white);--brand-secondary-compliment:var(--color-green-comp-marigold);--brand-3:var(--color-green-comp-marigold);--brand-3c:var(--color-marigold-accent);--brand-hover:var(--color-marigold-accent);--brand-hover-comp:var(--color-green-comp-marigold);--accent-success:var(--color-bright-green);--accent-muted:var(--color-muted-green);--button-primary:var(--color-bright-green);--button-primary-compliment:var(--color-white);--warning-background:var(--warning-background-red);--warning-border:var(--warning-border-red);--shadow-hue:rgba(0,0,0,0.15);--glass-pane:var(--color-semi-translucent-white);--glass-clear-pane:var(--color-more-translucent-white);--glass-edge:var(--color-glass-border-green)}[data-theme="dark"]{--bg-primary:var(--color-darkest-blue);--bg-secondary:var(--color-veryDark-blue);--bg-tertiary:var(--color-dark-blue);--bg-quaternary:var(--color-dark-blueGray);--bg-quinary:var(--color-dark-blueGraySoften);--overlay-hue:var(--color-veryDark-blue-transp);--text-primary:var(--color-light-blueGray);--text-secondary:var(--color-sky-blue2);--text-faint:var(--color-sky-blue-soft);--text-inverse:var(--color-black);--text-title:var(--color-light-blueGray);--text-hover:var(--color-sky-blue-soft);--text-hover-contrast:var(--color-dark-blue);--text-resting-link:var(--color-sky-blue2);--text-resting-link2:var(--color-sky-blue2);--text-resting_inverse_link:var(--color-sky-blue2);--border-color:var(--color-dark-blueGraySoften);--divider-color:var(--color-dark-blueGraySoften);--accent-border:var(--color-light-blueGray);--accent-rule:var(--color-light-blueGray);--surface-default:var(--color-dark-blueGray);--surface-secondary:var(--color-dark-blueGraySoften);--surface-contrast:var(--color-darkblue-constrast);--surface-muted:var(--color-dark-blue);--surface-deep:var(--color-veryDark-blue);--brand-primary:var(--color-sky-blue2);--brand-primary-transp:var(--color-light-blueGray-transp);--brand-secondary:var(--color-light-blueGray);--brand-secondary-compliment:var(--color-dark-blueGray);--brand-primary-compliment:var(--bg-quaternary);--brand-3:var(--color-light-blueGray);--brand-3c:var(--color-dark-blueGray);--brand-hover:var(--color-sky-blue-soft);--brand-hover-comp:var(--color-dark-blueGray);--accent-success:var(--color-accent-green);--accent-muted:var(--color-accent-teal);--button-primary:var(--color-light-blueGray);--button-primary-compliment:var(--bg-quaternary);--warning-background:var(--warning-background-red);--warning-border:var(--warning-border-red);--shadow-hue:var(--color-light-blueGray-shadow);--glass-pane:var(--color-semi-translucent-blue);--glass-clear-pane:var(--color-more-translucent-blue);--glass-edge:var(--color-glass-border-blue)}.contact-info{margin-bottom:2em}.contact-item{display:flex;align-items:center;gap:0.5em;font-size:1.1em;margin-bottom:1em}.contact-icon{width:24px;height:24px}.contact-form{max-width:600px;margin:0 auto;display:flex;flex-direction:column;gap:1.5em}.form-group{display:flex;flex-direction:column}.form-group label{margin-bottom:0.3em;font-weight:bold}.form-group input,.form-group textarea{padding:0.5em;border:1px solid var(--accent-rule);color:var(--text-primary);border-radius:4px;font-size:1em;background-color:var(--surface-default)}.form-checkbox{display:flex;align-items:center;gap:0.5em;margin-bottom:1em}.form-checkbox input[type="checkbox"]{margin:0}.form-checkbox label{margin:0;display:inline-block}.submit-button{padding:0.7em 1.5em;background-color:var(--brand-color1);color:var(--surface-on-primary);border:none;border-radius:4px;font-size:1.1em;cursor:pointer;transition:background-color 0.3s ease}.submit-button:hover{background-color:var(--brand-color2)}@media (min-width:768px){.contact-container{display:flex;gap:20px;justify-content:center;max-width:1000px;margin:0 auto}.contact-info{flex:1;max-width:300px;height:auto;border:1px solid var(--border-color);margin:1em 0;background-color:var(--surface-default);padding:1em;border-radius:8px}.contact-form{flex:2;border:1px solid var(--border-color);margin:1em 0;background-color:var(--surface-default);padding:1em;border-radius:8px}.contact-form .form-row{display:flex;gap:1em}.form-row .form-group{flex:1}}.contact-info,.contact-form{border:1px solid var(--border-color);margin:1em 0;background-color:var(--surface-default);padding:1em;border-radius:8px}.contact-info,.contact-form{width:100%;box-sizing:border-box}.contact-bounding-container{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;max-width:1000px;margin:0 auto;padding:1em 0}.contact-info,.contact-form{flex:1;max-width:100%;border:1px solid var(--border-color);background-color:var(--surface-default);padding:1em;border-radius:8px}@media (max-width:767px){.contact-bounding-container{flex-direction:column}}html,body{margin:0;padding:0;min-height:100vh;display:flex;flex-direction:column;background:var(--bg-secondary);background-color:var(--bg-secondary);color:var(--text-primary);font-family:'Nunito Sans',system-ui,sans-serif;overflow-x:hidden}main{flex:1}.banner-strip{position:relative;overflow:visible;background-image:linear-gradient(var(--overlay-hue),var(--overlay-hue)),image-set(url('/assets/images/banner.avif') type('image/avif'),url('/assets/images/banner.webp') type('image/webp'),url('/assets/images/banner.jpeg') type('image/jpeg'));background-blend-mode:normal;background-size:cover;background-position:center}.site-nav{overflow:visible}#theme-toggle{margin-left:1em}#hamburger-toggle{display:none;background:none;color:var(--text-title);font-size:large;border:1px solid var(--text-title);border-radius:4px;cursor:pointer}#hamburger-toggle:hover,#hamburger-toggle:focus{box-shadow:0 4px 6px var(--shadow-hue);color:var(--text-hover);border-color:var(--text-hover)}.header-top{position:relative;display:flex;align-items:center;justify-content:space-between;padding:0.5em 1em}.RAI-nav-list{list-style:none;display:flex;gap:1.5em;margin:0;padding:0}.RAI-nav-list a{text-decoration:none;color:var(--text-title);font-family:'Caveat',system-ui,sans-serif;font-size:20px;font-weight:400}.site-nav #theme-toggle{display:none}@media (max-width:768px){.site-nav .RAI-nav-list{display:none}#hamburger-toggle{display:inline-block}.site-nav.open .RAI-nav-list{display:flex;flex-direction:column;background:var(--bg-secondary);position:absolute;z-index:20;top:100%;right:1em;padding:1em;border:1px solid var(--border-color);border-radius:4px}.site-nav.open .RAI-nav-list li{padding:0.5em 1em;background:var(--bg-secondary);border-radius:4px;margin-bottom:0.5em;transition:background 0.2s}.site-nav.open .RAI-nav-list li:hover{background:var(--bg-hover)}.site-nav.open .RAI-nav-list a{color:var(--text-primary);display:block;width:100%;height:100%}.site-nav.open #theme-toggle{display:block;margin:1em auto 0}}a{color:var(--text-resting-link);text-decoration:none}a.inverse_link{color:var(--text-resting_inverse_link);text-decoration:none}a:hover,a:focus{text-decoration:underline;color:var(--text-hover)}#theme-toggle{background-color:var(--bg-quinary)!important;transition:box-shadow 0.2s ease,color 0.2s ease,border-color 0.2s ease}#theme-toggle:hover,#theme-toggle:focus{box-shadow:0 4px 6px var(--shadow-hue);color:var(--brand-hover)!important;border-color:var(--brand-hover)!important}#RAI-nav-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,0.5);z-index:19}#RAI-nav-overlay.active{display:block}#full-header{background-blend-mode:multiply}.RAI-content-wrapper{flex:1;overflow-x:hidden;overflow-y:auto;color:var(--text-primary);padding:0 1em}.RAI-content-full-page{background-color:var(--surface-default);margin:2rem auto;padding:2rem;max-width:1200px;border-radius:8px;border:0.5px solid var(--border-color)}.RAI-content-wrapper a{color:var(--text-resting-link);text-decoration:underline}.RAI-content-wrapper a:hover,.RAI-content-wrapper a:focus{color:var(--text-hover)}.RAI-nav-link{color:var(--text-title);text-decoration:none}.RAI-nav-link:hover{color:var(--text-hover);text-decoration:underline}.RAI-h1{font-size:2.5rem;line-height:1.2;margin:1rem 0;color:var(--text-primary);font-weight:700;font-family:'Nunito Sans',system-ui,sans-serif}.RAI-h2{font-size:2rem;line-height:1.3;margin:0.75rem 0;color:var(--text-secondary);font-weight:600;font-family:'Nunito Sans',system-ui,sans-serif}.RAI-h3{font-size:1.75rem;line-height:1.35;margin:0.75rem 0;color:var(--text-primary);font-weight:600;font-family:'Nunito Sans',system-ui,sans-serif}.RAI-h4{font-size:1.5rem;line-height:1.4;margin:0.5rem 0;color:var(--text-primary);font-weight:500;font-family:'Nunito Sans',system-ui,sans-serif}.RAI-h5{font-size:1.25rem;line-height:1.4;margin:0.5rem 0;color:var(--text-primary);font-weight:500;font-family:'Nunito Sans',system-ui,sans-serif}.RAI-h6{font-size:1rem;line-height:1.5;margin:0.5rem 0;color:var(--text-primary);font-weight:400;font-family:'Nunito Sans',system-ui,sans-serif}.RAI-button{display:inline-block;padding:0.5em 1em;border-radius:9999px;border:1px solid var(--button-primary);background:var(--button-primary-compliment);color:var(--button-primary);font-weight:normal;text-decoration:none;transition:background-color 0.2s,color 0.2s;align-self:flex-start}.RAI-button:hover,.RAI-button:focus{background:var(--button-primary);color:var(--button-primary-compliment)}#dgcv-label{font-family:'Source Code Pro',monospace;font-weight:400;font-size:0.95em;background-color:var(--glass-pane);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);padding:0.1em;border-radius:0.25em;letter-spacing:0.02em;font-feature-settings:"liga" off;border:1px solid var(--glass-edge)}.inline-code{font-family:'Source Code Pro',monospace;font-weight:400;font-size:0.95em;background-color:var(--glass-pane);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);padding:0.1em;border-radius:0.25em;letter-spacing:0.02em;font-feature-settings:"liga" off;border:1px solid var(--glass-edge)}