/* GENERATED from the approved public CSS; edit canonical source/generator, not this file. */
.canonical-footer{width: 100%;}
.canonical-header,.canonical-footer{max-width: 100%;}
.canonical-header .logo,.canonical-footer .logo{display: inline-flex;
    align-items: center;
    font-size: 2rem; 
    background-color: #ff8177;
    background-image: linear-gradient(to top, #ff0844 0%, #ffb199 100%);
    background-size: 100%;
    -webkit-background-clip: text;
    -moz-background-clip: text;
    -webkit-text-fill-color: transparent;
    -moz-text-fill-color: transparent;
    text-decoration: none;}
.canonical-header .logo .logo-icon,.canonical-footer .logo .logo-icon{font-size: 1.5em; 
    margin-right: 0.5rem;}
.canonical-header .logo,.canonical-footer .logo,.canonical-header .nav-links a,.canonical-footer .nav-links a{transition: color 0.3s ease;}
.canonical-header .nav-links a[href="#about"],.canonical-footer .nav-links a[href="#about"]{;}
.canonical-header .nav-links a[href="#services"],.canonical-footer .nav-links a[href="#services"]{}
.canonical-header .nav-links a[href="#portfolio"],.canonical-footer .nav-links a[href="#portfolio"]{}
.canonical-header .nav-links a[href="#testimonials"],.canonical-footer .nav-links a[href="#testimonials"]{}
.canonical-header .nav-links a[href="#blog"],.canonical-footer .nav-links a[href="#blog"]{color: #ffb199;}
.canonical-header .nav-links a[href="#contact"],.canonical-footer .nav-links a[href="#contact"]{color: #ff7e5f;}
.canonical-header body.dark-mode .logo,.canonical-footer body.dark-mode .logo{color: #007aff;}
.canonical-header body.dark-mode .nav-links a[href="#about"],.canonical-footer body.dark-mode .nav-links a[href="#about"]{;}
.canonical-header body.dark-mode .nav-links a[href="#services"],.canonical-footer body.dark-mode .nav-links a[href="#services"]{}
.canonical-header body.dark-mode .nav-links a[href="#portfolio"],.canonical-footer body.dark-mode .nav-links a[href="#portfolio"]{}
.canonical-header body.dark-mode .nav-links a[href="#testimonials"],.canonical-footer body.dark-mode .nav-links a[href="#testimonials"]{}
.canonical-header body.dark-mode .nav-links a[href="#blog"],.canonical-footer body.dark-mode .nav-links a[href="#blog"]{color: #ffb199;}
.canonical-header body.dark-mode .nav-links a[href="#contact"],.canonical-footer body.dark-mode .nav-links a[href="#contact"]{color: #ff7e5f;}
.canonical-header .nav-links a,.canonical-footer .nav-links a{transition: transform 0.3s ease, color 0.3s ease; 
    
    margin-left: 4px; 
    display: inline-block;}
.canonical-header .nav-links a:hover,.canonical-footer .nav-links a:hover{transform: scale(1.1); 
    opacity: 0.5;}
.canonical-header .nav-links a:hover,.canonical-footer .nav-links a:hover{opacity: 0.9;

    
    transform: translateZ(0) translateY(-2px) scale(1.05); 
    text-shadow:
        1px 1px 2px rgba(255, 8, 68, 0.7), 
        -1px -1px 2px rgba(255, 177, 153, 0.7), 
        0 0 5px rgba(255, 8, 68, 0.5), 
        0 0 7px rgba(255, 177, 153, 0.5); 

    transition: transform 0.3s ease, text-shadow 0.3s ease, opacity 0.3s ease; 
    position: relative; 
    z-index: 1; 
    overflow: visible;}
.canonical-header body.dark-mode .logo .logo-icon,.canonical-footer body.dark-mode .logo .logo-icon{color: #ff4500 !important;}
.canonical-header{width: 100%;
    background-color: rgba(10, 1, 1, 0.65); 
    backdrop-filter: blur(10px); 
    color: #333; 
    box-shadow: 0 8px 10px rgba(0, 0, 0, 0.1), 
                 0 0 20px rgba(0, 0, 0, 0.1), 
                 inset 0 -1px 2px rgba(0, 0, 0, 0.1); 
    position: sticky;
    top: 0;
    z-index: 1000;
    padding: 0.5em 1em;
    border-bottom: 2px solid rgba(0, 0, 0, 0.1);}
.canonical-header nav{display: flex; 
    justify-content: space-between; 
    align-items: center;}
.canonical-header .nav-container,.canonical-footer .nav-container{display: flex; 
    justify-content: space-between; 
    align-items: center; 
    width: 100%;}
.canonical-header .nav-links,.canonical-footer .nav-links{list-style: none; 
    display: flex; 
    margin: 0; 
    padding: 0;}
.canonical-header .nav-links li,.canonical-footer .nav-links li{margin-right: 20px; 
    display: inline-block;}
.canonical-header .nav-links li:last-child,.canonical-footer .nav-links li:last-child{margin-right: 0;}
.canonical-header .nav-links li a,.canonical-footer .nav-links li a{color: #333; 
    font-weight: bold; 
    text-decoration: none; 
    transition: color 0.3s ease-in-out;}
.canonical-header .nav-links a.active,.canonical-footer .nav-links a.active{font-weight: 900; 
    text-shadow: 
        0 1px 0 rgba(0, 0, 0, 0.7),
        0 2px 0 rgba(0, 0, 0, 0.6),
        0 3px 0 rgba(0, 0, 0, 0.5),
        0 4px 0 rgba(0, 0, 0, 0.4),
        0 5px 0 rgba(0, 0, 0, 0.3),
        0 6px 0 rgba(0, 0, 0, 0.2),
        0 7px 0 rgba(0, 0, 0, 0.1),
        0 8px 10px rgba(255, 255, 255, 0.4),
        0 10px 20px rgba(255, 255, 255, 0.3),
        0 15px 30px rgba(255, 255, 255, 0.2); 
    transition: transform 0.3s ease, text-shadow 0.3s ease;}
.canonical-header .nav-links a.active:hover,.canonical-footer .nav-links a.active:hover{transform: translateY(-2px) scale(1.03);}
.canonical-header .toggle-container,.canonical-footer .toggle-container{display: flex;
    align-items: center;}
.canonical-header .mode-icon,.canonical-footer .mode-icon{display: inline-block;
    margin: 0 5px;}
.canonical-header #toggle-dark-mode,.canonical-footer #toggle-dark-mode{height: 0;
    width: 0;
    visibility: hidden;}
.canonical-header .toggle-label,.canonical-footer .toggle-label{cursor: pointer;
    text-indent: -9999px;
    width: 50px;
    height: 25px;
    background: grey;
    display: block;
    border-radius: 100px;
    position: relative;}
.canonical-header .toggle-label:after,.canonical-footer .toggle-label:after{content: "";
    position: absolute;
    top: 2px;
    left: 2px;
    width: 21px;
    height: 21px;
    background: #fff;
    border-radius: 90px;
    transition: 0.3s;}
.canonical-header #toggle-dark-mode:checked + .toggle-label:after,.canonical-footer #toggle-dark-mode:checked + .toggle-label:after{left: 27px; 
    transform: translateX(0);}
html :is(.canonical-header,.canonical-footer){--color-blog: #ffb199;--color-contact: #ff7e5f;--text-color: #830000d0;--background-color: #fff;--text-color-dark: #ff7f7f;--background-color-dark: #333;}
@media  (max-width: 768px) {.canonical-header .nav-links li,.canonical-footer .nav-links li{margin: 10px 0;}}
.canonical-footer{background-color: #333;
    color: white;
    text-align: center;
    padding: 1.5em 0;
    clear: both; 
    position: relative; 
    width: 100%;}
.canonical-header body.dark-mode .logo,.canonical-footer body.dark-mode .logo,.canonical-header body.dark-mode .nav-links a,.canonical-footer body.dark-mode .nav-links a{color: inherit;}
.canonical-header body.dark-mode .nav-links a:hover,.canonical-footer body.dark-mode .nav-links a:hover{transform: scale(1.1); 
    opacity: 0.8; 
    transition: transform 0.3s ease, opacity 0.3s ease;}
.canonical-header body.dark-mode .nav-links a[href="#about"],.canonical-footer body.dark-mode .nav-links a[href="#about"]{;}
body.dark-mode .canonical-header{width: 100%;
    background-color: rgba(10, 1, 1, 0.65); 
    backdrop-filter: blur(10px); 
    color: #333; 
    box-shadow: 0 8px 10px rgba(0, 0, 0, 0.1), 
                 0 0 20px rgba(0, 0, 0, 0.1), 
                 inset 0 -1px 2px rgba(0, 0, 0, 0.1); 
    position: sticky;
    top: 0;
    z-index: 1000;
    padding: 0.5em 1em;
    border-bottom: 2px solid rgba(0, 0, 0, 0.1);}
.canonical-header body.dark-mode .nav-container,.canonical-footer body.dark-mode .nav-container{background-color: transparent;}
@media  (max-width: 768px) {.canonical-header .nav-links,.canonical-footer .nav-links{flex-direction: column;}
.canonical-header .nav-links li,.canonical-footer .nav-links li{margin-bottom: 10px;}
.canonical-header .nav-links li a,.canonical-footer .nav-links li a{font-size: 1.2em;}
.canonical-header .nav-links,.canonical-footer .nav-links{display: flex;
    justify-content: space-around;
    align-items: center;}
.site-header .menu-icon{display: none !important;
    cursor: pointer;}
@media  (max-width: 768px) {.canonical-header .nav-container .menu-icon,.canonical-footer .nav-container .menu-icon{display: block !important; 
        position: absolute;
        right: 20px;
        top: 20px;
        cursor: pointer;}
.canonical-header .nav-container .nav-links,.canonical-footer .nav-container .nav-links{display: flex; 
        flex-direction: column;
        position: absolute;
        top: 57px; 
        left: 50%;
        transform: translateX(-50%) translateY(-100%); 
        width: 90%;
        background-color: #00000096; 
        transition: transform 0.5s ease; 
        visibility: hidden;}
.canonical-header .nav-container .nav-links.active,.canonical-footer .nav-container .nav-links.active{transform: translateX(-50%) translateY(0); 
        visibility: visible;}}
.canonical-header .brand-name a,.canonical-footer .brand-name a{font-size: 1.5em;
    color: #333;
    text-decoration: none;}
.canonical-footer a{color: #007aff;
    text-decoration: none;}
.canonical-footer a:hover{text-decoration: none;}}
@font-face{font-family:"Font Awesome 6 Brands";font-style:normal;font-weight:400;font-display:block;src:url("/vendor/fontawesome/webfonts/fa-brands-400.woff2") format("woff2")}
@font-face{font-family:"Font Awesome 6 Free";font-style:normal;font-weight:900;font-display:block;src:url("/vendor/fontawesome/webfonts/fa-solid-900.woff2") format("woff2")}
.canonical-header .fa-brands,.canonical-footer .fa-brands,.canonical-header .fa-solid,.canonical-footer .fa-solid{display:inline-block;font-style:normal;font-variant:normal;line-height:1;text-rendering:auto;-webkit-font-smoothing:antialiased}
.canonical-header .fa-brands,.canonical-footer .fa-brands{font-family:"Font Awesome 6 Brands";font-weight:400}
.canonical-header .fa-solid,.canonical-footer .fa-solid{font-family:"Font Awesome 6 Free";font-weight:900}
.canonical-header .fa-brands::before,.canonical-footer .fa-brands::before,.canonical-header .fa-solid::before,.canonical-footer .fa-solid::before{content:var(--fa)}
.canonical-header .fa-arrow-right,.canonical-footer .fa-arrow-right{--fa:""}
.canonical-header .fa-briefcase,.canonical-footer .fa-briefcase{--fa:""}
.canonical-header .fa-comment-dots,.canonical-footer .fa-comment-dots{--fa:""}
.canonical-header .fa-dev,.canonical-footer .fa-dev{--fa:""}
.canonical-header .fa-envelope,.canonical-footer .fa-envelope{--fa:""}
.canonical-header .fa-folder-open,.canonical-footer .fa-folder-open{--fa:""}
.canonical-header .fa-github,.canonical-footer .fa-github{--fa:""}
.canonical-header .fa-linkedin,.canonical-footer .fa-linkedin{--fa:""}
.canonical-header .fa-linkedin-in,.canonical-footer .fa-linkedin-in{--fa:""}
.canonical-header .fa-user,.canonical-footer .fa-user{--fa:""}
.canonical-header{min-height: 70px;}
.canonical-header .nav-links a,.canonical-footer .nav-links a{min-height: 44px; display: inline-flex; align-items: center; gap: 4px;}
.canonical-header .nav-links li,.canonical-footer .nav-links li{margin-right: 16px;}
.canonical-header .logo,.canonical-footer .logo{margin-left: 0;}
.canonical-header .logo:focus-visible,.canonical-footer .logo:focus-visible{-webkit-text-fill-color: #ffb199;}
.canonical-header .toggle-container,.canonical-footer .toggle-container{position: relative; min-width: 104px; min-height: 44px; justify-content: center;}
.canonical-header #toggle-dark-mode,.canonical-footer #toggle-dark-mode{position: absolute; left: 27px; top: 0; width: 50px; height: 44px; opacity: 0; visibility: visible; z-index: 2; cursor: pointer;}
.canonical-header #toggle-dark-mode:focus-visible + .toggle-label,.canonical-footer #toggle-dark-mode:focus-visible + .toggle-label{outline: 3px solid #fff2d9; outline-offset: 5px;}
.canonical-header #toggle-dark-mode:checked + .toggle-label,.canonical-footer #toggle-dark-mode:checked + .toggle-label{background: #756390;}
.canonical-header .mode-icon,.canonical-footer .mode-icon{pointer-events: none;}
.canonical-header .menu-icon,.canonical-footer .menu-icon{display: none;}
.canonical-header a:focus-visible,.canonical-header button:focus-visible,.canonical-footer a:focus-visible{outline-color: #fff2d9;}
.canonical-footer{scroll-snap-align: end;}
.canonical-footer.container{max-width: none; padding: 30px; background: #241a28;}
.footer-inner{max-width: 1100px; margin: auto; display: flex; align-items: center; justify-content: space-between; gap: 24px;}
.canonical-footer p,body.dark-mode .canonical-footer p{background: none;}
.footer-social{display: flex; gap: 12px;}
.footer-social a{display: inline-flex; min-width: 44px; min-height: 44px; align-items: center; justify-content: center; font-size: 24px; margin: 0;}
@media  (max-width:1100px) {.canonical-header .nav-links li,.canonical-footer .nav-links li{margin-right: 7px;}
.canonical-header .nav-links a,.canonical-footer .nav-links a{font-size: 14px;}
.canonical-header .brand-name .logo,.canonical-footer .brand-name .logo{font-size: 26px;}}
@media  (max-width:900px) {.canonical-header,body.dark-mode .canonical-header{padding: 8px 16px;}
.canonical-header nav.container{padding: 0;}
.canonical-header .nav-container,.canonical-footer .nav-container{gap: 4px;}
.canonical-header .brand-name,.canonical-footer .brand-name{flex: 1;}
.canonical-header .brand-name .logo,.canonical-footer .brand-name .logo{font-size: 26px;}
.canonical-header .toggle-container,.canonical-footer .toggle-container{margin-right: 54px;}
.canonical-header .nav-container .menu-icon,.canonical-footer .nav-container .menu-icon{display: flex !important; position: absolute; top: 13px; right: 14px; width: 44px; height: 44px; align-items: center; justify-content: center; flex-direction: column; gap: 5px; border: 0; border-radius: 5px; background: transparent; cursor: pointer;}
.canonical-header .bar,.canonical-footer .bar{display: block; width: 23px; height: 2px; transition: transform .3s ease,opacity .3s ease;}
.canonical-header .menu-icon[aria-expanded=true] .bar:nth-child(1),.canonical-footer .menu-icon[aria-expanded=true] .bar:nth-child(1){transform: translateY(7px) rotate(45deg);}
.canonical-header .menu-icon[aria-expanded=true] .bar:nth-child(2),.canonical-footer .menu-icon[aria-expanded=true] .bar:nth-child(2){opacity: 0;}
.canonical-header .menu-icon[aria-expanded=true] .bar:nth-child(3),.canonical-footer .menu-icon[aria-expanded=true] .bar:nth-child(3){transform: translateY(-7px) rotate(-45deg);}
.canonical-header .nav-container .nav-links,.canonical-footer .nav-container .nav-links{position: absolute; top: 100%; left: 0; width: 100%; display: flex; flex-direction: column; padding: 16px; gap: 2px; box-shadow: 0 14px 26px #24152e55; visibility: hidden; opacity: 0; transform: translateY(-12px); transition: transform .4s ease,opacity .4s ease,visibility .4s;}
.canonical-header .nav-container .nav-links.active,.canonical-footer .nav-container .nav-links.active{visibility: visible; opacity: 1; transform: translateY(0);}
.canonical-header .nav-links li,.canonical-footer .nav-links li{display: block; width: 100%; margin: 0;}
.canonical-header .nav-links li a,.canonical-footer .nav-links li a{display: flex; justify-content: center; font-size: 17px; min-height: 48px;}}
@media  (max-width:768px) {.footer-inner{flex-direction: column; gap: 16px;}}
@media  (max-width:359px) {.canonical-header .brand-name .logo,.canonical-footer .brand-name .logo{font-size: 22px;}
.canonical-header .logo .logo-icon,.canonical-footer .logo .logo-icon{margin-right: 5px;}
.canonical-header .toggle-container,.canonical-footer .toggle-container{min-width: 94px;}
.canonical-header .mode-icon,.canonical-footer .mode-icon{margin: 0 3px;}
.canonical-header #toggle-dark-mode,.canonical-footer #toggle-dark-mode{left: 22px;}}
@media  (prefers-reduced-motion: reduce) {.canonical-header .nav-links a:hover,.canonical-footer .nav-links a:hover,.canonical-header .nav-links a.active:hover,.canonical-footer .nav-links a.active:hover,.canonical-header body.dark-mode .nav-links a:hover,.canonical-footer body.dark-mode .nav-links a:hover{transform: none !important;}}
html :is(.canonical-header,.canonical-footer){--header-height: 70px;}
html :is(.canonical-header,.canonical-footer){--stage-surface:#ffd3cc;--glide:cubic-bezier(.16,1,.3,1);}
.canonical-header .project-action,.canonical-footer .project-action{transition:color .28s ease,background-color .35s ease,border-color .35s ease,box-shadow .3s ease;}
.canonical-header .project-actions,.canonical-footer .project-actions{display:flex; flex-wrap:wrap; gap:10px; margin-top:26px; align-items:center;}
.canonical-header .project-action,.canonical-footer .project-action{display:inline-flex; align-items:center; justify-content:center; min-height:46px; gap:12px; padding:11px 17px; margin:0; border-radius:7px; font-size:13px; font-weight:700; border:1px solid transparent; text-decoration:none; transition:transform .25s var(--glide),box-shadow .25s ease,background-color .3s ease,color .3s ease;}
.canonical-header .project-action.primary,.canonical-footer .project-action.primary{color:#fff4ec;}
.canonical-header .project-action.secondary,.canonical-footer .project-action.secondary{background:#ffe5da88;}
.canonical-header .project-action:hover,.canonical-footer .project-action:hover{transform:translateY(-3px); text-decoration:none;}
.canonical-header .project-action:active,.canonical-footer .project-action:active{transform:translateY(1px); box-shadow:none;}
.canonical-header .dark-mode .project-action.primary,.canonical-footer .dark-mode .project-action.primary{color:#392b45;}
.canonical-header .dark-mode .project-action.secondary,.canonical-footer .dark-mode .project-action.secondary{background:#473851; border-color:#997ba688; box-shadow:0 3px 0 #221c31;}
.canonical-header .project-action:focus-visible,.canonical-footer .project-action:focus-visible{outline-offset:5px;}
.canonical-header .dark-mode .project-action:focus-visible,.canonical-footer .dark-mode .project-action:focus-visible{outline-color:#ffe2c9;}
@media  (min-width:1000px) and (max-height:820px) {.canonical-header .project-actions,.canonical-footer .project-actions{margin-top:18px;}}
@media  (max-width:999px), (max-height:679px), (pointer:coarse) {.canonical-header .project-actions,.canonical-footer .project-actions{gap:10px;}
.canonical-header .project-action,.canonical-footer .project-action{padding:11px 15px;}}
@media  (prefers-reduced-motion:reduce) {.canonical-header .project-action:hover,.canonical-footer .project-action:hover{transform:none!important; filter:none!important;}}
html :is(.canonical-header,.canonical-footer){--deck-ease:cubic-bezier(.215,.61,.355,1);}
.canonical-header .project-actions,.canonical-footer .project-actions{gap:10px;margin-top:23px}
.canonical-header .project-action,.canonical-footer .project-action{min-height:46px;font-size:11px;letter-spacing:.065em;text-transform:uppercase;border-radius:9px;padding:12px 16px;gap:10px}
.canonical-header .project-action.primary,.canonical-footer .project-action.primary{}
.canonical-header .dark-mode .project-action.primary,.canonical-footer .dark-mode .project-action.primary{}
.canonical-header .project-action.secondary,.canonical-footer .project-action.secondary{}
.canonical-header .dark-mode .project-action.secondary,.canonical-footer .dark-mode .project-action.secondary{background:#463550;border-color:#92749f}
@media (min-width:1000px) and (max-height:820px){.canonical-header .project-actions,.canonical-footer .project-actions{margin-top:18px}}
@media (max-width:999px),(max-height:679px),(pointer:coarse),(max-width:1099px) and (max-height:739px){.canonical-header .project-actions,.canonical-footer .project-actions{margin-top:23px}}
@media (prefers-reduced-motion:reduce){.canonical-header .project-action,.canonical-footer .project-action{transform:none!important;translate:none!important}}
html :is(.canonical-header,.canonical-footer){--motion-ease:cubic-bezier(.22,.68,.2,1);--deck-ease:var(--motion-ease);--motion-fast:180ms;--motion-medium:420ms;--motion-major:640ms;}
.canonical-header .nav-links a,.canonical-footer .nav-links a{border-radius:7px;transition:color var(--motion-fast),background var(--motion-fast),box-shadow var(--motion-fast)}
.canonical-header .nav-links a:focus-visible,.canonical-footer .nav-links a:focus-visible{outline-offset:4px}
.canonical-header .dark-mode .nav-links a:focus-visible,.canonical-footer .dark-mode .nav-links a:focus-visible{}
.canonical-header .nav-links a.active,.canonical-footer .nav-links a.active{box-shadow:none}
.canonical-header .dark-mode .nav-links a.active,.canonical-footer .dark-mode .nav-links a.active{box-shadow:none}
.canonical-header .project-actions,.canonical-footer .project-actions{gap:9px;margin-top:17px;flex-wrap:wrap}
.canonical-header .project-action,.canonical-footer .project-action{min-height:44px;font-size:10px;padding:11px 12px;letter-spacing:.055em}
.canonical-header :is(.project-action,.social-badge,.contact-send),.canonical-footer :is(.project-action,.social-badge,.contact-send){border-radius:8px;transition:transform var(--motion-fast) var(--motion-ease),box-shadow var(--motion-medium),background-color var(--motion-medium);text-decoration:none}
.canonical-header :is(.project-action,.social-badge,.contact-send):is(:hover,:focus-visible),.canonical-footer :is(.project-action,.social-badge,.contact-send):is(:hover,:focus-visible){transform:translateY(-2px);outline-offset:4px}
.canonical-header .dark-mode :is(.project-action,.social-badge,.contact-send):focus-visible,.canonical-footer .dark-mode :is(.project-action,.social-badge,.contact-send):focus-visible{}
.canonical-header :is(.project-action,.social-badge,.contact-send):active,.canonical-footer :is(.project-action,.social-badge,.contact-send):active{transform:translateY(1px)}
#site-footer{padding-block:25px;line-height:1.6}
.canonical-header .toggle-container:focus-within,.canonical-footer .toggle-container:focus-within{}
@media (max-width:999px),(max-height:679px),(pointer:coarse),(max-width:1099px) and (max-height:739px){.canonical-header .project-action,.canonical-footer .project-action{font-size:11px}}
@media (prefers-reduced-motion:reduce){.canonical-header .project-action,.canonical-footer .project-action{transform:none!important;translate:none!important}}
html :is(.canonical-header,.canonical-footer){--violet:#a88cc7;--indigo:#344273;--surface:#fbd0cd;--surface-high:#ffe6dc;--edge-lit:#fff3e5c9;--ambient-opacity:.18;--action-ink:#fff4ee;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--space-16:64px;--space-20:80px;--radius-control:9px;--radius-label:6px;--radius-surface:16px;--radius-card:22px;--shadow-rest:0 2px 0 var(--depth),0 5px 10px var(--shade),inset 0 1px var(--edge-lit);--shadow-raised:0 4px 0 var(--depth),0 10px 20px var(--shade),inset 0 1px var(--edge-lit);--shadow-hover:0 5px 0 var(--depth),0 12px 24px var(--shade),0 0 18px var(--glow),inset 0 1px var(--edge-lit);--shadow-pressed:0 1px 0 var(--depth),0 3px 8px var(--shade),inset 0 1px 3px var(--shade);--shadow-card:0 6px 0 -2px var(--depth),0 22px 42px var(--shade),inset 0 1px 1px var(--edge-lit);--shadow-heading:0 3px 0 var(--depth),0 9px 20px var(--shade),inset 0 1px var(--edge-lit);--shadow-focus:0 0 0 3px var(--surface-high),0 0 0 6px var(--focus),0 0 22px var(--glow);--font-body:Arial,Helvetica,sans-serif;--type-wordmark:30px;--type-nav:14px;--type-hero:clamp(28px,3vw,38px);--type-heading:clamp(27px,2.6vw,35px);--type-project:clamp(25px,2.1vw,30px);--type-body:17px;--type-button:11px;--type-meta:10px;--line-body:1.75;--line-title:1.15;--measure:70ch;--tracking-meta:.1em;--duration-feedback:100ms;--duration-fast:180ms;--duration-standard:300ms;--duration-deliberate:460ms;--duration-cinematic:620ms;--duration-theme:320ms;--ease-out:cubic-bezier(.2,.75,.25,1);--ease-flow:cubic-bezier(.22,.68,.2,1);--ease-press:cubic-bezier(.3,0,.65,1);--motion-ease:var(--ease-flow);--deck-ease:var(--ease-flow);--glide:var(--ease-out);--z-background:-2;--z-ambient:-1;--z-content:1;--z-deck:3;--z-header:100;--z-skip:200;--header-height:72px;--deck-width:750px;--deck-shoulder:150px;}
html[data-theme=night] :is(.canonical-header,.canonical-footer){--canvas:#272438;--surface:#353148;--surface-high:#51425f;--surface-low:#24243b;--surface-gradient:linear-gradient(135deg,#3b354e,#2c2c45 72%,#39304f);--edge:#a286b185;--depth:#1b192d;--shade:#0b102c80;--ambient-opacity:.35;--glow:#b78ddd42;--header-surface:#211b2af5;--heading-surface:linear-gradient(135deg,#404169,#303454);}
html[data-deck-scale="64"] :is(.canonical-header,.canonical-footer){--deck-width:750px;}
html[data-ambient=balanced] :is(.canonical-header,.canonical-footer){--ambient-opacity:.35;}
.canonical-header,body.dark-mode .canonical-header{height:var(--header-height);min-height:var(--header-height);padding:0 24px;background:var(--header-surface);border:0;border-bottom:1px solid var(--edge);backdrop-filter:none;box-shadow:0 3px 12px var(--shade);z-index:var(--z-header);transition:background-color var(--duration-theme),box-shadow var(--duration-standard)}
html[data-scrolled=true] .canonical-header{box-shadow:0 7px 23px var(--shade),inset 0 -1px var(--edge-lit)}
.canonical-header nav.container{height:100%;max-width:1200px;padding:0}
.canonical-header .nav-container{height:100%;display:flex;align-items:center;justify-content:space-between;gap:24px}
.canonical-header .brand-name,.canonical-footer .brand-name{display:flex;align-items:center;flex:none}
.canonical-header .brand-name .logo,.canonical-footer .brand-name .logo,.canonical-footer .logo{font-size:var(--type-wordmark);line-height:1;letter-spacing:-.035em;font-weight:500;min-height:44px;margin:0;transition:transform var(--duration-standard) var(--ease-out),filter var(--duration-standard)}
.canonical-header .dark-mode .logo,.canonical-footer .dark-mode .logo{}
.canonical-header .logo .logo-icon,.canonical-footer .logo .logo-icon{font-size:1.3em;line-height:1;margin-right:8px;transition:transform var(--duration-standard) var(--ease-out)}
.canonical-header .logo:hover,.canonical-footer .logo:hover,.canonical-header .logo:focus-visible,.canonical-footer .logo:focus-visible{transform:translateY(-1px)}
.canonical-header .logo:is(:hover,:focus-visible) .logo-icon,.canonical-footer .logo:is(:hover,:focus-visible) .logo-icon{transform:rotate(-3deg)}
.canonical-header .logo:active,.canonical-footer .logo:active{transform:translateY(1px)}
.canonical-header .nav-links{gap:6px;margin:0;align-items:center;flex-wrap:nowrap}
.canonical-header .nav-links li{margin:0;display:flex}
.canonical-header .nav-links a,body.dark-mode .canonical-header .nav-links a{display:inline-flex;align-items:center;gap:6px;font-size:var(--type-nav);font-weight:600;line-height:1;min-height:44px;padding:0 10px;margin:0;border:1px solid transparent;border-radius:var(--radius-control);color:var(--header-ink);background:none;box-shadow:none;opacity:1;text-shadow:none;transform:none;transition:transform var(--duration-fast) var(--ease-out),color var(--duration-fast),background-color var(--duration-standard),box-shadow var(--duration-standard)}
.canonical-header .nav-links a::after,.canonical-header .nav-links a::before{content:none!important;display:none!important}
.canonical-header .nav-links a:is(:hover,:focus-visible),body.dark-mode .canonical-header .nav-links a:is(:hover,:focus-visible){transform:translateY(-1px);color:var(--ink);background:var(--surface);opacity:1}
.canonical-header .nav-links a.active,body.dark-mode .canonical-header .nav-links a.active{color:var(--ink);background:var(--surface-gradient);border-color:var(--edge);box-shadow:var(--shadow-rest)}
.canonical-header .nav-links i{font-size:13px;opacity:.86}
.canonical-header .toggle-container,.canonical-footer .toggle-container{flex:none;display:flex;gap:6px;min-width:112px;height:44px;margin:0;filter:none!important}
.canonical-header .mode-icon,.canonical-footer .mode-icon{font-size:16px;margin:0;line-height:1;transition:opacity var(--duration-theme),transform var(--duration-deliberate) var(--ease-out);width:19px;text-align:center}
.canonical-header .toggle-container .mode-icon:last-child,.canonical-footer .toggle-container .mode-icon:last-child{opacity:.45;transform:scale(.88)}
.canonical-header .dark-mode .toggle-container .mode-icon:first-child,.canonical-footer .dark-mode .toggle-container .mode-icon:first-child{opacity:.45;transform:scale(.88)}
.canonical-header .dark-mode .toggle-container .mode-icon:last-child,.canonical-footer .dark-mode .toggle-container .mode-icon:last-child{opacity:1;transform:scale(1)}
.canonical-header #toggle-dark-mode,.canonical-footer #toggle-dark-mode{left:25px;top:0;width:56px;height:44px;margin:0}
.canonical-header .toggle-label,.canonical-footer .toggle-label{width:52px;height:28px;border:1px solid var(--edge);transition:background-color var(--duration-theme),box-shadow var(--duration-standard)}
.canonical-header .toggle-label::after,.canonical-footer .toggle-label::after{width:20px;height:20px;left:3px;top:3px;bottom:auto;background:#fff2df;transition:transform var(--duration-deliberate) var(--ease-out),background-color var(--duration-theme);transform:translateX(0)}
.canonical-header #toggle-dark-mode:checked+.toggle-label,.canonical-footer #toggle-dark-mode:checked+.toggle-label{background:#665783}
.canonical-header #toggle-dark-mode:checked+.toggle-label::after,.canonical-footer #toggle-dark-mode:checked+.toggle-label::after{transform:translateX(24px);background:#f5e6ff}
.canonical-header #toggle-dark-mode:hover+.toggle-label,.canonical-footer #toggle-dark-mode:hover+.toggle-label{box-shadow:inset 0 2px 4px #2e234044,0 0 14px var(--glow)}
.canonical-header #toggle-dark-mode:active+.toggle-label::after,.canonical-footer #toggle-dark-mode:active+.toggle-label::after{scale:.92}
.canonical-header #toggle-dark-mode:focus-visible+.toggle-label,.canonical-footer #toggle-dark-mode:focus-visible+.toggle-label{outline:2px solid var(--focus);outline-offset:5px;box-shadow:var(--shadow-focus)}
.canonical-header .project-actions,.canonical-footer .project-actions{margin-top:18px;gap:10px}
.canonical-header :is(.project-action,.contact-send,.social-badge,.lab-button),.canonical-footer :is(.project-action,.contact-send,.social-badge,.lab-button),.canonical-header .dark-mode :is(.project-action,.contact-send,.social-badge,.lab-button),.canonical-footer .dark-mode :is(.project-action,.contact-send,.social-badge,.lab-button){min-height:46px;border:1px solid var(--edge)!important;border-radius:var(--radius-control);background:var(--surface-gradient)!important;color:var(--ink)!important;box-shadow:var(--shadow-raised)!important;text-shadow:none!important;transition:transform var(--duration-fast) var(--ease-out),box-shadow var(--duration-fast),border-color var(--duration-theme);outline:none;font-family:var(--font-body)}
.canonical-header :is(.project-action.primary,.contact-send),.canonical-footer :is(.project-action.primary,.contact-send),.canonical-header .dark-mode :is(.project-action.primary,.contact-send),.canonical-footer .dark-mode :is(.project-action.primary,.contact-send){background:var(--action-bg)!important;color:var(--action-ink)!important;box-shadow:0 4px var(--action-depth),0 9px 17px var(--shade),inset 0 1px #fff5!important}
.canonical-header .project-action,.canonical-footer .project-action{font-size:10px;letter-spacing:.05em;padding:11px 12px;gap:9px}
.canonical-header .project-action i,.canonical-footer .project-action i{transition:transform var(--duration-standard) var(--ease-out)}
.canonical-header :is(.project-action,.social-badge,.contact-send,.lab-button):is(:hover,:focus-visible),.canonical-footer :is(.project-action,.social-badge,.contact-send,.lab-button):is(:hover,:focus-visible){transform:translateY(-2px);box-shadow:var(--shadow-hover)!important;outline:none}
.canonical-header :is(.project-action,.social-badge,.contact-send,.lab-button):focus-visible,.canonical-footer :is(.project-action,.social-badge,.contact-send,.lab-button):focus-visible{outline:2px solid var(--focus)!important;outline-offset:5px;box-shadow:var(--shadow-focus)!important}
.canonical-header :is(.project-action,.social-badge,.contact-send):is(:hover,:focus-visible) i,.canonical-footer :is(.project-action,.social-badge,.contact-send):is(:hover,:focus-visible) i{transform:translate(1px,-1px)}
.canonical-header :is(.project-action,.social-badge,.contact-send,.lab-button):active,.canonical-footer :is(.project-action,.social-badge,.contact-send,.lab-button):active{transform:translateY(2px);box-shadow:var(--shadow-pressed)!important}
.canonical-footer.container,#site-footer{background:var(--header-surface);border-top:1px solid var(--edge);padding:30px 28px;box-shadow:0 -8px 28px var(--shade)}
.footer-inner{max-width:1120px;gap:24px}
.footer-inner .logo{font-size:24px}
.footer-inner p,body.dark-mode .canonical-footer p{font-size:12px;letter-spacing:.03em;color:var(--ink-muted);margin:0;padding:0}
.footer-social{gap:9px}
.footer-social a{font-size:20px;color:var(--header-ink);border-radius:var(--radius-control);border:1px solid transparent;transition:transform var(--duration-standard),box-shadow var(--duration-standard)}
.footer-social a:is(:hover,:focus-visible){background:var(--surface-gradient);border-color:var(--edge);box-shadow:var(--shadow-rest);transform:translateY(-1px)}
@media (min-width:901px) and (max-width:1150px){.canonical-header{padding-inline:20px}
.canonical-header .nav-container{gap:12px}
.canonical-header .brand-name .logo,.canonical-footer .brand-name .logo{font-size:26px}
.canonical-header .nav-links{gap:2px}
.canonical-header .nav-links a,body.dark-mode .canonical-header .nav-links a{padding-inline:7px;font-size:13px;gap:4px}
.canonical-header .nav-links i{font-size:12px}}
@media (max-width:999px),(max-height:679px),(pointer:coarse),(max-width:1099px) and (max-height:739px){.canonical-header .project-action,.canonical-footer .project-action{font-size:11px}}
@media (max-width:900px){html :is(.canonical-header,.canonical-footer){--header-height:68px;}
.canonical-header,body.dark-mode .canonical-header{padding:0 18px}
.canonical-header .brand-name .logo,.canonical-footer .brand-name .logo{font-size:28px}
.canonical-header .toggle-container,.canonical-footer .toggle-container{margin-right:50px}
.canonical-header .nav-container .menu-icon,.canonical-footer .nav-container .menu-icon{right:15px;top:12px;width:44px;height:44px;background:none!important;border:1px solid transparent;border-radius:var(--radius-control)}
.canonical-header .menu-icon .bar,.canonical-footer .menu-icon .bar{background:var(--header-ink);width:22px}
.canonical-header .menu-icon:hover,.canonical-footer .menu-icon:hover{background:var(--surface)!important}
.canonical-header .nav-container .nav-links,.canonical-footer .nav-container .nav-links{background:var(--header-surface);padding:16px;gap:5px;border-bottom:1px solid var(--edge);box-shadow:var(--shadow-card)}
.canonical-header .nav-links li a,body.dark-mode .canonical-header .nav-links li a{min-height:48px;font-size:16px;justify-content:flex-start;padding-inline:20px;gap:12px}
.canonical-header .nav-links li,.canonical-footer .nav-links li{width:100%}
.canonical-header .nav-links li a,.canonical-footer .nav-links li a{width:100%}}
@media (max-width:600px){.canonical-header .project-action,.canonical-footer .project-action{font-size:10px;padding:11px 12px}
.canonical-header .project-actions,.canonical-footer .project-actions{gap:12px}
.canonical-footer.container,#site-footer{padding:28px 20px}
.footer-inner{gap:18px}
.footer-social{gap:15px}}
@media (max-width:359px){.canonical-header,body.dark-mode .canonical-header{padding-inline:12px}
.canonical-header .brand-name .logo,.canonical-footer .brand-name .logo{font-size:23px}
.canonical-header .logo .logo-icon,.canonical-footer .logo .logo-icon{margin-right:5px}
.canonical-header .toggle-container,.canonical-footer .toggle-container{min-width:92px;width:92px;gap:3px;margin-right:43px}
.canonical-header .mode-icon,.canonical-footer .mode-icon{width:14px;font-size:13px}
.canonical-header .toggle-label,.canonical-footer .toggle-label{width:48px}
.canonical-header #toggle-dark-mode,.canonical-footer #toggle-dark-mode{left:18px;width:48px}
.canonical-header .toggle-label::after,.canonical-footer .toggle-label::after{width:18px;height:18px;top:4px}
.canonical-header #toggle-dark-mode:checked+.toggle-label::after,.canonical-footer #toggle-dark-mode:checked+.toggle-label::after{transform:translateX(22px)}
.canonical-header .nav-container .menu-icon,.canonical-footer .nav-container .menu-icon{right:7px}
.canonical-header .project-action,.canonical-footer .project-action{padding-inline:10px;font-size:9px}}
@media (prefers-reduced-motion:reduce){.canonical-header .logo,.canonical-footer .logo,.canonical-header .logo i,.canonical-footer .logo i,.canonical-header .project-action,.canonical-footer .project-action{transform:none!important}}
@media (forced-colors:active){.canonical-header .logo,.canonical-footer .logo{-webkit-text-fill-color:LinkText;background:none}
.canonical-header .nav-links a.active{border:2px solid Highlight}}
.canonical-header #toggle-dark-mode:checked+.toggle-label::after,.canonical-footer #toggle-dark-mode:checked+.toggle-label::after{left:3px;right:auto}
.canonical-header .nav-links a[href],body.dark-mode .canonical-header .nav-links a[href]{color:var(--header-ink)}
.canonical-header .nav-links a[href].active,body.dark-mode .canonical-header .nav-links a[href].active{color:var(--ink)}
.canonical-header .nav-links a.active,.canonical-header .nav-links a.active:hover,body.dark-mode .canonical-header .nav-links a.active{transform:none;text-shadow:none}
.canonical-header .nav-links a.active:is(:hover,:focus-visible),body.dark-mode .canonical-header .nav-links a.active:is(:hover,:focus-visible){transform:translateY(-1px)}
@supports (padding:max(0px)){.canonical-header,body.dark-mode .canonical-header{padding-left:max(12px,env(safe-area-inset-left));padding-right:max(12px,env(safe-area-inset-right))}
.canonical-footer.container{padding-bottom:max(28px,env(safe-area-inset-bottom))}}
html :is(.canonical-header,.canonical-footer){--header-gutter:24px;}
@media (max-width:900px){html :is(.canonical-header,.canonical-footer){--header-gutter:18px;}}
@media (max-width:359px){html :is(.canonical-header,.canonical-footer){--header-gutter:12px;}}
@supports (padding:max(0px)){.canonical-header,body.dark-mode .canonical-header{padding-left:max(var(--header-gutter),env(safe-area-inset-left));padding-right:max(var(--header-gutter),env(safe-area-inset-right))}}
@media (prefers-reduced-motion:reduce){.canonical-header #toggle-dark-mode:checked+.toggle-label::after,.canonical-footer #toggle-dark-mode:checked+.toggle-label::after{left:27px;transform:none!important}}
html[data-motion=reduce] .canonical-header #toggle-dark-mode:checked+.toggle-label::after,html[data-motion=reduce] .canonical-footer #toggle-dark-mode:checked+.toggle-label::after{left:27px;transform:none!important}
@media (max-width:359px){html[data-motion=reduce] .canonical-header #toggle-dark-mode:checked+.toggle-label::after,html[data-motion=reduce] .canonical-footer #toggle-dark-mode:checked+.toggle-label::after{left:25px}
@media (prefers-reduced-motion:reduce){.canonical-header #toggle-dark-mode:checked+.toggle-label::after,.canonical-footer #toggle-dark-mode:checked+.toggle-label::after{left:25px}}}
html :is(.canonical-header,.canonical-footer){--material-system:pass7;--canvas:#eeede7;--ink:#292e31;--ink-secondary:#363d40;--ink-muted:#495355;--signature:#923328;--signature-bright:#d7503d;--coral:#f77062;--cool:#738693;--geo-1:#d9d8d0;--geo-2:#c9cec9;--geo-3:#dde0e1;--geo-4:#f5f1e8;--glass-rgb:246 245 239;--glass-deep-rgb:221 224 219;--edge-rgb:67 78 79;--specular-rgb:255 255 249;--surface:#ebece6;--surface-high:#f6f4ee;--surface-low:#dfe3df;--surface-gradient:linear-gradient(135deg,rgb(var(--glass-rgb)/.76),rgb(var(--glass-deep-rgb)/.53));--edge:rgb(var(--edge-rgb)/.24);--edge-lit:rgb(var(--specular-rgb)/.78);--depth:#aeb7b2;--shade:#293e4426;--glow:#d7503d19;--focus:#92392f;--header-ink:#384245;--header-surface:rgb(var(--glass-rgb)/.69);--heading-ink:#384345;--heading-surface:linear-gradient(140deg,rgb(var(--specular-rgb)/.66),rgb(var(--glass-deep-rgb)/.59));--heading-emboss:0 1px 0 #fffef8,0 2px 0 #929f9c40;--action-bg:linear-gradient(145deg,#b34536,#8f3028);--action-ink:#fffaf5;--action-depth:#692d28;--ambient-opacity:.27;--ambient-warm:#b45d3030;--ambient-cool:#64839940;--deck-accent:var(--signature);--nav-alpha:.69;--content-alpha:.45;--card-alpha:.64;--secondary-alpha:.34;--control-alpha:.45;--nav-blur:10px;--content-blur:5px;--card-blur:12px;--secondary-blur:3px;--saturation:1.06;--specular-alpha:.73;--edge-alpha:.23;--shadow-rest:0 2px 0 #81918b40,0 5px 10px var(--shade),inset 0 1px var(--edge-lit);--shadow-raised:0 3px 0 #81918b55,0 9px 18px var(--shade),inset 0 1px var(--edge-lit);--shadow-hover:0 4px 0 #81918b55,0 12px 24px var(--shade),0 0 18px var(--glow),inset 0 1px var(--edge-lit);--shadow-pressed:0 1px 0 var(--depth),0 3px 7px var(--shade),inset 0 1px 3px #172c331f;--shadow-card:0 5px 0 -2px #82908b70,0 22px 42px var(--shade),inset 0 1px 1px var(--edge-lit),inset 0 -1px 1px #7687861a;--shadow-heading:0 3px 0 #9eaaa57a,0 9px 20px var(--shade),inset 0 1px var(--edge-lit);--shadow-focus:0 0 0 3px var(--surface-high),0 0 0 6px var(--focus),0 0 18px var(--glow);}
html[data-theme=night] :is(.canonical-header,.canonical-footer){--canvas:#1c2231;--ink:#f2f2ec;--ink-secondary:#e1e5e6;--ink-muted:#bbc5d0;--signature:#f8a78f;--signature-bright:#ff7e5f;--coral:#f77062;--cool:#8097c6;--geo-1:#2a3656;--geo-2:#29313e;--geo-3:#233b54;--geo-4:#3b4461;--glass-rgb:40 50 65;--glass-deep-rgb:24 33 48;--edge-rgb:161 180 203;--specular-rgb:210 229 248;--surface:#2e3b4d;--surface-high:#39485a;--surface-low:#273545;--edge:rgb(var(--edge-rgb)/.25);--edge-lit:rgb(var(--specular-rgb)/.23);--depth:#121c2b;--shade:#050b2080;--glow:#e781571c;--focus:#ffac91;--header-ink:#d3dbe4;--header-surface:rgb(var(--glass-rgb)/.69);--heading-ink:#e1e8ed;--heading-emboss:0 1px 0 #07101e,0 2px 0 #132139,0 -1px #d2e5f822;--action-bg:linear-gradient(145deg,#ae4533,#873429);--action-ink:#fff9f1;--action-depth:#482720;--ambient-opacity:.34;--ambient-warm:#d9783526;--ambient-cool:#799ad152;--shadow-rest:0 2px 0 #101c2c80,0 5px 10px var(--shade),inset 0 1px var(--edge-lit);--shadow-raised:0 3px 0 #101c2c99,0 9px 18px var(--shade),inset 0 1px var(--edge-lit);--shadow-hover:0 4px 0 #101c2c99,0 12px 24px var(--shade),0 0 18px var(--glow),inset 0 1px var(--edge-lit);--shadow-card:0 5px 0 -2px #0e1828aa,0 22px 42px var(--shade),inset 0 1px 1px var(--edge-lit),inset 0 -1px 1px #08152566;--shadow-heading:0 3px 0 #101b2dbb,0 9px 20px var(--shade),inset 0 1px var(--edge-lit);}
.canonical-header,body.dark-mode .canonical-header{background:rgb(var(--glass-rgb)/var(--nav-alpha));backdrop-filter:blur(var(--nav-blur)) saturate(var(--saturation));-webkit-backdrop-filter:blur(var(--nav-blur)) saturate(var(--saturation));border-color:var(--edge);box-shadow:0 3px 12px var(--shade),inset 0 -1px rgb(var(--specular-rgb)/.2)}
.canonical-header .brand-name .logo,.canonical-footer .brand-name .logo,.canonical-footer .logo,.canonical-header body.dark-mode .logo,.canonical-footer body.dark-mode .logo{background:none;color:var(--ink);-webkit-text-fill-color:currentColor;text-shadow:none}
.canonical-header .logo .logo-icon,.canonical-footer .logo .logo-icon,.canonical-header body.dark-mode .logo .logo-icon,.canonical-footer body.dark-mode .logo .logo-icon{color:var(--signature)!important;-webkit-text-fill-color:currentColor}
.canonical-header .logo:hover,.canonical-footer .logo:hover,.canonical-header .logo:focus-visible,.canonical-footer .logo:focus-visible{filter:drop-shadow(0 2px 5px var(--glow))}
html[data-wordmark=coral] .canonical-header .logo .logo-icon,html[data-wordmark=coral] .canonical-footer .logo .logo-icon{color:var(--signature-bright)!important}
html[data-wordmark=ember] .canonical-header .logo .logo-icon,html[data-wordmark=ember] .canonical-footer .logo .logo-icon{background:linear-gradient(10deg,var(--signature),var(--signature-bright));background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent}
.canonical-header .nav-links a[href],body.dark-mode .canonical-header .nav-links a[href]{color:var(--header-ink)}
.canonical-header .nav-links a[href]:is(:hover,:focus-visible),.canonical-header .nav-links a[href].active,body.dark-mode .canonical-header .nav-links a[href]:is(:hover,:focus-visible),body.dark-mode .canonical-header .nav-links a[href].active{color:var(--signature);background:linear-gradient(130deg,rgb(var(--specular-rgb)/.19),rgb(var(--glass-rgb)/.38));border-color:var(--edge);box-shadow:var(--shadow-rest)}
.canonical-header .toggle-label,.canonical-footer .toggle-label{background:#7c8885;box-shadow:inset 0 2px 4px #23353255,0 1px var(--edge-lit)}
.canonical-header .toggle-label::after,.canonical-footer .toggle-label::after{background:#fcfaf1;box-shadow:0 2px 4px #26383a55}
.canonical-header #toggle-dark-mode:checked+.toggle-label,.canonical-footer #toggle-dark-mode:checked+.toggle-label{background:#3e5069}
.canonical-header #toggle-dark-mode:checked+.toggle-label::after,.canonical-footer #toggle-dark-mode:checked+.toggle-label::after{background:#dce6ef}
.canonical-header :is(.project-action,.contact-send,.social-badge,.lab-button),.canonical-footer :is(.project-action,.contact-send,.social-badge,.lab-button),.canonical-header .dark-mode :is(.project-action,.contact-send,.social-badge,.lab-button),.canonical-footer .dark-mode :is(.project-action,.contact-send,.social-badge,.lab-button){background:linear-gradient(140deg,rgb(var(--specular-rgb)/.13),transparent 70%),rgb(var(--glass-rgb)/var(--control-alpha))!important;border-color:var(--edge)!important;box-shadow:var(--shadow-raised)!important;color:var(--ink)!important;transition:transform var(--duration-fast) var(--ease-out),box-shadow var(--duration-fast),border-color var(--duration-theme),background-color var(--duration-theme),color var(--duration-theme)}
.canonical-header :is(.project-action.primary,.contact-send),.canonical-footer :is(.project-action.primary,.contact-send),.canonical-header .dark-mode :is(.project-action.primary,.contact-send),.canonical-footer .dark-mode :is(.project-action.primary,.contact-send){background:var(--action-bg)!important;color:var(--action-ink)!important;border-color:#792f2744!important;box-shadow:0 4px var(--action-depth),0 9px 17px var(--shade),inset 0 1px #fff5!important}
.canonical-header :is(.project-action,.contact-send,.social-badge,.lab-button):is(:hover,:focus-visible),.canonical-footer :is(.project-action,.contact-send,.social-badge,.lab-button):is(:hover,:focus-visible){border-color:var(--signature)!important;box-shadow:var(--shadow-hover)!important}
.canonical-header :is(.project-action.primary,.contact-send):is(:hover,:focus-visible),.canonical-footer :is(.project-action.primary,.contact-send):is(:hover,:focus-visible){box-shadow:0 4px var(--action-depth),0 12px 22px var(--shade),inset 0 1px #fff8,0 0 15px var(--glow)!important}
.canonical-header :is(.project-action,.contact-send,.social-badge,.lab-button):active,.canonical-footer :is(.project-action,.contact-send,.social-badge,.lab-button):active,.canonical-header :is(.project-action,.contact-send,.social-badge,.lab-button)[data-demo-state=pressed],.canonical-footer :is(.project-action,.contact-send,.social-badge,.lab-button)[data-demo-state=pressed]{transform:translateY(2px);box-shadow:var(--shadow-pressed)!important}
.canonical-header :is(.project-action,.contact-send,.social-badge,.lab-button):focus-visible,.canonical-footer :is(.project-action,.contact-send,.social-badge,.lab-button):focus-visible{outline:2px solid var(--focus)!important;outline-offset:5px;box-shadow:var(--shadow-focus)!important}
.canonical-footer.container,#site-footer{background:rgb(var(--glass-rgb)/.65);border-color:var(--edge);box-shadow:0 -8px 28px var(--shade)}
.footer-social a{color:var(--header-ink)}
.footer-social a:is(:hover,:focus-visible){color:var(--signature);background:rgb(var(--glass-rgb)/.6)}
.canonical-footer{transition-property:transform,color,background-color,border-color,box-shadow;transition-duration:var(--duration-standard);transition-timing-function:var(--ease-out)}
@media (max-width:900px){html :is(.canonical-header,.canonical-footer){--nav-blur:6px;--content-blur:0px;--card-blur:4px;--nav-alpha:.87;--content-alpha:.65;--card-alpha:.79;}
.canonical-header .nav-container .nav-links,.canonical-footer .nav-container .nav-links{background:rgb(var(--glass-rgb)/.97);backdrop-filter:none;-webkit-backdrop-filter:none}}
@media (max-width:600px),(pointer:coarse){html :is(.canonical-header,.canonical-footer){--card-blur:0px;--content-blur:0px;--secondary-blur:0px;--card-alpha:.86;}}
@supports  not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){html :is(.canonical-header,.canonical-footer){--nav-alpha:.95;--card-alpha:.94;--content-alpha:.84;--secondary-alpha:.8;}}
@media (prefers-reduced-transparency:reduce){html :is(.canonical-header,.canonical-footer){--nav-alpha:1;--card-alpha:1;--content-alpha:.96;--secondary-alpha:.92;}
.canonical-header{backdrop-filter:none!important;-webkit-backdrop-filter:none!important}}
@media (prefers-reduced-motion:reduce){.canonical-header .project-action,.canonical-footer .project-action{transform:none!important}}
html[data-motion=reduce] .canonical-header :is(.project-action,.contact-send,.social-badge),html[data-motion=reduce] .canonical-footer :is(.project-action,.contact-send,.social-badge){transform:none!important}
@media (forced-colors:active){.canonical-header .logo,.canonical-footer .logo,.canonical-header .logo .logo-icon,.canonical-footer .logo .logo-icon{color:LinkText!important;-webkit-text-fill-color:LinkText!important}
.canonical-header{background:Canvas!important;backdrop-filter:none!important}
.canonical-header .nav-links a.active{border-color:Highlight!important}}
.canonical-header :is(.project-action,.contact-send,.social-badge)[data-demo-state=hover],.canonical-footer :is(.project-action,.contact-send,.social-badge)[data-demo-state=hover]{transform:translateY(-2px);box-shadow:var(--shadow-hover)!important;border-color:var(--signature)!important}
.canonical-header :is(.project-action,.contact-send,.social-badge)[data-demo-state=focus],.canonical-footer :is(.project-action,.contact-send,.social-badge)[data-demo-state=focus]{outline:2px solid var(--focus)!important;outline-offset:5px;box-shadow:var(--shadow-focus)!important}
.canonical-header :is(.project-action,.contact-send,.social-badge)[data-demo-state=disabled],.canonical-footer :is(.project-action,.contact-send,.social-badge)[data-demo-state=disabled]{opacity:.48;box-shadow:var(--shadow-rest)!important;transform:none!important}
html[data-theme=night] :is(.canonical-header,.canonical-footer){--surface-gradient:linear-gradient(135deg,rgb(var(--glass-rgb)/.76),rgb(var(--glass-deep-rgb)/.53));--heading-surface:linear-gradient(140deg,rgb(var(--specular-rgb)/.11),rgb(var(--glass-deep-rgb)/.66));}
@font-face{font-family:"Kumbh Sans";src:url("/vendor/kumbh-sans/regular.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}
html :is(.canonical-header,.canonical-footer){--material-system:pass8;--brand-fallback:#ff8177;--brand-gradient-bottom:#ff0844;--brand-gradient-top:#ffb199;--ui-red:#923328;--ui-red-bright:#d7503d;--ui-coral:#f77062;--ui-red-night:#ae4533;--deck-out:180ms;--deck-in:460ms;--deck-detail:300ms;--portrait-warm:rgb(181 98 59/.11);--portrait-cool:rgb(113 139 148/.15);}
html body :is(.canonical-header,.canonical-footer) .logo.logo,html body.dark-mode :is(.canonical-header,.canonical-footer) .logo.logo{display:inline-flex;align-items:center;height:44px;width:max-content;max-width:none;
 font-family:"Kumbh Sans",sans-serif;font-size:32px;font-weight:400;line-height:normal;letter-spacing:normal;
 background-color:var(--brand-fallback);background-image:linear-gradient(to top,var(--brand-gradient-bottom) 0%,var(--brand-gradient-top) 100%);
 background-size:100% 80px;background-position:center;background-repeat:no-repeat;
 background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;
 color:var(--brand-fallback);text-shadow:none;filter:none;opacity:1;transform:none;
 text-decoration:none!important;transition:filter var(--duration-fast) var(--ease-out);border:0;border-radius:0;box-shadow:none;}
html body :is(.canonical-header,.canonical-footer) .logo.logo .logo-icon,html body.dark-mode :is(.canonical-header,.canonical-footer) .logo.logo .logo-icon{font-family:"Font Awesome 6 Brands";font-weight:400;font-size:1em;line-height:1;margin:0;
 background:none!important;color:inherit!important;-webkit-text-fill-color:transparent;text-shadow:none;filter:none;transform:none;}
html body :is(.canonical-header,.canonical-footer) .logo.logo:is(:hover,:focus-visible){filter:drop-shadow(0 2px 2px rgb(28 34 49/.12));transform:none;opacity:1}
html body :is(.canonical-header,.canonical-footer) .logo.logo:focus-visible{outline:2px solid var(--focus);outline-offset:5px;border-radius:3px}
@media (max-width:900px){html[data-theme] body :is(.canonical-header,.canonical-footer) .logo.logo{font-size:28px;background-size:100% 70px}}
@media (max-width:359px){html[data-theme] body :is(.canonical-header,.canonical-footer) .logo.logo{font-size:23px;background-size:100% 57.5px}}
html[data-theme=night] :is(.canonical-header,.canonical-footer){--signature:#f8a78f;--ambient-warm:#a9532921;--ambient-cool:#6788bf4a;--portrait-warm:rgb(174 69 51/.10);--portrait-cool:rgb(101 133 180/.21);--night-light:radial-gradient(ellipse at 50% 100%,#ee80522e,transparent 70%),linear-gradient(140deg,#8298cf25,#2a35474d);--night-hover-edge:#9aacc144;}
body.dark-mode .canonical-header .nav-links a[href]:is(:hover,:focus-visible),body.dark-mode .canonical-header .nav-links a[href][data-demo-hover=true]{color:#edf1f2;background:var(--night-light);border-color:var(--night-hover-edge);box-shadow:0 3px 8px #07122466,inset 0 1px #d2e5f825;transform:translateY(-1px);text-shadow:none}
body.dark-mode .canonical-header .nav-links a[href].active,body.dark-mode .canonical-header .nav-links a[href].active:is(:hover,:focus-visible){color:var(--signature);background:linear-gradient(135deg,#ae453325,#25364f70);border-color:#d78e6e55;box-shadow:0 2px 0 #142034,inset 0 1px #ffd9bc26}
body.dark-mode .canonical-header .nav-links a[href]:focus-visible{outline:2px solid #c4d8ef;outline-offset:3px}
html :is(.canonical-header,.canonical-footer){--deck-accent:var(--signature);}
.canonical-header,body.dark-mode .canonical-header,.canonical-header .nav-links a[href],#site-footer{transition-duration:var(--duration-theme);transition-timing-function:var(--ease-out)}
@media (forced-colors:active){html body :is(.canonical-header,.canonical-footer) .logo.logo,html body :is(.canonical-header,.canonical-footer) .logo.logo .logo-icon{background:none!important;-webkit-text-fill-color:LinkText!important;color:LinkText!important}}
@media (max-width:600px){.canonical-header .nav-container{gap:8px}}
html :is(.canonical-header,.canonical-footer){--signature:var(--ui-red);--signature-bright:var(--ui-red-bright);--coral:var(--ui-coral);--action-red-start:#b34536;--action-red-end:#8f3028;--action-bg:linear-gradient(145deg,var(--action-red-start),var(--action-red-end));}
html[data-theme=night] :is(.canonical-header,.canonical-footer){--ui-red-light:#f8a78f;--signature:var(--ui-red-light);--action-red-start:var(--ui-red-night);--action-red-end:#873429;--action-bg:linear-gradient(145deg,var(--action-red-start),var(--action-red-end));}
.canonical-header .hero-actions .project-action,.canonical-footer .hero-actions .project-action{font-size:12px;min-height:44px;padding:12px 19px}
.canonical-header .document-actions .project-action,.canonical-footer .document-actions .project-action{font-size:12px;min-height:44px}
@media (max-width:600px){.canonical-header .hero-actions .project-action,.canonical-footer .hero-actions .project-action{font-size:11px;padding:12px 14px}
.canonical-header .document-actions .project-action,.canonical-footer .document-actions .project-action{font-size:11px}}
html[data-theme] .canonical-footer .footer-note{font-size:12px;line-height:1.7;color:var(--ink-muted);max-width:420px;margin:6px auto 14px}
.canonical-header .hero-side .project-action,.canonical-footer .hero-side .project-action{font-size:11px;text-transform:none}
.footer-inner{flex-wrap:wrap}
.footer-detour{flex-basis:100%;max-width:600px;text-align:center;margin:0 auto;color:var(--ink-muted)}
.footer-detour summary{font-size:11px;min-height:44px;align-content:center;cursor:pointer}
.footer-detour p{line-height:1.8!important;font-size:12px!important}
.footer-detour a{display:inline-flex;align-items:center;min-height:44px;color:var(--signature)}
@media (max-width:650px){.canonical-header .hero-side .project-action,.canonical-footer .hero-side .project-action{font-size:11px;min-height:44px}
.footer-detour{max-width:100%}}
svg.icon-sprite{position:absolute;inset:auto;width:0;height:0;overflow:hidden;pointer-events:none}
.canonical-header svg.ui-icon,.canonical-footer svg.ui-icon{position:static;inset:auto;display:inline-block;vertical-align:middle;width:24px;height:24px;flex:none;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;overflow:visible;transition:transform 180ms var(--ease-out),filter 180ms}
.canonical-header .nav-links a .ui-icon{width:17px;height:17px;margin-right:5px}
.canonical-header .nav-links a{display:inline-flex;align-items:center;justify-content:center}
.canonical-header .portfolio-heading .ui-icon,.canonical-footer .portfolio-heading .ui-icon{width:.85em;height:.85em;margin-right:8px}
.canonical-header .project-action,.canonical-footer .project-action{gap:9px}
.canonical-header .project-action .ui-icon,.canonical-footer .project-action .ui-icon{width:16px;height:16px}
.canonical-header .project-action .ui-brand,.canonical-footer .project-action .ui-brand{font-size:16px;width:16px}
html .canonical-header body .entry-brand .logo.entry-logo,html .canonical-footer body .entry-brand .logo.entry-logo{display:inline-flex;align-items:center;width:max-content;height:72px;max-width:100%;font-family:"Kumbh Sans",sans-serif;font-size:clamp(39px,6vw,64px);font-weight:400;line-height:normal;letter-spacing:normal;margin:0;background-color:var(--brand-fallback);background-image:linear-gradient(to top,var(--brand-gradient-bottom) 0%,var(--brand-gradient-top) 100%);background-size:100% 160px;background-position:center;background-repeat:no-repeat;background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;color:var(--brand-fallback);text-shadow:none;filter:none;opacity:1;transform:none;border:0;border-radius:0;box-shadow:none}
html .canonical-header body .entry-brand .logo.entry-logo .logo-icon,html .canonical-footer body .entry-brand .logo.entry-logo .logo-icon{font-family:"Font Awesome 6 Brands";font-weight:400;font-size:1em;line-height:1;margin:0;background:none!important;color:inherit!important;-webkit-text-fill-color:transparent;text-shadow:none;filter:none;transform:none}
.canonical-header .entry-object>.ui-icon,.canonical-footer .entry-object>.ui-icon{width:38px;height:38px;color:var(--signature)}
.canonical-header .identity-whisper .ui-icon,.canonical-footer .identity-whisper .ui-icon{width:16px;height:16px}
.canonical-header .project-category .ui-icon,.canonical-footer .project-category .ui-icon{width:16px;height:16px;margin-right:8px}
.canonical-header .project-hook .ui-icon,.canonical-footer .project-hook .ui-icon{width:20px;height:20px;margin-right:8px}
.canonical-header .project-selector .ui-icon,.canonical-footer .project-selector .ui-icon{width:17px;height:17px}
.canonical-header .project-details .project-actions,.canonical-footer .project-details .project-actions{flex-wrap:wrap}
.canonical-header .education-pin .ui-icon,.canonical-footer .education-pin .ui-icon{width:21px;height:21px;color:var(--signature)}
.canonical-header .about-disclosures>details>summary .ui-icon,.canonical-footer .about-disclosures>details>summary .ui-icon{width:19px;height:19px;margin-right:8px}
.canonical-header .quest-card>.ui-icon,.canonical-footer .quest-card>.ui-icon{width:37px;height:37px;color:var(--signature)}
.canonical-header .quest-action .ui-icon,.canonical-footer .quest-action .ui-icon{width:16px;height:16px}
.canonical-header .mail-emblem .ui-icon,.canonical-footer .mail-emblem .ui-icon{width:42px;height:42px}
.canonical-header .signal-badge>.ui-icon:first-child,.canonical-footer .signal-badge>.ui-icon:first-child{width:32px;height:32px;font-size:30px;color:var(--signature)}
.canonical-header .signal-badge>.ui-icon:last-child,.canonical-footer .signal-badge>.ui-icon:last-child{width:16px;height:16px;color:var(--ink-muted)}
.canonical-header .availability summary .ui-icon,.canonical-footer .availability summary .ui-icon{width:17px;height:17px;margin-right:8px}
.canonical-header .region-pin .ui-icon,.canonical-footer .region-pin .ui-icon{width:16px;height:16px}
.canonical-header .contact-companion .quiet-link .ui-icon,.canonical-footer .contact-companion .quiet-link .ui-icon{width:16px;height:16px}
.canonical-header .dev-character,.canonical-footer .dev-character{width:62px;height:74px}
.canonical-header .dev-character svg,.canonical-footer .dev-character svg{position:static;inset:auto;width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.7;overflow:visible}
.canonical-header .guide-prompts .ui-icon,.canonical-footer .guide-prompts .ui-icon{width:17px;height:17px;color:var(--signature)}
.canonical-header #guide-close .ui-icon,.canonical-footer #guide-close .ui-icon{width:19px;height:19px}
.canonical-header .signal-switch .ui-icon,.canonical-footer .signal-switch .ui-icon{width:30px;height:30px}
.canonical-header .lens-mark .ui-icon,.canonical-footer .lens-mark .ui-icon{width:90px;height:90px}
@media (max-width:799px){.canonical-header .entry-object>.ui-icon,.canonical-footer .entry-object>.ui-icon{width:32px;height:32px}
.canonical-header .entry-brand .logo.entry-logo,.canonical-footer .entry-brand .logo.entry-logo{font-size:48px!important}}
@media (max-width:550px){.canonical-header .entry-brand .logo.entry-logo,.canonical-footer .entry-brand .logo.entry-logo{font-size:39px!important;height:54px!important;background-size:100% 97.5px!important}
.canonical-header .entry-object>.ui-icon,.canonical-footer .entry-object>.ui-icon{width:29px;height:29px}
.canonical-header .quest-card>.ui-icon,.canonical-footer .quest-card>.ui-icon{width:31px;height:31px}
.canonical-header .mail-emblem .ui-icon,.canonical-footer .mail-emblem .ui-icon{width:33px;height:33px}
.canonical-header .signal-badge>.ui-icon:first-child,.canonical-footer .signal-badge>.ui-icon:first-child{width:26px;height:26px;font-size:26px}}
@media (prefers-reduced-motion:reduce){.canonical-header .dev-character *,.canonical-footer .dev-character *,.canonical-header .ui-icon,.canonical-footer .ui-icon{animation:none!important;transition:none!important}
.canonical-header .ui-icon,.canonical-footer .ui-icon{transform:none!important}}
html[data-motion=reduce] .canonical-header :is(.entry-object,.ui-icon),html[data-motion=reduce] .canonical-footer :is(.entry-object,.ui-icon){transform:none!important}
@media (forced-colors:active){.canonical-header .entry-brand .logo.entry-logo,.canonical-footer .entry-brand .logo.entry-logo,.canonical-header .entry-brand .logo.entry-logo .logo-icon,.canonical-footer .entry-brand .logo.entry-logo .logo-icon{background:none!important;-webkit-text-fill-color:LinkText!important;color:LinkText!important}
.canonical-header .ui-icon,.canonical-footer .ui-icon{stroke:currentColor}}
html :is(.canonical-header,.canonical-footer){--safe-top:env(safe-area-inset-top,0px);--safe-right:env(safe-area-inset-right,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--safe-left:env(safe-area-inset-left,0px);}
.canonical-header{padding-top:var(--safe-top)!important;}
.canonical-footer{padding-bottom:calc(28px + var(--safe-bottom))!important}
.footer-guide{display:inline-grid!important;place-items:center;width:44px;height:44px;border:1px solid var(--edge);border-radius:12px;background:var(--surface-gradient);color:var(--signature);cursor:pointer}
.footer-guide .ui-icon{width:20px;height:20px}
@media (max-width:900px){.canonical-header .nav-links{max-height:calc(100dvh - var(--header-height,72px) - var(--safe-bottom) - 12px);overflow:auto;overscroll-behavior:contain;padding-bottom:calc(12px + var(--safe-bottom))}
.canonical-header .menu-icon{min-width:44px;min-height:44px}}
@media (max-width:799px){.canonical-header .entry-shortcuts .ui-icon,.canonical-footer .entry-shortcuts .ui-icon{width:17px;height:17px}
.canonical-header .mail-emblem .ui-icon,.canonical-footer .mail-emblem .ui-icon{width:29px;height:29px}
.canonical-header .signal-badge>.ui-icon:last-child,.canonical-footer .signal-badge>.ui-icon:last-child{display:none}
.canonical-header .signal-badge>.ui-icon:first-child,.canonical-footer .signal-badge>.ui-icon:first-child{width:25px;height:25px;font-size:25px}
.canonical-header .project-action,.canonical-footer .project-action{min-height:44px}}
@media (max-width:550px){.canonical-header .entry-brand .logo.entry-logo,.canonical-footer .entry-brand .logo.entry-logo{font-size:37px!important;height:52px!important;background-size:100% 92.5px!important}}
@media (max-width:360px){.canonical-header .logo{font-size:23px!important;background-size:100% 57.5px!important}
.canonical-header .nav-container{gap:8px}
.canonical-header .entry-brand .logo.entry-logo,.canonical-footer .entry-brand .logo.entry-logo{font-size:33px!important;background-size:100% 82.5px!important}}
@media (max-width:900px){.canonical-header{padding-left:calc(14px + var(--safe-left))!important;padding-right:calc(14px + var(--safe-right))!important}
.canonical-header .nav-container{display:grid;grid-template-columns:minmax(0,1fr) 52px 44px;gap:10px;width:100%}
.canonical-header .brand-name{display:contents}
.canonical-header .logo{grid-column:1;grid-row:1;justify-self:start}
.canonical-header .nav-container .menu-icon{position:static;grid-column:3;grid-row:1;margin:0}
.canonical-header .toggle-container{grid-column:2;grid-row:1;width:52px;min-width:52px;gap:0;margin:0}
.canonical-header .mode-icon{display:none}
.canonical-header #toggle-dark-mode{left:0;width:52px;height:44px}
.canonical-header .toggle-label{width:52px}
.canonical-header .nav-links{z-index:10}}
.canonical-header .entry-project .ui-icon,.canonical-footer .entry-project .ui-icon{flex:none;width:24px;height:24px}
.canonical-header .entry-switcher button .ui-icon,.canonical-footer .entry-switcher button .ui-icon{grid-area:1/1;width:16px;height:16px;stroke-width:1.7}
.canonical-header .entry-shortcuts .ui-icon,.canonical-footer .entry-shortcuts .ui-icon{width:17px;height:17px}
.canonical-header .home-monitor .ui-icon,.canonical-footer .home-monitor .ui-icon{width:48%;height:70%}
@media (max-width:799px){.canonical-header .entry-project .ui-icon,.canonical-footer .entry-project .ui-icon{width:21px;height:21px}}

html :is(.canonical-header,.canonical-footer){--dev-ink:#2f2e41;--dev-device:#3f3d56;--dev-paper:#e6e6e6;--dev-screen:#f2f2f2;--dev-sage:#8a9d91;}
html[data-theme=night] :is(.canonical-header,.canonical-footer){--dev-ink:#64758e;--dev-device:#697b96;--dev-paper:#a2afc3;--dev-screen:#1b2230;--dev-sage:#7e9c96;}
.canonical-header .dev-character,.canonical-footer .dev-character{position:relative;display:inline-flex;flex:none;width:64px;height:106px;pointer-events:none;isolation:isolate}
.canonical-header .dev-character svg,.canonical-footer .dev-character svg{position:static!important;inset:auto!important;display:block;width:100%!important;height:100%!important;max-width:none;max-height:none;margin:0;fill:none;stroke:none;overflow:visible}
.canonical-header .guide-top .dev-character,.canonical-footer .guide-top .dev-character{width:52px;height:80px;margin-block:-12px}
.canonical-header .guide-prompts .ui-icon,.canonical-footer .guide-prompts .ui-icon{width:19px;height:19px;flex:none}
.canonical-header .dev-micro,.canonical-footer .dev-micro{width:36px;height:58px}
.canonical-header .contact-companion .dev-micro,.canonical-footer .contact-companion .dev-micro{width:38px;height:62px}
.footer-guide{position:relative;overflow:visible;background:none;border:none;width:44px;height:64px}
.footer-guide .dev-micro{height:64px;width:40px}
@media (prefers-reduced-motion:reduce){.canonical-header .dev-character,.canonical-footer .dev-character{animation:none!important;transition:none!important}}
@media  print{.canonical-header .dev-character,.canonical-footer .dev-character{display:none!important}}
@media  print{.footer-guide{display:none!important}}
.canonical-header .dev-character [data-part],.canonical-footer .dev-character [data-part]{transform-box:fill-box;transform-origin:center}
.canonical-header .dev-character [data-part=prop],.canonical-footer .dev-character [data-part=prop]{transform-origin:center bottom}
.canonical-header .dev-character[data-pose=peek-bottom],.canonical-footer .dev-character[data-pose=peek-bottom]{overflow:hidden}
html[data-theme=night] [data-motion-scene=hero] :is(.canonical-header,.canonical-footer){--scene-paper:#2c364a;}
html[data-motion=reduce] .canonical-header :is(.motion-art,.dev-character,.dev-definitions) [transform],html[data-motion=reduce] .canonical-footer :is(.motion-art,.dev-character,.dev-definitions) [transform]{transform:var(--dev-base-transform)!important;transform-origin:0 0;transform-box:view-box}
.canonical-header .dev-character [data-facing-body],.canonical-footer .dev-character [data-facing-body],.canonical-header .dev-character [data-upright-prop],.canonical-footer .dev-character [data-upright-prop]{transform-origin:0 0;transform-box:view-box}
.canonical-header .guide-related .ui-icon,.canonical-footer .guide-related .ui-icon{width:14px;height:14px}
.canonical-header .dev-prompt .ui-icon,.canonical-footer .dev-prompt .ui-icon{width:15px;height:15px;flex:none}
.canonical-header .brand-plate .ui-icon,.canonical-footer .brand-plate .ui-icon{width:23px;height:23px;color:#3c4552}
.canonical-header .credential-symbol .ui-icon,.canonical-footer .credential-symbol .ui-icon{width:23px;height:23px}
.canonical-header .brand-credits,.canonical-footer .brand-credits{max-width:650px;margin:18px auto 0;text-align:left;font-size:11px;color:var(--ink-muted)}
.canonical-header .brand-credits summary,.canonical-footer .brand-credits summary{display:flex;min-height:44px;align-items:center;justify-content:center;cursor:pointer}
.canonical-header .brand-credits p,.canonical-footer .brand-credits p{font-size:11px!important;line-height:1.8}
.canonical-header .brand-credits a,.canonical-footer .brand-credits a{display:inline-flex;align-items:center;min-height:30px;color:var(--signature)}
.canonical-header .brand-credits summary:focus-visible,.canonical-footer .brand-credits summary:focus-visible{outline:3px solid var(--signature);outline-offset:4px}
@media  print{.canonical-header .brand-credits,.canonical-footer .brand-credits{display:none!important}}
.canonical-header .social-mark,.canonical-footer .social-mark{display:inline-flex;align-items:center;justify-content:center;flex:none;width:38px;height:38px;margin-right:5px;padding:7px;border-radius:11px;background:#fff;border:1px solid rgba(243,114,116,.28);box-sizing:border-box;vertical-align:middle}
.canonical-header .social-mark img,.canonical-footer .social-mark img{display:block;width:24px!important;height:24px!important;object-fit:contain;filter:none!important;opacity:1!important}
.canonical-header .social-mark .ui-icon,.canonical-footer .social-mark .ui-icon{width:24px!important;height:24px!important;color:#bf464d;stroke:currentColor}
.canonical-header .contact-signal-grid .signal-badge>.social-mark,.canonical-footer .contact-signal-grid .signal-badge>.social-mark{margin:0}
.canonical-header .resume-contact .social-mark,.canonical-footer .resume-contact .social-mark{width:30px;height:30px;padding:5px;border-radius:8px}
.canonical-header .resume-contact .social-mark img,.canonical-footer .resume-contact .social-mark img,.canonical-header .resume-contact .social-mark .ui-icon,.canonical-footer .resume-contact .social-mark .ui-icon{width:19px!important;height:19px!important}
.footer-social>a{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px}
.footer-social .social-mark{margin:0}
@media  print{.canonical-header .social-mark,.canonical-footer .social-mark{display:none!important}}
.canonical-header .contact-signal-grid .signal-badge>.social-mark,.canonical-footer .contact-signal-grid .signal-badge>.social-mark{display:inline-flex;flex:0 0 38px;width:38px;height:38px}
.canonical-header .social-mark img,.canonical-footer .social-mark img{border-radius:0!important;border:0!important;box-shadow:none!important;background:transparent!important}
@media (max-width:600px){.canonical-header .contact-signal-grid .signal-badge>.social-mark,.canonical-footer .contact-signal-grid .signal-badge>.social-mark{flex:0 0 38px}}
.canonical-header .social-mark,.canonical-footer .social-mark{padding:6px}
.canonical-header .social-mark img,.canonical-footer .social-mark img{max-width:100%!important;flex:none}
.canonical-header .dev-run-feature .quest-action .ui-icon,.canonical-footer .dev-run-feature .quest-action .ui-icon{
  width: 20px;
  height: 20px;
}
.canonical-header #project-devrun:has(.project-action:hover) .dev-run-key-art img,.canonical-footer #project-devrun:has(.project-action:hover) .dev-run-key-art img{transform:scale(1.025)}
.canonical-header #project-devrun:has(.project-action:hover) .dev-run-key-art:after,.canonical-footer #project-devrun:has(.project-action:hover) .dev-run-key-art:after{transform:translateX(100%);transition:transform 1.3s ease}
.canonical-header .career-row .ui-icon,.canonical-footer .career-row .ui-icon{flex-shrink:0;width:24px;height:24px}
.canonical-header .conversion-facts .ui-icon,.canonical-footer .conversion-facts .ui-icon{width:20px;height:20px}
.canonical-header .proof-card .ui-icon,.canonical-footer .proof-card .ui-icon,.canonical-header .tool-context .ui-icon,.canonical-footer .tool-context .ui-icon{width:28px;height:28px}
@media (max-width:360px){.canonical-header .career-row .ui-icon,.canonical-footer .career-row .ui-icon{display:none}}
@media (max-width:280px){body[data-page=conversion] .canonical-header{position:relative}
body[data-page=conversion] .canonical-header .nav-container{grid-template-columns:minmax(0,1fr) 44px;grid-template-rows:44px 44px;row-gap:4px;align-content:center}
body[data-page=conversion] .canonical-header .logo{grid-column:1/-1;grid-row:1;font-size:20px!important}
body[data-page=conversion] .canonical-header .toggle-container{grid-column:1;grid-row:2;justify-self:end}
body[data-page=conversion] .canonical-header .nav-container .menu-icon{grid-column:2;grid-row:2}
body[data-page=conversion] .canonical-footer .logo{font-size:20px!important}}
.canonical-header .evidence-door>.ui-icon,.canonical-footer .evidence-door>.ui-icon{width:30px;height:30px;flex:none}
@media (max-width:600px){.canonical-header .evidence-door>.ui-icon,.canonical-footer .evidence-door>.ui-icon{display:none}}
.canonical-header .workshop-entry,.canonical-footer .workshop-entry{ display: inline-block; padding: 10px 8px; color: #912b37; text-underline-offset: .2em; }
html[data-theme="night"] .canonical-header .workshop-entry,html[data-theme="night"] .canonical-footer .workshop-entry{ color: #ffadb3; }
.canonical-header .workshop-entry:focus-visible,.canonical-footer .workshop-entry:focus-visible{ outline: 2px solid currentColor; outline-offset: 3px; }
html[data-theme="day"] .canonical-header .privacy-entry,html[data-theme="day"] .canonical-footer .privacy-entry{color:#34434c!important;text-decoration:underline!important;text-underline-offset:.2em}
html[data-theme="night"] .canonical-header .privacy-entry,html[data-theme="night"] .canonical-footer .privacy-entry{color:#f2f2ec!important;text-decoration:underline!important;text-underline-offset:.2em}
.canonical-header .project-actions,.canonical-footer .project-actions{margin:8px 0 0!important;gap:8px;display:flex;flex-wrap:wrap}
.canonical-header .project-action,.canonical-footer .project-action{min-height:44px;padding:8px 10px;font-size:12px}
@media (max-width:600px){.canonical-header .project-actions,.canonical-footer .project-actions{gap:6px;margin-top:4px!important}
.canonical-header .project-action,.canonical-footer .project-action{font-size:11px;padding:6px 8px;gap:5px}
.canonical-header .project-hook .ui-icon,.canonical-footer .project-hook .ui-icon{width:16px;height:16px}}
html[data-theme] .canonical-header #about .entry-object .ui-icon,html[data-theme] .canonical-footer #about .entry-object .ui-icon{width:28px;height:28px}
html[data-theme] .canonical-header #playground .quest-card>.ui-icon,html[data-theme] .canonical-footer #playground .quest-card>.ui-icon{width:24px;height:24px}
html[data-theme] .canonical-header #contact .mail-emblem .ui-icon,html[data-theme] .canonical-footer #contact .mail-emblem .ui-icon{width:28px;height:28px}
@media (max-width:700px){html[data-theme] .canonical-header #playground .quest-card>.ui-icon,html[data-theme] .canonical-footer #playground .quest-card>.ui-icon{width:18px;height:18px}
html[data-theme] .canonical-header #contact .contact-companion .dev-character,html[data-theme] .canonical-footer #contact .contact-companion .dev-character{width:28px;height:36px}}
@media (max-height:650px){html[data-theme] .canonical-header #playground .quest-card>.ui-icon,html[data-theme] .canonical-footer #playground .quest-card>.ui-icon{display:none}}
@media (max-width:799px){html[data-theme] .canonical-header #playground .quest-card>.ui-icon,html[data-theme] .canonical-footer #playground .quest-card>.ui-icon{width:18px;height:18px}
html[data-theme] .canonical-header #contact .contact-companion .dev-character,html[data-theme] .canonical-footer #contact .contact-companion .dev-character{width:28px;height:36px}}
html[data-theme] .canonical-header #contact .signal-badge>span:not(.social-mark),html[data-theme] .canonical-footer #contact .signal-badge>span:not(.social-mark){flex:1}
@media (max-width:400px){html[data-theme] .canonical-header #playground .quest-card>.ui-icon,html[data-theme] .canonical-footer #playground .quest-card>.ui-icon{display:none}}
@media (max-width:600px) and (max-height:650px){html[data-theme] .canonical-header #portfolio .project-actions .project-action,html[data-theme] .canonical-footer #portfolio .project-actions .project-action{font-size:10px;padding:5px;gap:3px}
html[data-theme] .canonical-header #portfolio .project-actions .ui-icon,html[data-theme] .canonical-footer #portfolio .project-actions .ui-icon{width:12px;height:12px}
html[data-theme] .canonical-header #experience .about-actions .project-action,html[data-theme] .canonical-footer #experience .about-actions .project-action{font-size:10px}
html[data-theme] .canonical-header #contact .signal-badge .social-mark,html[data-theme] .canonical-footer #contact .signal-badge .social-mark{width:28px;height:28px;flex-basis:28px;padding:4px}}
@media (max-width:600px) and (max-height:650px){html[data-theme] .canonical-header #portfolio .project-actions,html[data-theme] .canonical-footer #portfolio .project-actions{display:grid;grid-template-columns:1fr 1fr;gap:5px}
html[data-theme] .canonical-header #portfolio .project-actions .project-action,html[data-theme] .canonical-footer #portfolio .project-actions .project-action{min-width:0;white-space:normal;justify-content:center;text-align:center;letter-spacing:0;line-height:1.3;min-height:44px}
html[data-theme] .canonical-header #portfolio .project-actions .project-action:only-child,html[data-theme] .canonical-footer #portfolio .project-actions .project-action:only-child{grid-column:1/-1;justify-self:start}
html[data-theme] .canonical-header #portfolio .project-actions .social-mark,html[data-theme] .canonical-footer #portfolio .project-actions .social-mark{width:24px;height:24px;flex:0 0 24px;padding:3px;margin:0}}
.canonical-header .container{max-width:1200px;margin:auto;padding:0 15px;text-align:center}
.canonical-header,.canonical-footer{font-family:var(--font-body,Arial,sans-serif);font-size:16px;line-height:1.5}.canonical-footer.container{width:100%;max-width:none;margin:0;text-align:center}.canonical-footer .container{max-width:1200px;margin:auto}.canonical-header *,.canonical-footer *{box-sizing:border-box}.canonical-header .ui-icon{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
