:root{--bg:#080a0d;--bg-raised:#12161c;--bg-inset:#0c0f13;--border:#232a35;--text:#eef0f3;--text-dim:#98a1ad;--cyan:#4aa8ff;--green:#4fdc8a;--orange:#e8a65d;--pink:#e07aa8;--red:#f0716b;--mono:"Geist Mono", ui-monospace, "SF Mono", Consolas, monospace;--sans:"Geist", -apple-system, "Segoe UI", sans-serif;--jawi:"Noto Naskh Arabic", "Traditional Arabic", serif;--hero-fade-start:#080a0d33;--header-bg:#080a0db8;--shadow-pop:0 8px 24px -12px #0000008c;--radius-xs:6px;--radius-sm:8px;--radius:14px;--radius-lg:16px;--gutter:24px;--section-y:72px;--header-offset:84px;--ease-out:cubic-bezier(.23, 1, .32, 1);--dur-fast:.15s;--dur:.2s;--dur-slow:.3s;--z-content:1;--z-dropdown:10;--z-header:55;--z-fx:59;--z-modal:200;--z-skip:300;--hit:34px}@media (pointer:coarse){:root{--hit:44px}}@media (max-width:640px){:root{--gutter:16px;--section-y:56px}}:root[data-theme=light]{--bg:#f8f9fb;--bg-raised:#fff;--bg-inset:#f0f2f6;--border:#e1e5ec;--ink:#0f1b2d;--text:#0f1b2d;--text-dim:#526074;--cyan:#c2412d;--green:#0f766e;--orange:#b45309;--pink:#9d174d;--red:#b42318;--hero-fade-start:#f8f9fb00;--header-bg:#0f1b2d;--shadow-pop:0 8px 24px -12px #0f1b2d40;--lift:0 1px 2px #0f1b2d0d, 0 10px 28px -18px #0f1b2d47}:root[data-theme=light] .modal-overlay{--scrim:#0f1b2d8c}:root[data-theme=light] .modal-panel{box-shadow:0 30px 80px -24px #0f1b2d80}:root[data-theme=light] .map-embed-shell{filter:none}:root[data-theme=light] select.form-select{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-theme=light] .main-header,:root[data-theme=light] .site-footer{--text:#fff;--text-dim:#ffffffbd;--border:#ffffff24;--cyan:#f4a58f;--green:#f4a58f;--orange:#f4a58f;--pink:#f4a58f}:root[data-theme=light] .main-header .dropdown-menu{--text:#0f1b2d;--text-dim:#526074;--border:#e1e5ec;--cyan:#c2412d}:root[data-theme=light] .site-footer{background:#0b1422;border-top:0}:root[data-theme=light] .main-header .navbar-toggler{border-color:#ffffff73}:root[data-theme=light] .main-header .navbar-toggler:hover,:root[data-theme=light] .main-header .navbar-toggler[aria-expanded=true]{background:#ffffff14;border-color:#f4a58f}:root[data-theme=light] .main-header .navbar-toggler .navbar-toggler-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='white' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}:root[data-theme=light] .hero-section{background:radial-gradient(#0f1b2d17 1px,#0000 1.4px) 0 0/24px 24px,#f1f4f8}:root[data-theme=light] .hero-section:after{background:0 0}:root[data-theme=light] .band{background:#f0f2f6}:root[data-theme=light] .about-card,:root[data-theme=light] .hours-card,:root[data-theme=light] .privacy-summary-card,:root[data-theme=light] .privacy-sidebar,:root[data-theme=light] .contact-info-card,:root[data-theme=light] .contact-form-card,:root[data-theme=light] .mission-card,:root[data-theme=light] .proj-card{box-shadow:var(--lift)}:root[data-theme=light] .mission-card:hover{border-color:#c5ccd8;box-shadow:0 14px 32px -18px #0f1b2d59}:root[data-theme=light] .band .proj-card{background:#fff}@media (hover:hover) and (pointer:fine){:root[data-theme=light] .proj-card:hover{box-shadow:0 0 0 1px color-mix(in srgb, var(--cyan) 45%, transparent), 0 18px 40px -16px color-mix(in srgb, var(--cyan) 50%, transparent)}}:root[data-theme=light] .tag{background:var(--bg-inset);border-color:#0000}:root[data-theme=light] .proj-card .tag{background:#ffffff1a;border-color:#ffffff38}:root[data-theme=light] .cta-button,:root[data-theme=light] .btn-primary{background:var(--ink);border-color:var(--ink);color:#fff;font-weight:600;box-shadow:0 1px 2px #0f1b2d33}:root[data-theme=light] .cta-button:hover,:root[data-theme=light] .btn-primary:hover{color:#fff;background:#1d3050;box-shadow:0 10px 20px -12px #0f1b2d99}:root[data-theme=light] .cta-button-outline,:root[data-theme=light] .cta-button-outline-light{color:var(--ink);background:#fff;border-color:#c5ccd8;font-weight:600}:root[data-theme=light] .cta-button-outline:hover,:root[data-theme=light] .cta-button-outline-light:hover{border-color:var(--ink);color:var(--ink)}:root[data-theme=light] .form-control,:root[data-theme=light] .form-select{background:#fff;border-color:#c5ccd8}*{box-sizing:border-box}html{background:var(--bg)}body{background:var(--bg);color:var(--text);font-family:var(--sans);line-height:1.65;overflow-x:hidden}body.lang-jawi{font-family:var(--jawi);line-height:1.9}body.lang-jawi h1,body.lang-jawi h2,body.lang-jawi h3,body.lang-jawi h4{font-family:var(--jawi)}body.lang-jawi .wa-number,body.lang-jawi .brand,body.lang-jawi .modal-bar .path,body.lang-jawi code{font-family:var(--mono);direction:ltr;unicode-bidi:isolate}body.lang-jawi .main-nav{font-family:var(--jawi)}::selection{background:var(--cyan);color:var(--bg)}a{color:var(--cyan);text-decoration:none}a:hover{text-decoration:underline}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--cyan);outline-offset:3px}h1,h2,h3,h4{font-family:var(--sans);letter-spacing:-.02em;text-wrap:balance;margin:0;font-weight:600;line-height:1.2}p{text-wrap:pretty;margin:0 0 1em}.wrap{max-width:1080px;padding-inline:var(--gutter);margin:0 auto}img{max-width:100%}.skip-link{z-index:var(--z-skip);font-family:var(--mono);border-radius:var(--radius-sm);background:var(--bg-raised);color:var(--cyan);border:1px solid var(--cyan);transition:transform var(--dur) var(--ease-out);padding:10px 16px;font-size:.85rem;position:fixed;top:12px;left:12px;transform:translateY(-160%)}.skip-link:focus-visible{text-decoration:none;transform:none}#main:focus{outline:none}.spotlight{z-index:0;pointer-events:none;background:radial-gradient(560px circle at var(--mx,50%) var(--my,20%), color-mix(in srgb, var(--cyan) 6%, transparent), transparent 55%);position:fixed;inset:0}html.theme-fading,html.theme-fading *{transition:background-color .6s,color .6s,border-color .6s,box-shadow .6s,outline-color .6s,opacity .6s!important}.content-wrapper,.site-footer{z-index:var(--z-content);position:relative}.site-header{z-index:var(--z-header);background:0 0;position:sticky;top:0}.status-live{color:var(--text-dim);letter-spacing:.02em;border:1px solid var(--border);white-space:nowrap;border-radius:999px;align-items:center;gap:7px;padding:5px 11px;font-size:.74rem;font-weight:500;display:inline-flex}.dot-live{background:var(--green);border-radius:50%;flex:none;width:7px;height:7px;position:relative}.dot-live:after{content:"";background:var(--green);animation:ripple 2.2s var(--ease-out) infinite;border-radius:50%;position:absolute;inset:0}@keyframes ripple{0%{opacity:.55;transform:scale(1)}to{opacity:0;transform:scale(3.2)}}.main-header{background:var(--header-bg);-webkit-backdrop-filter:blur(14px)saturate(160%);backdrop-filter:blur(14px)saturate(160%);transition:border-color var(--dur-slow) var(--ease-out), box-shadow var(--dur-slow) var(--ease-out), background-color var(--dur-slow) var(--ease-out);border-bottom:1px solid #0000}.site-header.is-scrolled .main-header{border-bottom-color:var(--border);box-shadow:var(--shadow-pop)}.main-header-inner{transition:padding var(--dur-slow) var(--ease-out)}.site-header.is-scrolled .main-header-inner{padding-top:10px;padding-bottom:10px}.main-header-inner{padding:16px var(--gutter);direction:ltr;flex-wrap:wrap;align-items:center;gap:24px;display:flex;position:relative}.brand{font-family:var(--mono);letter-spacing:-.02em;color:var(--text);align-items:center;gap:1px;font-size:1rem;font-weight:600;display:flex}.site-header .brand:hover{text-decoration:none}.brand .dim{color:var(--cyan)}body.lang-jawi .footer-grid .brand{justify-content:flex-end}.main-nav{gap:28px;margin:0;padding:0;font-size:.92rem;font-weight:500;list-style:none;display:flex}.main-nav .nav-link{color:var(--text-dim);transition:color var(--dur-fast) var(--ease-out);padding:6px 0;display:inline-block}.main-nav .nav-link.active,.main-nav .nav-link:hover{color:var(--text);text-decoration:none}@media (min-width:64rem){.navbar-collapse{flex:1}.main-nav{flex:1;justify-content:center}}.header-actions{align-items:center;gap:10px;display:flex}.header-icon{width:var(--hit);height:var(--hit);color:var(--text-dim);border-radius:var(--radius-sm);transition:color var(--dur-fast) var(--ease-out), background-color var(--dur-fast) var(--ease-out);justify-content:center;align-items:center;font-size:.95rem;display:inline-flex}.header-icon:hover{color:var(--text);background:color-mix(in srgb, var(--text) 8%, transparent);text-decoration:none}.lang-btn{color:var(--text-dim);min-width:var(--hit);height:var(--hit);border-radius:var(--radius-sm);transition:color var(--dur-fast) var(--ease-out), background-color var(--dur-fast) var(--ease-out);justify-content:center;align-items:center;gap:4px;padding:0 8px;font-size:.8rem;font-weight:500;display:inline-flex}.lang-btn:hover,.lang-btn[aria-expanded=true]{color:var(--text);background:color-mix(in srgb, var(--text) 8%, transparent);text-decoration:none}.lang-btn .caret{transition:transform var(--dur) var(--ease-out);font-size:.6rem}.lang-btn[aria-expanded=true] .caret{transform:rotate(180deg)}.dropdown-menu{background:var(--bg-raised);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:var(--shadow-pop);z-index:var(--z-dropdown);transform-origin:100% 0;animation:pop-in var(--dur) var(--ease-out);padding:6px;font-size:.88rem}.dropdown-item{color:var(--text-dim);border-radius:var(--radius-xs);transition:background-color var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out);padding:9px 12px}.dropdown-item:hover,.dropdown-item.active{background:var(--bg-inset);color:var(--text)}.dropdown-menu-end{left:auto;right:0}@keyframes pop-in{0%{opacity:0;transform:scale(.96)translateY(-4px)}}.btn-icon-link{width:max(36px, var(--hit));height:max(36px, var(--hit));border-radius:var(--radius-sm);border:1px solid var(--border);color:var(--text-dim);transition:border-color var(--dur) var(--ease-out), color var(--dur) var(--ease-out), transform var(--dur-fast) var(--ease-out);justify-content:center;align-items:center;display:inline-flex}.btn-icon-link:hover{border-color:var(--text-dim);color:var(--text);text-decoration:none}.btn-icon-link:active{transform:scale(.95)}.navbar-toggler{border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;width:44px;height:40px;transition:border-color var(--dur-fast) var(--ease-out);background:0 0;justify-content:center;align-items:center;margin-left:auto;line-height:1;display:inline-flex}@media (min-width:64rem){.navbar-toggler{display:none}}.navbar-toggler:hover,.navbar-toggler[aria-expanded=true]{border-color:var(--cyan)}.navbar-toggler-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba(201, 211, 221, 0.9)' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");background-position:50%;background-repeat:no-repeat;background-size:100%;width:20px;height:20px;display:inline-block}:root[data-theme=light] .navbar-toggler-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba(32, 31, 26, 0.85)' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}.theme-toggle{width:max(32px, var(--hit));height:max(32px, var(--hit));border-radius:var(--radius-sm);border:1px solid var(--border);color:var(--text-dim);cursor:pointer;transition:border-color var(--dur) var(--ease-out), color var(--dur) var(--ease-out), transform var(--dur-fast) var(--ease-out);background:0 0;flex:none;justify-content:center;align-items:center;padding:0;display:inline-flex}.theme-toggle:hover{border-color:var(--orange);color:var(--orange)}.theme-toggle:active{transform:scale(.92)}.theme-toggle-icon{width:17px;height:17px;display:block;position:relative}.theme-toggle .icon-sun,.theme-toggle .icon-moon{transition:opacity .3s var(--ease-out), transform .4s cubic-bezier(.34,1.56,.64,1);position:absolute;inset:0}.theme-toggle .icon-moon{opacity:1;transform:rotate(0)scale(1)}.theme-toggle .icon-sun{opacity:0;transform:rotate(-90deg)scale(.4)}:root[data-theme=light] .theme-toggle .icon-moon{opacity:0;transform:rotate(90deg)scale(.4)}:root[data-theme=light] .theme-toggle .icon-sun{opacity:1;transform:rotate(0)scale(1)}:root[data-theme=light] .theme-toggle{color:var(--orange)}:root[data-theme=light] .theme-toggle:hover{border-color:var(--cyan);color:var(--cyan)}.theme-toggle .sun-rays{transform-origin:12px 12px;animation:9s linear infinite sunSpin}.theme-toggle .icon-moon path{animation:3.2s ease-in-out infinite moonGlow}@keyframes sunSpin{to{transform:rotate(360deg)}}@keyframes moonGlow{0%,to{filter:drop-shadow(0 0 #c5d1e000)}50%{filter:drop-shadow(0 0 4px #c5d1e0a6)}}.btn,.cta-button,.cta-button-outline,.cta-button-outline-light{font-family:var(--sans);border-radius:var(--radius-sm);border:1px solid var(--border);min-height:44px;color:var(--text);cursor:pointer;transition:border-color var(--dur) var(--ease-out), color var(--dur) var(--ease-out), transform var(--dur-fast) var(--ease-out), background-color var(--dur) var(--ease-out);background:0 0;justify-content:center;align-items:center;gap:8px;padding:11px 22px;font-size:.92rem;font-weight:500;text-decoration:none;display:inline-flex}.cta-button,.btn-primary{background:var(--text);border-color:var(--text);color:var(--bg)}.cta-button:hover,.btn-primary:hover{background:color-mix(in srgb, var(--text) 86%, var(--bg));color:var(--bg);border-color:#0000;text-decoration:none}.cta-button-outline,.cta-button-outline-light{border-color:var(--border);color:var(--text)}.cta-button-outline:hover,.cta-button-outline-light:hover{border-color:var(--text-dim);background:color-mix(in srgb, var(--text) 6%, transparent);color:var(--text);text-decoration:none}.btn:active,.cta-button:active,.cta-button-outline:active,.cta-button-outline-light:active{transform:scale(.97)}.btn:disabled{opacity:.6;cursor:progress;box-shadow:none;transform:none}.btn-spinner{border:2px solid;border-right-color:#0000;border-radius:50%;flex:none;width:14px;height:14px;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.btn-check{animation:check-pop var(--dur-slow) var(--ease-out);display:inline-block}@keyframes check-pop{0%{opacity:0;transform:scale(.6)}}.hero-section{padding:var(--section-y) var(--gutter) calc(var(--section-y) + 16px);border-bottom:1px solid var(--border);max-width:none;position:relative;overflow:hidden}.hero-section canvas{z-index:0;width:100%;height:100%;position:absolute;inset:0}.hero-section:after{content:"";z-index:1;background:linear-gradient(180deg, var(--hero-fade-start) 0%, var(--bg) 92%);position:absolute;inset:0}.hero-section:before{content:"";z-index:1;pointer-events:none;background:radial-gradient(closest-side, color-mix(in srgb, var(--cyan) 20%, transparent), transparent);opacity:.9;width:900px;height:520px;animation:glow-in 1.4s var(--ease-out) backwards;position:absolute;top:-140px;left:50%;transform:translate(-50%)}@keyframes glow-in{0%{opacity:0}}.hero-content{z-index:2;max-width:1080px;margin:0 auto;position:relative}.eyebrow,.section-eyebrow,.contact-eyebrow,.privacy-eyebrow{color:var(--text-dim);margin-bottom:14px;font-size:.85rem;font-weight:500;display:block}.hero-title{letter-spacing:-.035em;color:var(--text);font-size:clamp(2.4rem,1.3rem + 4.8vw,4.5rem);font-weight:600;line-height:1.04}.hero-title-dim{color:var(--text-dim);animation:rise .6s var(--ease-out) .16s backwards;display:inline-block}.hero-title .glitch{color:var(--cyan);display:inline-block;position:relative}.hero-title .glitch:hover{animation:.35s steps(2,end) infinite glitch}@keyframes glitch{0%{text-shadow:2px 0 var(--pink), -2px 0 var(--cyan);transform:translate(0)}20%{text-shadow:-2px 0 var(--pink), 2px 0 var(--cyan);transform:translate(-1px,1px)}40%{text-shadow:2px 0 var(--green), -2px 0 var(--pink);transform:translate(1px,-1px)}60%{text-shadow:-1px 0 var(--cyan), 1px 0 var(--orange);transform:translate(0)}to{text-shadow:none;transform:translate(0)}}.hero-description{color:var(--text-dim);max-width:52ch;margin-top:20px;font-size:1.1rem;line-height:1.6}.hero-cta-group{flex-wrap:wrap;gap:12px;margin-top:28px;display:flex}.hero-cta-group .cta-button:after{content:"→";transition:transform var(--dur) var(--ease-out);display:inline-block}.hero-cta-group .cta-button:hover:after{transform:translate(3px)}body.lang-jawi .hero-cta-group .cta-button:after{content:"←"}body.lang-jawi .hero-cta-group .cta-button:hover:after{transform:translate(-3px)}.hero-meta{flex-wrap:wrap;align-items:center;gap:14px 24px;margin-top:48px;display:flex}.hero-status{color:var(--text-dim);align-items:center;gap:8px;font-size:.88rem;display:inline-flex}.hero-stack{flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;display:flex}.hero-stack-n{color:var(--text-dim);margin-left:7px;font-size:.68rem}.hero-stack li{font-family:var(--mono);color:var(--text);border:1px solid var(--border);background:color-mix(in srgb, var(--bg-raised) 70%, transparent);border-radius:999px;align-items:baseline;padding:5px 11px;font-size:.76rem;display:inline-flex}.hero-content>*{animation:rise .5s var(--ease-out) backwards}.hero-content>:nth-child(2){animation-delay:60ms}.hero-content>:nth-child(3){animation-delay:.12s}.hero-content>:nth-child(4){animation-delay:.18s}.hero-content>:nth-child(5){animation-delay:.26s}@keyframes rise{0%{opacity:0;transform:translateY(12px)}}.section{padding:var(--section-y) var(--gutter);max-width:1080px;scroll-margin-top:var(--header-offset);margin:0 auto}.section-padding{padding:var(--section-y) 0;scroll-margin-top:var(--header-offset)}.band{background:var(--bg-raised);border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.section-title{letter-spacing:-.03em;color:var(--text);background:linear-gradient(var(--cyan), var(--cyan)) left bottom / 0 2px no-repeat;transition:background-size .6s var(--ease-out) .15s;margin-bottom:10px;padding-bottom:14px;font-size:clamp(1.75rem,1.4rem + 1.4vw,2.4rem)}.text-center .section-title{background-position:bottom}body.lang-jawi .section-title{background-position:100% 100%}.reveal:not(.js-pending) .section-title{background-size:44px 2px}.hero-stack li{animation:rise .5s var(--ease-out) backwards}.hero-stack li:first-child{animation-delay:.32s}.hero-stack li:nth-child(2){animation-delay:.38s}.hero-stack li:nth-child(3){animation-delay:.44s}.hero-stack li:nth-child(4){animation-delay:.5s}.hero-stack li:nth-child(n+5){animation-delay:.56s}.section-subtitle{color:var(--text-dim);max-width:56ch;font-size:1rem}.reveal{opacity:1;transition:opacity .5s var(--ease-out), transform .5s var(--ease-out);transform:none}.reveal.js-pending{opacity:0;transform:translateY(16px)}.reveal .mission-card{transition-property:opacity,transform,border-color;transition-duration:.5s, .5s, var(--dur);transition-timing-function:var(--ease-out)}.reveal .mission-card:nth-child(2){transition-delay:60ms,60ms,0s}.reveal .mission-card:nth-child(3){transition-delay:.12s,.12s,0s}.reveal .mission-card:nth-child(4){transition-delay:.18s,.18s,0s}.reveal.js-pending .mission-card{opacity:0;transform:translateY(12px)}.mission-grid{grid-template-columns:repeat(4,1fr);gap:16px;margin-top:24px;display:grid}@media (max-width:860px){.mission-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:480px){.mission-grid{grid-template-columns:1fr}}.mission-card{background:linear-gradient(180deg, color-mix(in srgb, var(--text) 4%, var(--bg-raised)), var(--bg-raised) 55%);border:1px solid var(--border);border-radius:var(--radius);box-shadow:inset 0 1px 0 color-mix(in srgb, var(--text) 7%, transparent);padding:24px 20px}.mission-card:hover{border-color:color-mix(in srgb, var(--text) 24%, var(--border))}@media (hover:hover) and (pointer:fine){.reveal:not(.js-pending) .mission-card:hover{transition-delay:0s;transform:translateY(-3px)}}.mission-icon{color:var(--cyan);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-inset);justify-content:center;align-items:center;width:40px;height:40px;margin-bottom:18px;font-size:1.05rem;display:flex!important}.mission-card h3{margin-bottom:8px;font-size:1.05rem}.mission-card p{color:var(--text-dim);margin:0;font-size:.92rem;line-height:1.6}.about-body p{max-width:62ch;margin-bottom:1.1em;font-size:1.05rem;line-height:1.8}.about-card,.hours-card{background:var(--bg-raised);border:1px solid var(--border);border-radius:var(--radius);padding:24px 28px}.about-card h3,.hours-card h3{margin-bottom:14px;font-size:1.05rem}.hours-card p{margin:0}.hours-card p+p{margin-top:.5rem}.about-highlights-list{color:var(--text-dim);flex-direction:column;gap:12px;margin:0;padding:0;font-size:.95rem;list-style:none;display:flex}.about-highlights-list li{align-items:baseline;gap:10px;display:flex}.about-highlights-list li:before{content:"";background:var(--cyan);border-radius:50%;flex:none;width:5px;height:5px;transform:translateY(-2px)}.tags{flex-wrap:wrap;gap:10px;margin-top:20px;display:flex}.tag{font-family:var(--mono);border-radius:var(--radius-xs);border:1px solid var(--border);color:var(--text-dim);padding:5px 11px;font-size:.74rem}.map-embed-shell{border-radius:var(--radius-sm);filter:grayscale(.4)invert(.92)contrast(.9);overflow:hidden}.map-embed-frame{border:0;width:100%;height:100%;display:block}.parallax-band{--p:0;position:relative;overflow:clip}.parallax-band>.section{z-index:1;position:relative}.parallax-bg{z-index:0;pointer-events:none;height:100svh;margin-bottom:-100svh;position:sticky;top:0;overflow:hidden}.parallax-bg>span{will-change:translate, scale;display:block;position:absolute}.parallax-bg>.pb-word{font-family:var(--sans);letter-spacing:-.05em;white-space:nowrap;-webkit-user-select:none;user-select:none;font-size:clamp(7rem,19vw,17rem);font-weight:700;line-height:1}.pb-word-top{color:color-mix(in srgb, var(--text) 7%, transparent);rotate:-22.5deg;translate:calc(-50% + var(--p) * -550px) calc(-50% + var(--p) * 230px);top:32%;left:50%}.pb-word-fill{color:color-mix(in srgb, var(--text) 4%, transparent);rotate:-22.5deg;translate:calc(-50% + var(--p) * 680px) calc(-50% + var(--p) * -280px);top:78%;left:50%}@media (max-width:640px){.parallax-bg>.pb-word{font-size:6.5rem}}.parallax-band>.contact-page{z-index:1;position:relative}.pb-ring{aspect-ratio:1;background:repeating-radial-gradient(circle, transparent 0 52px, color-mix(in srgb, var(--cyan) 22%, transparent) 52px 53px);border-radius:50%;-webkit-mask-image:radial-gradient(circle,#000 20%,#0000 70%);mask-image:radial-gradient(circle,#000 20%,#0000 70%)}.pb-ring-a{width:min(80vw,820px);translate:0 calc(var(--p) * -200px);scale:calc(1 + var(--p) * .14);top:4%;right:-14%}.pb-ring-b{opacity:.7;width:min(52vw,520px);translate:0 calc(var(--p) * 150px);scale:calc(1 - var(--p) * .1);bottom:-6%;left:-10%}.parallax-band[data-live] .pb-ring{animation:7s ease-in-out infinite ring-breathe}.parallax-band[data-live] .pb-ring-b{animation-delay:-3.5s}@keyframes ring-breathe{50%{filter:brightness(1.7)}}.pb-flight-box{width:1400px;height:900px;position:absolute;top:50%;left:50%;translate:-50% -50%}.pb-flight-box>svg{width:100%;height:100%;position:absolute;inset:0;overflow:visible}.pb-flight .route-dash,.pb-flight .route-drawn{fill:none;stroke:var(--cyan);stroke-linecap:round}.pb-flight .route-dash{stroke-width:1.5px;stroke-dasharray:3 9;opacity:.22}.pb-flight .route-drawn{stroke-width:2px;opacity:.5;stroke-dasharray:1000;stroke-dashoffset:calc((1 - (var(--p) + 1) / 2) * 1000);filter:drop-shadow(0 0 4px var(--cyan))}.pb-plane{offset-path:path("M-40 820 C 200 820 260 600 480 560 S 760 720 900 500 S 1080 150 1440 110");offset-rotate:auto;offset-anchor:50% 50%;offset-distance:calc((var(--p) + 1) * 50%);filter:drop-shadow(0 4px 8px #00000059);width:30px;height:30px;position:absolute;top:0;left:0}.pb-plane svg{width:100%;height:100%;display:block}.pb-plane path{fill:var(--cyan);stroke:var(--bg);stroke-width:1px;stroke-linejoin:round}.pb-plane .fold{fill:none;stroke:var(--bg);stroke-width:1.2px}@media (max-width:640px){.pb-flight-box{scale:.8}}.parallax-bg.pb-pulse{height:auto;margin:0;position:absolute;inset:0;-webkit-mask-image:linear-gradient(90deg,#0000,#000 14% 86%,#0000);mask-image:linear-gradient(90deg,#0000,#000 14% 86%,#0000)}.pb-ecg{width:max(1800px,160%);left:-30%}.pb-ecg svg{width:100%;height:100%;display:block;overflow:visible}.pb-ecg path{fill:none;stroke:var(--cyan);stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.pb-ecg{height:260px;translate:calc(var(--p) * 380px) 0;opacity:.3;top:calc(50% - 130px)}.pb-ecg .ecg-line{stroke-width:2px}.pb-ecg .ecg-spark{stroke-width:3px;stroke-dasharray:90 910;stroke-dashoffset:90px;opacity:0;filter:drop-shadow(0 0 6px var(--cyan))}.parallax-band[data-live] .pb-ecg .ecg-spark{animation:5.5s linear infinite ecg-travel}@keyframes ecg-travel{0%{stroke-dashoffset:90px;opacity:1}to{stroke-dashoffset:-1000px;opacity:1}}.proj-count{color:var(--text-dim);margin:-14px 0 26px;font-size:.85rem}.proj-count strong{color:var(--text);font-weight:500}.proj-grid{grid-template-columns:repeat(4,1fr);grid-auto-rows:200px;grid-auto-flow:dense;gap:16px;display:grid}@media (max-width:900px){.proj-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:560px){.proj-grid{grid-template-columns:1fr;grid-auto-rows:220px}}.proj-card[hidden]{display:none}.proj-card{background:var(--bg-raised);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;isolation:isolate;color:inherit;transition:border-color var(--dur-slow) var(--ease-out), box-shadow var(--dur-slow) var(--ease-out), transform var(--dur) var(--ease-out);flex-direction:column;justify-content:flex-end;text-decoration:none;display:flex;position:relative;overflow:hidden}.band .proj-card{background:var(--bg)}.proj-card.wide{grid-column:span 2}.proj-card.tall{grid-row:span 2}@media (max-width:560px){.proj-card.wide,.proj-card.tall{grid-area:auto}}.proj-card.archived{opacity:.6}.proj-card.archived:hover{opacity:.9}.proj-card:has(.view-btn:focus-visible){border-color:var(--text-dim)}.proj-thumb{z-index:-2;transition:transform .6s var(--ease-out);position:absolute;inset:0}.proj-card:after{content:"";z-index:-1;pointer-events:none;background:linear-gradient(#080a0e00 22%,#080a0eb3 60%,#080a0ef0 100%);position:absolute;inset:0}@media (hover:hover) and (pointer:fine){.proj-card:hover{border-color:var(--cyan);box-shadow:0 0 0 1px color-mix(in srgb, var(--cyan) 45%, transparent), 0 18px 40px -16px color-mix(in srgb, var(--cyan) 55%, transparent);transform:translateY(-3px)}.proj-card:hover .proj-thumb{transform:scale(1.05)}}.proj-enter{animation:rise var(--dur-slow) var(--ease-out) backwards;animation-delay:calc(var(--enter-i,0) * 40ms)}.proj-info{color:#fff;z-index:1;background:linear-gradient(var(--cyan), var(--cyan)) left bottom / 0 3px no-repeat;min-width:0;transition:background-size .45s var(--ease-out);padding:16px 18px;position:relative}.proj-card:before{content:"";z-index:0;pointer-events:none;opacity:0;background:radial-gradient(280px circle at var(--px,50%) var(--py,50%), color-mix(in srgb, var(--cyan) 30%, transparent), transparent 65%);transition:opacity var(--dur-slow) var(--ease-out);position:absolute;inset:0}@media (hover:hover) and (pointer:fine){.proj-card:hover:before{opacity:1}.proj-card:hover .proj-info{background-size:100% 3px}.proj-card:hover .proj-title{color:color-mix(in srgb, var(--cyan) 35%, #fff)}.proj-card:hover .view-btn{background:var(--cyan);border-color:var(--cyan)}}.proj-reveal.reveal.js-pending{opacity:1;transform:none}.proj-reveal.js-pending .proj-card{opacity:0}.proj-reveal:not(.js-pending) .proj-card:not(.proj-enter){animation:rise .5s var(--ease-out) backwards}.proj-reveal:not(.js-pending) .proj-card:nth-child(4n+2){animation-delay:60ms}.proj-reveal:not(.js-pending) .proj-card:nth-child(4n+3){animation-delay:.12s}.proj-reveal:not(.js-pending) .proj-card:nth-child(4n+4){animation-delay:.18s}.proj-title{transition:color var(--dur) var(--ease-out);letter-spacing:-.015em;text-overflow:ellipsis;white-space:nowrap;font-size:1.02rem;font-weight:600;line-height:1.3;overflow:hidden}.proj-sub{justify-content:space-between;align-items:center;gap:10px;min-width:0;margin-top:8px;display:flex}.proj-year{font-family:var(--mono);color:#ffffffb3;flex:none;font-size:.72rem}.proj-card .tags{flex-wrap:nowrap;gap:6px;min-width:0;margin:0;display:flex;overflow:hidden}.proj-card .tag{color:#ffffffe0;white-space:nowrap;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#ffffff14;border:1px solid #ffffff38;border-radius:999px;flex:none;padding:2px 9px;font-size:.7rem}.proj-card .tag:first-child{text-overflow:ellipsis;flex-shrink:1;max-width:100%;overflow:hidden}.proj-card .tag-more{opacity:.8}.proj-card .view-btn{color:#fff;cursor:pointer;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);width:34px;height:34px;transition:opacity var(--dur) var(--ease-out), transform var(--dur) var(--ease-out), background-color var(--dur) var(--ease-out);background:#0a0c1080;border:1px solid #fff3;border-radius:50%;place-items:center;font-size:.8rem;display:grid;position:absolute;top:12px;right:12px}.proj-card .view-btn:hover{background:#0a0c10bf}.proj-card .view-btn:active{transform:scale(.92)}@media (hover:hover) and (pointer:fine){.proj-card .view-btn{opacity:0;transform:scale(.9)}.proj-card:hover .view-btn,.proj-card .view-btn:focus-visible{opacity:1;transform:none}}.proj-bar{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:12px 20px;margin:-14px 0 26px;display:flex}.proj-bar .proj-count{margin:0}.proj-switch{border:1px solid var(--border);background:var(--bg-raised);border-radius:999px;gap:2px;padding:3px;display:inline-flex}.proj-switch button{width:38px;height:34px;color:var(--text-dim);cursor:pointer;transition:background-color var(--dur) var(--ease-out), color var(--dur) var(--ease-out), transform var(--dur) var(--ease-out);background:0 0;border:0;border-radius:999px;place-items:center;font-size:.85rem;display:grid}.proj-switch button:active{transform:scale(.94)}.proj-switch button:hover{color:var(--text)}.proj-switch button[aria-pressed=true]{background:var(--cyan);color:#fff}.proj-switch button:focus-visible{outline:2px solid var(--cyan);outline-offset:2px}.proj-grid[data-layout=index]{border-top:1px solid var(--border);display:block}.proj-grid[data-layout=index] .proj-card.proj-card{border:0;border-bottom:1px solid var(--border);box-shadow:none;background:0 0;border-radius:0;display:block;overflow:hidden;transform:none}.proj-grid[data-layout=index] .proj-card.proj-card:hover{box-shadow:none;border-color:var(--border);transform:none}.proj-grid[data-layout=index] .proj-thumb{clip-path:inset(0 100% 0 0);transition:clip-path .6s var(--ease-out), transform .9s var(--ease-out);transform:scale(1.1);background-position:top!important}.proj-grid[data-layout=index] .proj-card:after{background:linear-gradient(90deg, var(--bg) 0%, var(--bg) 22%, color-mix(in srgb, var(--bg) 55%, transparent) 55%, transparent 100%);opacity:0;transition:opacity .45s var(--ease-out)}.proj-grid[data-layout=index] .proj-card:before{opacity:1;z-index:2;background:var(--cyan);transform-origin:0;height:2px;transition:transform .6s var(--ease-out);inset:auto 0 0;transform:scaleX(0)}.proj-grid[data-layout=index] .view-btn{display:none}.proj-grid[data-layout=index]{position:relative}.idx-gl{z-index:0;pointer-events:none;position:absolute;inset:0}.idx-gl canvas{width:100%;height:100%;display:block}.proj-grid[data-layout=index] .proj-card.proj-card{z-index:1;position:relative}.proj-grid[data-layout=index][data-gl] .proj-thumb,.proj-grid[data-layout=index][data-gl] .proj-card:after{display:none}.proj-grid[data-layout=index] .proj-info{color:var(--text);transition:padding var(--dur-slow) var(--ease-out);background:0 0;justify-content:space-between;align-items:center;gap:20px;padding:22px 4px;display:flex}.proj-grid[data-layout=index] .proj-title{letter-spacing:-.03em;font-size:clamp(1.35rem,3.2vw,2.4rem);font-weight:500;line-height:1.15}.proj-grid[data-layout=index] .proj-sub{flex:none;gap:22px;max-width:48%;margin:0}.proj-grid[data-layout=index] .proj-year{color:var(--text-dim)}.proj-grid[data-layout=index] .proj-card .tag{border-color:var(--border);color:var(--text-dim);-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0}@media (hover:hover) and (pointer:fine){.proj-grid[data-layout=index] .proj-card:hover .proj-thumb,.proj-grid[data-layout=index] .proj-card:focus-within .proj-thumb{clip-path:inset(0);transform:scale(1)}.proj-grid[data-layout=index] .proj-card:hover:after,.proj-grid[data-layout=index] .proj-card:focus-within:after{opacity:1}.proj-grid[data-layout=index] .proj-card:hover:before,.proj-grid[data-layout=index] .proj-card:focus-within:before{transform:scaleX(1)}.proj-grid[data-layout=index] .proj-card:hover .tag{background:color-mix(in srgb, var(--bg) 80%, transparent);color:var(--text);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.proj-grid[data-layout=index] .proj-card:hover .proj-year{color:var(--text)}.proj-grid[data-layout=index] .proj-card:hover .proj-info{padding-left:20px}.proj-grid[data-layout=index] .proj-card:hover .proj-title{color:var(--cyan)}}@media (max-width:700px){.proj-grid[data-layout=index] .proj-info{flex-direction:column;align-items:flex-start;gap:10px}.proj-grid[data-layout=index] .proj-sub{max-width:100%}}@media (hover:hover) and (pointer:fine){:root[data-theme=light] .proj-grid[data-layout=index][data-gl] .proj-card:hover .proj-year{color:#e8ecf2}:root[data-theme=light] .proj-grid[data-layout=index][data-gl] .proj-card:hover .tag{color:#e8ecf2;background:#080a0d99;border-color:#ffffff2e}}@media (hover:none),(pointer:coarse){:root[data-theme=light] .proj-grid[data-layout=index][data-gl] .proj-card.is-active .proj-year{color:#e8ecf2}:root[data-theme=light] .proj-grid[data-layout=index][data-gl] .proj-card.is-active .tag{color:#e8ecf2;background:#080a0d99;border-color:#ffffff2e}.proj-grid[data-layout=index] .proj-card.is-active:before{transform:scaleX(1)}.proj-grid[data-layout=index] .proj-card.is-active .proj-title{color:var(--cyan)}.proj-grid[data-layout=index] .proj-card.is-active .tag{background:color-mix(in srgb, var(--bg) 80%, transparent);color:var(--text);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.proj-grid[data-layout=index] .proj-card.is-active .proj-year{color:var(--text)}}.proj-grid[data-layout=bento] .proj-thumb:after{content:"";pointer-events:none;background:linear-gradient(180deg, color-mix(in srgb, var(--bg) 46%, transparent), color-mix(in srgb, var(--bg) 16%, transparent) 65%, transparent);transition:opacity .5s var(--ease-out);position:absolute;inset:0}@media (hover:hover) and (pointer:fine){.proj-grid[data-layout=bento] .proj-card:hover .proj-thumb:after{opacity:.35}}.wa-number{font-family:var(--mono);letter-spacing:.02em}.wa-d:before{content:""}.wa-d[data-d="0"]:before{content:"6"}.wa-d[data-d="1"]:before{content:"7"}.wa-d[data-d="2"]:before{content:"8"}.wa-d[data-d="3"]:before{content:"9"}.wa-d[data-d="4"]:before{content:"0"}.wa-d[data-d="5"]:before{content:"1"}.wa-d[data-d="6"]:before{content:"2"}.wa-d[data-d="7"]:before{content:"3"}.wa-d[data-d="8"]:before{content:"4"}.wa-d[data-d="9"]:before{content:"5"}@keyframes pixelGlitch{0%{clip-path:inset(0);filter:none;transform:translate(0)scale(1)}8%{clip-path:inset(8% 0 71%);filter:hue-rotate(50deg)saturate(2)contrast(1.3);transform:translate(-6px)scale(1.01)}16%{clip-path:inset(64% 0 4%);filter:hue-rotate(-40deg)contrast(1.4);transform:translate(5px)scale(.99)}24%{clip-path:inset(35% 0 45%);filter:saturate(2.2);transform:translate(-4px)}32%{clip-path:inset(0);filter:contrast(1.6)brightness(1.2);transform:translate(4px)}40%{clip-path:inset(52% 0 18%);filter:hue-rotate(25deg);transform:translate(-6px)}48%{clip-path:inset(12% 0 60%);filter:none;transform:translate(3px)}56%{clip-path:inset(0);filter:none;transform:translate(0)}to{clip-path:inset(0);filter:none;transform:translate(0)}}.glitching{animation:.5s steps(2,end) both pixelGlitch;position:relative}.proj-thumb.glitching{image-rendering:pixelated}.section-title.glitching{width:fit-content}.text-center .section-title.glitching{margin-left:auto;margin-right:auto}.brand.glitching{width:fit-content}.glitching:after{content:"";mix-blend-mode:screen;pointer-events:none;background:repeating-linear-gradient(#6cc4ee1f 0 2px,#0000 2px 5px);position:absolute;inset:0}.proj-thumb.glitching{position:absolute}.proj-grid[data-layout=bento] .proj-thumb.glitching:after{background:repeating-linear-gradient(to bottom, #6cc4ee1f 0px, #6cc4ee1f 2px, transparent 2px, transparent 5px), linear-gradient(180deg, color-mix(in srgb, var(--bg) 46%, transparent), color-mix(in srgb, var(--bg) 16%, transparent) 65%, transparent)}.modal-overlay{--scrim:#05070acc;z-index:var(--z-modal);background:var(--scrim);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);opacity:0;pointer-events:none;transition:opacity var(--dur-fast) var(--ease-out);justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.modal-overlay.open{opacity:1;pointer-events:auto;transition-duration:var(--dur-slow)}.modal-panel{background:var(--bg-raised);border:1px solid var(--border);border-radius:var(--radius-lg);width:min(1200px,94vw);height:92dvh;max-height:92dvh;transform:translate(var(--fx,0px), var(--fy,12px)) scale(var(--fs,.96));opacity:0;transition:transform .26s var(--ease-out), opacity var(--dur-fast) var(--ease-out), width var(--dur) var(--ease-out), height var(--dur) var(--ease-out), border-radius var(--dur) var(--ease-out);flex-direction:column;display:flex;overflow:hidden;box-shadow:0 30px 80px #0009}.modal-overlay.open .modal-panel{opacity:1;transition-property:transform,opacity,width,height,border-radius;transition-duration:.42s, var(--dur), var(--dur), var(--dur), var(--dur);transform:none}.modal-panel.fullscreen{border-radius:0;width:100vw;max-width:100vw;height:100dvh;max-height:100dvh}.modal-overlay:has(.modal-panel.fullscreen){padding:0}@media (max-width:560px){.modal-overlay{padding:12px}}.modal-bar{background:var(--bg-raised);border-bottom:1px solid var(--border);align-items:center;gap:8px;padding:6px 8px 6px 18px;display:flex}.modal-bar .path{color:var(--text);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:.9rem;font-weight:500;overflow:hidden}.modal-close,.modal-expand{color:var(--text-dim);cursor:pointer;width:var(--hit);height:var(--hit);border-radius:var(--radius-sm);transition:color var(--dur-fast) var(--ease-out), background-color var(--dur-fast) var(--ease-out);background:0 0;border:none;justify-content:center;align-items:center;font-size:1rem;display:inline-flex}.modal-expand:hover,.modal-close:hover{color:var(--text);background:color-mix(in srgb, var(--text) 8%, transparent)}.modal-stage{background:var(--bg-inset);flex:1;justify-content:center;align-items:center;min-height:0;display:flex;position:relative;overflow:hidden}.modal-scroll{touch-action:none;justify-content:center;align-items:center;width:100%;height:100%;padding:22px;display:flex;overflow:hidden}.modal-frame{border-radius:var(--radius-sm);max-width:100%;max-height:100%;box-shadow:0 0 0 1px color-mix(in srgb, var(--text) 8%, transparent);touch-action:none;-webkit-user-select:none;user-select:none;will-change:transform;display:flex;position:relative}@property --reveal{syntax:"<percentage>";inherits:false;initial-value:130%}.modal-frame.assemble:before{content:"";z-index:2;pointer-events:none;opacity:0;--b:linear-gradient(var(--cyan), var(--cyan));background:var(--b) top left/20px 2px, var(--b) top left/2px 20px, var(--b) top right/20px 2px, var(--b) top right/2px 20px, var(--b) bottom left/20px 2px, var(--b) bottom left/2px 20px, var(--b) bottom right/20px 2px, var(--b) bottom right/2px 20px;animation:hud-in 1.2s var(--ease-out) .1s both;background-repeat:no-repeat;position:absolute;inset:-10px}@keyframes hud-in{0%{opacity:0;scale:1.14}30%{opacity:1}70%{opacity:1}to{opacity:0;scale:1}}.modal-frame img{object-fit:contain;background:var(--bg-inset);cursor:zoom-in;touch-action:none;width:auto;max-width:100%;height:auto;max-height:100%;-webkit-mask-image:radial-gradient(circle at 50% 50%, #000 calc(var(--reveal) - 28%), transparent var(--reveal));-webkit-mask-image:radial-gradient(circle at 50% 50%, #000 calc(var(--reveal) - 28%), transparent var(--reveal));mask-image:radial-gradient(circle at 50% 50%, #000 calc(var(--reveal) - 28%), transparent var(--reveal));display:block}.modal-frame img:not([data-dir]){animation:.95s cubic-bezier(.22,1,.36,1) .12s backwards lens-in}@keyframes lens-in{0%{--reveal:0%;filter:blur(18px)brightness(1.7)saturate(1.4);scale:1.08}60%{filter:blur(2px)brightness(1.15)}to{--reveal:130%;filter:none;scale:1}}.modal-frame img[data-dir=next]{animation:slide-next .4s var(--ease-out)}.modal-frame img[data-dir=prev]{animation:slide-prev .4s var(--ease-out)}@keyframes slide-next{0%{opacity:0;filter:blur(14px)brightness(1.5);clip-path:inset(0 0 0 40%);translate:56px}}@keyframes slide-prev{0%{opacity:0;filter:blur(14px)brightness(1.5);clip-path:inset(0 40% 0 0);translate:-56px}}.modal-frame .frame-body{aspect-ratio:16/10;text-align:center;background:var(--bg-inset);flex-direction:column;justify-content:center;align-items:center;gap:8px;width:70vw;max-width:520px;padding:24px;display:flex}.modal-frame .frame-body .label{color:var(--text-dim);font-size:1rem;font-weight:500}.modal-frame .frame-body i{color:var(--border);font-size:1.5rem}.modal-nav{background:color-mix(in srgb, var(--bg-raised) 78%, transparent);border:1px solid var(--border);width:44px;height:44px;color:var(--text);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);cursor:pointer;z-index:2;transition:border-color var(--dur) var(--ease-out), color var(--dur) var(--ease-out), transform var(--dur-fast) var(--ease-out);border-radius:50%;justify-content:center;align-items:center;font-size:1.25rem;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.modal-nav:hover{border-color:var(--text-dim)}@media (hover:hover) and (pointer:fine){.modal-nav:hover{transform:translateY(-50%)scale(1.08)}}.modal-nav:active{transform:translateY(-50%)scale(.94)}.modal-nav.prev{left:24px}.modal-nav.next{right:24px}@media (max-width:560px){.modal-nav.prev{left:8px}.modal-nav.next{right:8px}}.modal-tags{flex-wrap:wrap;gap:6px;padding:12px 18px 0;display:flex}.modal-tags:empty{display:none}.modal-tags .tag{font-family:var(--mono);color:var(--text-dim);border:1px solid var(--border);border-radius:var(--radius-xs);padding:3px 9px;font-size:.72rem}.modal-foot{grid-template-columns:1fr auto 1fr;align-items:center;gap:14px;padding:12px 18px;display:grid}.modal-live-link{min-height:36px;color:var(--bg);background:var(--text);border:1px solid var(--text);border-radius:var(--radius-sm);transition:background-color var(--dur) var(--ease-out), transform var(--dur-fast) var(--ease-out);justify-self:start;align-items:center;gap:7px;padding:6px 14px;font-size:.85rem;font-weight:500;display:inline-flex}.modal-live-link:hover{background:color-mix(in srgb, var(--text) 86%, var(--bg));color:var(--bg);text-decoration:none}.modal-live-link:active{transform:scale(.97)}.modal-dots{flex-wrap:wrap;justify-content:center;gap:2px;display:flex}.modal-dots .dot{cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;width:22px;height:22px;padding:0;display:inline-flex}.modal-dots .dot:after{content:"";background:var(--border);width:7px;height:7px;transition:background-color var(--dur) var(--ease-out), box-shadow var(--dur) var(--ease-out), transform var(--dur) var(--ease-out);border-radius:50%}.modal-dots .dot:hover:after{background:var(--text-dim)}.modal-dots .dot.active:after{background:var(--text);transform:scale(1.15)}.modal-dots .dot:focus-visible{outline-offset:0}.modal-counter{font-family:var(--mono);color:var(--text-dim);justify-self:end;font-size:.72rem}@media (max-width:560px){.modal-foot{grid-template-columns:1fr auto}.modal-dots{display:none}}.contact-hero{max-width:640px}.contact-lead{color:var(--text-dim);margin-bottom:0;font-size:1.05rem}.contact-info-card,.contact-form-card{background:color-mix(in srgb, var(--bg) 62%, transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--border);border-radius:var(--radius);padding:28px}@media (max-width:640px){.contact-info-card,.contact-form-card{padding:20px}}.contact-info-card h3{margin-bottom:8px;font-size:1.1rem}.contact-info-card>p{color:var(--text-dim)}.contact-info-list{flex-direction:column;gap:18px;margin-top:6px;display:flex}.contact-info-item{align-items:flex-start;gap:12px;font-size:.92rem;display:flex}.contact-info-item i{color:var(--cyan);text-align:center;width:16px;margin-top:4px}.contact-info-item strong{color:var(--text);margin-bottom:2px;font-size:.85rem;font-weight:500;display:block}.contact-info-item span,.contact-info-item a{color:var(--text-dim)}.contact-info-item a:hover{color:var(--text)}.form-label{color:var(--text);margin-bottom:6px;font-size:.88rem;font-weight:500;display:block}.form-control,.form-select{background:var(--bg-inset);border:1px solid var(--border);color:var(--text);border-radius:var(--radius-sm);font-family:var(--sans);width:100%;min-height:44px;transition:border-color var(--dur-fast) var(--ease-out), box-shadow var(--dur-fast) var(--ease-out);padding:11px 12px;font-size:1rem}.form-control:hover,.form-select:hover{border-color:color-mix(in srgb, var(--text-dim) 60%, var(--border))}.form-control:focus,.form-select:focus{background:var(--bg-inset);border-color:var(--cyan);color:var(--text);box-shadow:0 0 0 3px color-mix(in srgb, var(--cyan) 28%, transparent);outline:none}.form-control:focus-visible,.form-select:focus-visible{outline:none}.form-control::placeholder{color:var(--text-dim)}textarea.form-control{resize:vertical;line-height:1.6}.form-text{color:var(--text-dim);margin-top:6px;font-size:.78rem}select.form-select{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}.alert{border-radius:var(--radius-sm);animation:rise var(--dur-slow) var(--ease-out);border:1px solid;margin-bottom:16px;padding:12px 16px;font-size:.9rem}.alert ul{margin:0;padding-left:18px;list-style:outside}.alert-success{background:color-mix(in srgb, var(--green) 8%, transparent);border-color:color-mix(in srgb, var(--green) 35%, transparent);color:var(--green)}.alert-danger{background:color-mix(in srgb, var(--red) 8%, transparent);border-color:color-mix(in srgb, var(--red) 35%, transparent);color:var(--red)}.privacy-hero{max-width:1080px;margin:0 auto;padding:64px 0 8px}.privacy-title{letter-spacing:-.03em;margin-top:14px;font-size:clamp(1.9rem,1.3rem + 2.2vw,2.8rem)}.privacy-lead{color:var(--text-dim);max-width:60ch;margin:14px auto 0;font-size:1.05rem}.privacy-updated{font-family:var(--mono);color:var(--text-dim);margin-top:14px;font-size:.75rem}.privacy-summary-grid{margin-top:40px}.privacy-summary-card{background:var(--bg-raised);border:1px solid var(--border);border-radius:var(--radius);height:100%;padding:22px}.privacy-summary-card h2{color:var(--cyan);margin-bottom:8px;font-size:.95rem}.privacy-summary-card p{color:var(--text-dim);margin:0;font-size:.9rem}.privacy-content{max-width:1080px;margin:0 auto;padding:56px 0 80px}.privacy-section{max-width:70ch;margin-bottom:40px}.privacy-section h2{color:var(--text);margin-bottom:12px;font-size:1.15rem}.privacy-section p{color:var(--text-dim)}.privacy-section ul{color:var(--text-dim);flex-direction:column;gap:6px;padding-left:20px;list-style:outside;display:flex}.privacy-highlight{background:color-mix(in srgb, var(--cyan) 6%, var(--bg-raised));border:1px solid color-mix(in srgb, var(--cyan) 30%, transparent);border-radius:var(--radius-sm);color:var(--text);padding:12px 16px;font-size:.92rem}.privacy-sidebar{background:var(--bg-raised);border:1px solid var(--border);border-radius:var(--radius);top:calc(var(--header-offset) + 8px);padding:24px;position:sticky}.privacy-sidebar h3{margin-bottom:12px;font-size:.95rem}.privacy-sidebar ul{color:var(--text-dim);margin:0;padding-left:18px;font-size:.88rem;list-style:outside}.privacy-sidebar li{margin-bottom:8px}.privacy-note{border-top:1px dashed var(--border);font-family:var(--mono);color:var(--text-dim);margin-top:16px;padding-top:16px;font-size:.75rem}.site-footer{border-top:1px solid var(--border);padding:56px var(--gutter) 0;background:var(--bg-inset)}.footer-grid{grid-template-columns:1.4fr 1fr 1fr 1fr;gap:32px;max-width:1080px;margin:0 auto;padding-bottom:40px;display:grid}@media (max-width:820px){.footer-grid{grid-template-columns:1fr 1fr}}@media (max-width:520px){.footer-grid{grid-template-columns:1fr;gap:28px}}.footer-tagline{color:var(--text-dim);max-width:34ch;font-size:.88rem}.footer-social{gap:10px;margin-top:16px;display:flex}.footer-heading{color:var(--text);margin-bottom:14px;font-size:.88rem;font-weight:600}.footer-links{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.footer-links a{color:var(--text-dim);transition:color var(--dur-fast) var(--ease-out);padding:3px 0;font-size:.88rem;display:inline-block}.footer-links a:hover{color:var(--text);text-decoration:none}.footer-contact-item{color:var(--text-dim);align-items:flex-start;gap:10px;margin-bottom:10px;font-size:.88rem;display:flex}.footer-contact-item i{color:var(--text-dim);text-align:center;width:14px;margin-top:4px}.footer-contact-item a{color:var(--text-dim);overflow-wrap:anywhere;transition:color var(--dur-fast) var(--ease-out)}.footer-contact-item a:hover{color:var(--text)}.footer-bottom{border-top:1px solid var(--border);max-width:1080px;color:var(--text-dim);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin:0 auto;padding:20px 0;font-size:.8rem;display:flex}.footer-bottom-links{gap:18px;display:flex}.footer-bottom-links a{color:var(--text-dim);transition:color var(--dur-fast) var(--ease-out);padding:4px 0}.footer-bottom-links a:hover{color:var(--text)}.text-center{text-align:center}.text-muted{color:var(--text-dim)!important}.text-danger{color:var(--red)!important}.mt-3{margin-top:1rem}.mt-4{margin-top:1.5rem}.mt-5{margin-top:3rem}.mb-sm{margin-bottom:.5rem}.mb-3{margin-bottom:1rem}.mb-4{margin-bottom:1.5rem}@media not (min-width:64rem){.navbar-collapse{border-top:1px solid var(--border);width:100%;animation:nav-drop var(--dur) var(--ease-out);flex-direction:column;flex-basis:100%;align-items:stretch;gap:12px;margin-top:12px;padding-top:12px}.main-nav{text-align:center;flex-direction:column;gap:0}.main-nav .nav-link{padding:12px 0;display:block}.header-actions{border-top:1px solid var(--border);flex-wrap:wrap;justify-content:center;padding-top:12px}}@keyframes nav-drop{0%{opacity:0;transform:translateY(-6px)}}@media (prefers-reduced-motion:reduce){.dot-live:after,.glitch:hover,.glitching{animation:none!important}.hero-cta-group .cta-button:after,.proj-card:before,.proj-thumb,.proj-info{transition:none!important}.glitching:after{display:none}.theme-toggle .sun-rays,.theme-toggle .icon-moon path{animation:none!important}.theme-toggle .icon-sun,.theme-toggle .icon-moon{transition:opacity var(--dur-fast) linear}.hero-content>*,.hero-stack li,.hero-title-dim,.proj-reveal .proj-card,.proj-enter,.alert,.dropdown-menu,.navbar-collapse,.btn-check,.modal-frame img[data-dir]{animation-name:fade-in!important}.reveal,.reveal .mission-card,.section-title{transition:none}.section-title{background-size:44px 2px}.reveal.js-pending,.reveal.js-pending .mission-card{opacity:1;transform:none}.modal-panel,.modal-panel.fullscreen{transition:none;transform:none!important}.modal-frame.assemble:before{display:none}.modal-frame img:not([data-dir]){animation:none}.main-header,.main-header-inner{transition:none}.btn-spinner{animation-duration:1.6s}.skip-link{transition:none}}@keyframes fade-in{0%{opacity:0}}
