@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:200 800;font-display:swap;src:url(../media/0b1dc8ddaa74ba49-s.1w1m1wqmjasxa.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:200 800;font-display:swap;src:url(../media/e629b5bc06499d58-s.1y3v-klcv8xov.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:200 800;font-display:swap;src:url(../media/1a099d89ee94ee96-s.p.15dvesjzf7814.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:200 800;font-display:swap;src:url(../media/fba5a26ea33df6a3-s.p.08ssgmy_tb90r.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Plus Jakarta Sans Fallback;src:local(Arial);ascent-override:98.88%;descent-override:21.15%;line-gap-override:0.0%;size-adjust:104.98%}.plus_jakarta_sans_3ccf5ef6-module__67OBFa__className{font-family:Plus Jakarta Sans,Plus Jakarta Sans Fallback;font-style:normal}.plus_jakarta_sans_3ccf5ef6-module__67OBFa__variable{--font-family-sans:"Plus Jakarta Sans", "Plus Jakarta Sans Fallback"}
@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/13bf9871fe164e7f-s.3bz3aq452sydg.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/cc545e633e20c56d-s.2sb9jzhmrh7ny.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/71b036adf157cdcf-s.343obqi851wr5.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/89b21bb081cb7469-s.40kcwrf1wub16.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/3fe682a82f50d426-s.200l3jur7oygh.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/70bc3e132a0a741e-s.p.269kn9uafm0ti.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono Fallback;src:local(Arial);ascent-override:75.79%;descent-override:22.29%;line-gap-override:0.0%;size-adjust:134.59%}.jetbrains_mono_55fada80-module__GdoACG__className{font-family:JetBrains Mono,JetBrains Mono Fallback;font-style:normal}.jetbrains_mono_55fada80-module__GdoACG__variable{--font-family-mono:"JetBrains Mono", "JetBrains Mono Fallback"}
:root{--bg-body:#080808;--bg-surface:#101010;--bg-surface-elevated:#161616;--bg-card:#0d0d0d;--bg-card-hover:#141414;--bg-input:#0a0a0a;--bg-overlay:#000000d9;--text-primary:#fff;--text-secondary:#909090;--text-muted:#555;--text-inverted:#080808;--border-subtle:#1c1c1c;--border-default:#262626;--border-strong:#404040;--border-active:#fff;--radius-none:0px;--radius-xs:2px;--radius-sm:4px;--radius-btn:0px;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-16:4rem;--space-20:5rem;--space-24:6rem;--font-family-sans:-apple-system, BlinkMacSystemFont, "Plus Jakarta Sans", "Inter", "Segoe UI", sans-serif;--font-family-mono:"JetBrains Mono", "SF Mono", monospace;--text-xs:.825rem;--text-sm:.95rem;--text-base:1.1rem;--text-lg:1.25rem;--text-xl:1.45rem;--text-2xl:1.75rem;--text-3xl:2.35rem;--text-4xl:3.15rem;--text-5xl:4.25rem;--text-6xl:5.25rem;--transition-fast:.12s ease;--transition-smooth:.22s ease;--shadow-text-solid:-3px -3px 0px #383838;--shadow-logo-solid:-5px -5px 0px #3a3a3a;--shadow-btn-solid:-4px -4px 0px #3a3a3a}*,:before,:after{box-sizing:border-box;-webkit-tap-highlight-color:transparent;margin:0;padding:0}:focus{outline:none}:focus-visible{outline-offset:2px;outline:1px solid #ffffffb3}html{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;background-color:var(--bg-body);color:var(--text-primary);font-family:var(--font-family-sans);scroll-behavior:smooth;-webkit-font-smoothing:antialiased;scroll-padding-top:80px;font-size:17.5px;line-height:1.6}body{background-color:var(--bg-body);min-height:100vh;color:var(--text-primary);overflow-x:hidden}.site-wrapper{flex-direction:column;min-height:100vh;display:flex;position:relative}.container-custom{width:100%;max-width:1360px;padding-left:var(--space-8);padding-right:var(--space-8);margin-left:auto;margin-right:auto}.nav-header{z-index:50;-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--border-default);background-color:#080808eb;padding:16px 0;transition:background-color .2s,border-color .2s;position:fixed;top:0;left:0;right:0}.nav-header.is-scrolled{border-bottom-color:var(--border-strong);background-color:#060606f7}.nav-container{justify-content:space-between;align-items:center;display:flex}.brand-wrapper{align-items:center;gap:var(--space-3);color:var(--text-primary);text-decoration:none;display:flex}.brand-monogram{font-family:var(--font-family-mono);font-size:var(--text-sm);background-color:var(--text-primary);color:var(--text-inverted);border-radius:var(--radius-none);letter-spacing:.05em;box-shadow:var(--shadow-logo-solid);padding:3px 8px;font-weight:700}.brand-title{font-size:var(--text-sm);letter-spacing:.08em;text-transform:uppercase;text-shadow:-1px -1px #383838;font-weight:600}.nav-menu{align-items:center;gap:var(--space-8);list-style:none;display:flex}.nav-link{color:var(--text-secondary);font-size:var(--text-sm);letter-spacing:.02em;padding:4px 2px;text-decoration:none;transition:color .15s;position:relative}.nav-link:hover{color:var(--text-primary)}.nav-link.active{color:#fff;font-weight:600}.nav-link.active:after{content:"";background-color:#fff;height:2px;position:absolute;bottom:-6px;left:0;right:0}.nav-actions{align-items:center;gap:var(--space-4);display:flex}.status-badge{font-family:var(--font-family-mono);font-size:var(--text-xs);color:var(--text-secondary);border:1px solid var(--border-default);border-radius:var(--radius-none);padding:4px 10px;transition:transform .2s,border-color .2s}.status-badge:hover{border-color:var(--border-active);transform:translateY(-1px)}.lang-toggle-btn{font-family:var(--font-family-mono);font-size:var(--text-xs);color:var(--text-secondary);border:1px solid var(--border-default);border-radius:var(--radius-none);padding:4px 10px;text-decoration:none;transition:transform .2s cubic-bezier(.16,1,.3,1),color .2s,border-color .2s,background-color .2s}.lang-toggle-btn:hover{color:var(--text-primary);border-color:var(--border-active);background-color:var(--bg-surface);transform:translateY(-1px)scale(1.04)}.mobile-menu-toggle{background-color:var(--bg-surface);border:1px solid var(--border-default);cursor:pointer;border-radius:var(--radius-none);color:var(--text-primary);width:42px;height:40px;transition:var(--transition-fast);z-index:60;flex-direction:column;justify-content:center;align-items:center;gap:5px;display:none;position:relative;box-shadow:-3px -3px #383838}.mobile-menu-toggle:hover{border-color:var(--border-active)}.mobile-menu-toggle.is-active{background-color:var(--bg-card);border-color:var(--text-primary);box-shadow:-3px -3px #4a4a4a}.hamburger-line{background-color:var(--text-primary);width:20px;height:2px;transition:transform .22s,opacity .22s;display:block}.mobile-menu-toggle.is-active .hamburger-line:first-child{transform:translateY(7px)rotate(45deg)}.mobile-menu-toggle.is-active .hamburger-line:nth-child(2){opacity:0}.mobile-menu-toggle.is-active .hamburger-line:nth-child(3){transform:translateY(-7px)rotate(-45deg)}.mobile-nav-overlay{z-index:49;-webkit-overflow-scrolling:touch;opacity:0;visibility:hidden;pointer-events:none;background-color:#080808;flex-direction:column;width:100vw;height:100dvh;transition:opacity .24s cubic-bezier(.16,1,.3,1),transform .24s cubic-bezier(.16,1,.3,1),visibility .24s;display:flex;position:fixed;top:0;left:0;overflow-y:auto;transform:translateY(-10px)}.mobile-nav-overlay.is-open{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0)}.mobile-nav-inner{min-height:100%;padding:calc(72px + var(--space-4)) var(--space-6) var(--space-8);flex-direction:column;width:100%;max-width:600px;margin:0 auto;display:flex}.mobile-nav-label{font-family:var(--font-family-mono);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.12em;color:var(--text-muted);margin-bottom:var(--space-3)}.mobile-nav-list{border-top:1px solid var(--border-default);margin-bottom:var(--space-6);flex-direction:column;list-style:none;display:flex}.mobile-nav-item{border-bottom:1px solid var(--border-default)}.mobile-nav-link{padding:var(--space-4) 0;color:var(--text-primary);font-size:var(--text-lg);letter-spacing:-.01em;transition:var(--transition-fast);justify-content:space-between;align-items:center;font-weight:700;text-decoration:none;display:flex}.mobile-nav-num{font-family:var(--font-family-mono);font-size:var(--text-xs);color:var(--text-muted);width:32px}.mobile-nav-text{text-transform:uppercase;letter-spacing:.04em;flex:1}.mobile-nav-arrow{font-family:var(--font-family-mono);font-size:var(--text-base);color:var(--text-muted);transition:transform .2s,color .2s}.mobile-nav-link:active,.mobile-nav-link:hover,.mobile-nav-link.active{color:#fff;padding-left:var(--space-2)}.mobile-nav-link:active .mobile-nav-arrow,.mobile-nav-link:hover .mobile-nav-arrow,.mobile-nav-link.active .mobile-nav-arrow{color:#fff;transform:translate(4px)}.mobile-nav-link.active .mobile-nav-num{color:#fff;font-weight:700}.mobile-nav-footer{gap:var(--space-4);padding-top:var(--space-6);border-top:1px solid var(--border-default);flex-direction:column;margin-top:auto;display:flex}.mobile-nav-status{align-items:center;gap:var(--space-2);font-family:var(--font-family-mono);font-size:var(--text-xs);color:var(--text-muted);display:flex}.mobile-nav-meta{font-family:var(--font-family-mono);padding-top:var(--space-2);justify-content:space-between;align-items:center;gap:var(--space-2);flex-wrap:wrap;font-size:11px;display:flex}.btn-primary{justify-content:center;align-items:center;gap:var(--space-2);border-radius:var(--radius-none);background-color:var(--text-primary);color:var(--text-inverted);font-size:var(--text-sm);border:1px solid var(--text-primary);box-shadow:var(--shadow-btn-solid);cursor:pointer;transition:var(--transition-fast);padding:12px 26px;font-weight:600;text-decoration:none;display:inline-flex}.btn-primary:hover{color:var(--text-primary);background-color:#0000;transform:translate(-1px,-1px);box-shadow:-2px -2px #505050}.btn-secondary{justify-content:center;align-items:center;gap:var(--space-2);border-radius:var(--radius-none);color:var(--text-primary);font-size:var(--text-sm);border:1px solid var(--border-default);cursor:pointer;transition:var(--transition-fast);background-color:#0000;padding:12px 26px;font-weight:500;text-decoration:none;display:inline-flex}.btn-secondary:hover{border-color:var(--border-active);background-color:var(--bg-surface)}.section-wrapper,#projekty,#sluzby,#proces,#stack,#o-studiu,#kontakt{scroll-margin-top:80px}.section-wrapper{padding:var(--space-20) 0;border-bottom:1px solid var(--border-default)}.section-header{margin-bottom:var(--space-12);justify-content:space-between;align-items:flex-end;gap:var(--space-4);flex-wrap:wrap;display:flex}.section-label{font-family:var(--font-family-mono);font-size:var(--text-xs);text-transform:uppercase;color:var(--text-muted);letter-spacing:.1em;margin-bottom:var(--space-2)}.section-heading{font-size:clamp(var(--text-2xl), 3.5vw, var(--text-4xl));letter-spacing:-.03em;text-shadow:var(--shadow-text-solid);font-weight:700;line-height:1.15}.section-desc{font-size:var(--text-base);color:var(--text-secondary);max-width:600px;margin-top:var(--space-3)}.hero-section{padding-top:calc(var(--space-24) + 4rem);padding-bottom:var(--space-20);border-bottom:1px solid var(--border-default)}.hero-meta-bar{border-bottom:1px solid var(--border-subtle);padding-bottom:var(--space-4);margin-bottom:var(--space-8);font-family:var(--font-family-mono);font-size:var(--text-xs);color:var(--text-muted);justify-content:space-between;align-items:center;display:flex}.hero-title{letter-spacing:-.04em;margin-bottom:var(--space-6);max-width:1140px;text-shadow:var(--shadow-text-solid);font-size:clamp(2.4rem,5.2vw,4.4rem);font-weight:800;line-height:1.1}.hero-lead{color:var(--text-secondary);max-width:880px;margin-bottom:var(--space-10);font-size:clamp(1.15rem,1.7vw,1.35rem);line-height:1.65}.hero-actions{align-items:center;gap:var(--space-4);flex-wrap:wrap;display:flex}.filter-row{gap:var(--space-2);margin-bottom:var(--space-10);border-bottom:1px solid var(--border-default);padding-bottom:var(--space-4);display:flex;overflow-x:auto}.filter-tab{font-family:var(--font-family-mono);font-size:var(--text-xs);color:var(--text-secondary);cursor:pointer;border-radius:var(--radius-none);transition:var(--transition-fast);white-space:nowrap;background:0 0;border:1px solid #0000;padding:6px 14px}.filter-tab:hover{color:var(--text-primary)}.filter-tab.active{background-color:var(--bg-surface);border-color:var(--border-strong);color:var(--text-primary)}.projects-grid{gap:var(--space-8);background-color:#0000;border:none;grid-template-columns:repeat(2,1fr);display:grid}.project-item{padding:var(--space-8);transition:all var(--transition-smooth);background-color:#0d0d0d;border:1px solid #262626;flex-direction:column;display:flex;position:relative;box-shadow:-6px -6px #202020}.project-item:hover{background-color:#121212;border-color:#fff;transform:translate(2px,2px);box-shadow:-8px -8px #383838}.project-item-top{margin-bottom:var(--space-5);padding-bottom:var(--space-3);border-bottom:1px solid #ffffff14;justify-content:space-between;align-items:center;display:flex}.project-meta-left{align-items:center;gap:var(--space-3);display:flex}.project-index{font-family:var(--font-family-mono);color:#000;background-color:#fff;padding:2px 7px;font-size:11px;font-weight:800;box-shadow:-2px -2px #3a3a3a}.project-category-badge{font-family:var(--font-family-mono);color:silver;text-transform:uppercase;letter-spacing:.06em;background-color:#ffffff0a;border:1px solid #262626;padding:2px 8px;font-size:11px;font-weight:700}.project-meta-right{font-family:var(--font-family-mono);color:var(--text-muted);align-items:center;gap:8px;font-size:11px;display:flex}.project-status-dot{background-color:var(--border-strong);width:6px;height:6px;box-shadow:none;display:inline-block}.project-year{color:var(--text-muted);font-weight:600}.project-title{font-size:var(--text-3xl);letter-spacing:-.02em;margin-bottom:var(--space-2);color:#fff;text-shadow:var(--shadow-text-solid);font-weight:800;line-height:1.2}.project-desc{font-size:var(--text-base);color:#b0b0b0;margin-bottom:var(--space-6);flex-grow:1;line-height:1.6}.project-highlights-box{margin-bottom:var(--space-6);gap:var(--space-3);transition:var(--transition-fast);background-color:#060606;border:1px solid #242424;flex-direction:column;padding:18px 20px;display:flex}.project-item:hover .project-highlights-box{background-color:#090909;border-color:#404040}.project-highlights-header{border-bottom:1px solid #ffffff14;justify-content:space-between;align-items:center;padding-bottom:9px;display:flex}.project-highlights-label{font-family:var(--font-family-mono);text-transform:uppercase;letter-spacing:.08em;color:#fff;align-items:center;gap:6px;font-size:11px;font-weight:700;display:flex}.project-highlights-badge{font-family:var(--font-family-mono);color:#fff;background-color:#161616;border:1px solid #444;padding:2px 7px;font-size:10px;font-weight:700}.project-highlights-list{flex-direction:column;gap:10px;list-style:none;display:flex}.project-highlight-item{font-size:var(--text-sm);color:#d8d8d8;align-items:flex-start;gap:12px;line-height:1.45;display:flex}.project-highlight-bullet{font-family:var(--font-family-mono);color:#000;background-color:#fff;flex-shrink:0;justify-content:center;align-items:center;width:15px;height:15px;margin-top:4px;font-size:10px;font-weight:800;display:inline-flex}.project-highlight-text{flex:1;line-height:1.45}.project-tags{gap:var(--space-2);margin-bottom:var(--space-6);flex-wrap:wrap;display:flex}.project-tag{font-family:var(--font-family-mono);color:#a0a0a0;transition:var(--transition-fast);background-color:#111;border:1px solid #282828;padding:4px 10px;font-size:12px;font-weight:600}.project-tag:hover{color:#fff;border-color:#666}.project-actions-row{justify-content:space-between;align-items:center;gap:var(--space-3);padding-top:var(--space-4);border-top:1px solid #ffffff0f;margin-top:auto;display:flex}.btn-open-detail{color:#000;font-family:var(--font-family-mono);font-size:var(--text-xs);letter-spacing:.05em;text-transform:uppercase;cursor:pointer;border-radius:var(--radius-none);text-align:left;align-items:center;gap:var(--space-2);transition:all var(--transition-fast);box-shadow:var(--shadow-btn-solid);background-color:#fff;border:1px solid #fff;padding:12px 22px;font-weight:800;display:inline-flex}.btn-open-detail:hover{background-color:#e5e5e5;transform:translate(-1px,-1px);box-shadow:-6px -6px #444}.project-ext-link{font-family:var(--font-family-mono);font-size:var(--text-xs);color:var(--text-primary);border:1px solid var(--border-default);transition:var(--transition-fast);white-space:nowrap;background-color:#0000;padding:11px 16px;font-weight:700;text-decoration:none}.project-ext-link:hover{color:#fff;background-color:#ffffff14;border-color:#fff}.projects-pagination{margin-top:var(--space-8);justify-content:center;align-items:center;gap:var(--space-3);padding-top:var(--space-6);border-top:1px solid #ffffff14;flex-wrap:wrap;display:flex}.pagination-pages{align-items:center;gap:var(--space-2);display:flex}.pagination-btn{color:var(--text-secondary);border:1px solid var(--border-default);font-family:var(--font-family-mono);font-size:var(--text-xs);cursor:pointer;transition:all var(--transition-fast);letter-spacing:.04em;-webkit-user-select:none;user-select:none;background-color:#0d0d0d;justify-content:center;align-items:center;display:inline-flex}.pagination-btn.pagination-num{min-width:40px;height:40px;padding:0 var(--space-2);font-weight:700}.pagination-btn.pagination-nav{height:40px;padding:0 var(--space-4);font-weight:600}.pagination-btn:hover:not(:disabled){color:#fff;background-color:#1a1a1a;border-color:#fff;transform:translateY(-1px)}.pagination-btn.active{color:#000;background-color:#fff;border-color:#fff;font-weight:800;box-shadow:-3px -3px #383838}.pagination-btn:disabled{opacity:.25;cursor:not-allowed;pointer-events:none}.pagination-info{margin-left:var(--space-3);font-family:var(--font-family-mono);color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;font-size:11px}@media (max-width:640px){.projects-pagination{gap:var(--space-2)}.pagination-info{text-align:center;width:100%;margin-left:0;margin-top:var(--space-2)}}.project-tech-preview{border:1px solid var(--border-default);margin-bottom:var(--space-6);font-family:var(--font-family-mono);color:var(--text-secondary);background-color:#070707;padding:14px 18px;font-size:13px;line-height:1.5}.project-tech-preview-header{border-bottom:1px solid var(--border-subtle);padding-bottom:var(--space-2);margin-bottom:var(--space-3);color:var(--text-muted);justify-content:space-between;font-size:10px;display:flex}.project-code-details{border:1px solid var(--border-default);background-color:var(--bg-body);padding:var(--space-3) var(--space-4);margin-top:var(--space-6)}.project-code-summary{font-family:var(--font-family-mono);color:var(--text-muted);cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:space-between;align-items:center;font-size:11.5px;list-style:none;display:flex}.project-code-summary::-webkit-details-marker{display:none}.project-code-summary:hover{color:var(--text-primary)}.modal-dialog{border:1px solid var(--border-strong);border-radius:var(--radius-none);background-color:var(--bg-surface);color:var(--text-primary);width:calc(100% - 2rem);max-width:820px;max-height:90vh;margin:auto;padding:0;overflow:hidden;box-shadow:0 20px 50px #000000e6;outline:none!important}.modal-dialog:focus,.modal-dialog:focus-visible{outline:none!important}.modal-dialog *,.modal-dialog :focus,.modal-dialog :focus-visible{-webkit-tap-highlight-color:transparent!important;outline:none!important}.modal-dialog::backdrop{background-color:var(--bg-overlay)}.modal-inner{outline:none;flex-direction:column;height:100%;max-height:90vh;display:flex;overflow:hidden}.modal-header{padding:var(--space-6);border-bottom:1px solid var(--border-default);background-color:var(--bg-surface);flex-shrink:0;justify-content:space-between;align-items:center;display:flex}.modal-close-btn{border:1px solid var(--border-default);color:var(--text-secondary);font-family:var(--font-family-mono);font-size:var(--text-xs);cursor:pointer;border-radius:var(--radius-none);transition:var(--transition-fast);background:0 0;padding:4px 10px;box-shadow:none!important;outline:none!important}.modal-close-btn:hover,.modal-close-btn:focus,.modal-close-btn:focus-visible{color:var(--text-primary);border-color:var(--border-active);box-shadow:none!important;outline:none!important}.modal-dialog .btn-secondary,.modal-dialog .btn-secondary:focus,.modal-dialog .btn-secondary:focus-visible{box-shadow:none!important;outline:none!important}.modal-dialog details summary:focus,.modal-dialog details summary:focus-visible{border-color:var(--border-active);outline:none!important}.modal-body{padding:var(--space-8);flex:1;min-height:0;overflow-y:auto}.modal-section{margin-bottom:var(--space-6)}.modal-section-title{font-family:var(--font-family-mono);font-size:var(--text-xs);color:var(--text-muted);text-transform:uppercase;letter-spacing:.1em;margin-bottom:var(--space-2)}.modal-text{font-size:var(--text-base);color:var(--text-secondary);line-height:1.65}.services-grid{background-color:var(--border-default);border:1px solid var(--border-default);grid-template-columns:repeat(2,1fr);gap:1px;display:grid}.service-box{background-color:var(--bg-body);padding:var(--space-8);flex-direction:column;display:flex}.service-num{font-family:var(--font-family-mono);font-size:var(--text-xs);color:var(--text-muted);margin-bottom:var(--space-4)}.service-heading{font-size:var(--text-2xl);margin-bottom:var(--space-3);letter-spacing:-.02em;font-weight:700;line-height:1.25}.service-text{font-size:var(--text-base);color:var(--text-secondary);margin-bottom:var(--space-6);flex-grow:1;line-height:1.65}.service-items{gap:var(--space-2);border-top:1px solid var(--border-subtle);padding-top:var(--space-4);flex-direction:column;list-style:none;display:flex}.service-item{font-size:var(--text-sm);color:var(--text-muted);font-family:var(--font-family-mono)}.process-grid{background-color:var(--border-default);border:1px solid var(--border-default);grid-template-columns:repeat(4,1fr);gap:1px;display:grid}.process-step{background-color:var(--bg-body);padding:var(--space-6);flex-direction:column;display:flex}.process-step-num{font-family:var(--font-family-mono);font-size:var(--text-xl);color:var(--text-primary);margin-bottom:var(--space-4);font-weight:700}.process-step-title{font-size:var(--text-base);margin-bottom:var(--space-2);font-weight:600}.process-step-desc{font-size:var(--text-xs);color:var(--text-secondary);line-height:1.6}.stack-grid{background-color:var(--border-default);border:1px solid var(--border-default);grid-template-columns:repeat(4,1fr);gap:1px;display:grid}.stack-card{background-color:var(--bg-body);padding:var(--space-6)}.stack-title{font-family:var(--font-family-mono);font-size:var(--text-xs);text-transform:uppercase;color:var(--text-muted);margin-bottom:var(--space-4);letter-spacing:.08em}.stack-items{gap:var(--space-2);flex-direction:column;list-style:none;display:flex}.stack-item{font-size:var(--text-sm);color:var(--text-secondary)}.about-grid{gap:var(--space-16);grid-template-columns:1.2fr .8fr;align-items:start;display:grid}.about-body{gap:var(--space-4);flex-direction:column;display:flex}.about-lead{font-size:var(--text-2xl);color:var(--text-primary);text-shadow:var(--shadow-text-solid);font-weight:600;line-height:1.4}.about-p{font-size:var(--text-base);color:var(--text-secondary);line-height:1.7}.about-side-box{background-color:var(--bg-surface);border:1px solid var(--border-default);padding:var(--space-8);box-shadow:-5px -5px #2a2a2a}.about-row{padding:var(--space-3) 0;border-bottom:1px solid var(--border-subtle);font-size:var(--text-sm);font-family:var(--font-family-mono);justify-content:space-between;display:flex}.about-row:last-child{border-bottom:none}.contact-grid{gap:var(--space-16);grid-template-columns:1fr 1.2fr;display:grid}.contact-info{gap:var(--space-6);flex-direction:column;display:flex}.contact-direct-link{color:var(--text-primary);font-size:var(--text-xl);transition:var(--transition-fast);font-weight:600;text-decoration:none}.contact-direct-link:hover{text-decoration:underline}.form-group{margin-bottom:var(--space-6)}.form-label{font-family:var(--font-family-mono);font-size:var(--text-xs);text-transform:uppercase;color:var(--text-muted);letter-spacing:.08em;margin-bottom:var(--space-3);display:block}.option-buttons-grid{gap:var(--space-2);grid-template-columns:repeat(2,1fr);display:grid}.option-btn{background-color:var(--bg-surface);border:1px solid var(--border-default);border-radius:var(--radius-none);color:var(--text-secondary);font-size:var(--text-sm);font-family:var(--font-family-mono);text-align:left;cursor:pointer;transition:var(--transition-fast);padding:12px 16px}.option-btn:hover{border-color:var(--border-strong);color:var(--text-primary)}.option-btn.selected{background-color:var(--text-primary);color:var(--text-inverted);border-color:var(--text-primary);font-weight:600}.form-2col{gap:var(--space-4);grid-template-columns:1fr 1fr;display:grid}.form-field{background-color:var(--bg-input);border:1px solid var(--border-default);border-radius:var(--radius-none);width:100%;color:var(--text-primary);font-family:inherit;font-size:var(--text-base);transition:var(--transition-fast);padding:14px 16px}.form-field:focus{border-color:var(--border-active);background-color:var(--bg-surface);outline:none}.form-textarea{resize:vertical;min-height:120px}.form-checkbox-group{margin-top:var(--space-4);margin-bottom:var(--space-5)}.form-checkbox-label{align-items:flex-start;gap:var(--space-3);cursor:pointer;-webkit-user-select:none;user-select:none;display:flex}.form-checkbox-input{opacity:0;pointer-events:none;width:0;height:0;position:absolute}.form-checkbox-custom{border:1px solid var(--border-default);background-color:var(--bg-input);width:16px;height:16px;color:var(--text-inverted);border-radius:var(--radius-none);transition:var(--transition-fast);flex-shrink:0;justify-content:center;align-items:center;margin-top:3.5px;display:flex}.form-checkbox-label:hover .form-checkbox-custom{border-color:var(--border-active)}.form-checkbox-input:checked+.form-checkbox-custom{background-color:var(--text-primary);border-color:var(--text-primary);color:var(--text-inverted)}.form-checkbox-input:focus-visible+.form-checkbox-custom{outline-offset:2px;outline:1px solid #fff}.form-checkbox-text{font-size:var(--text-xs);color:var(--text-secondary);line-height:1.45;transition:color .15s}.form-checkbox-label:hover .form-checkbox-text{color:var(--text-primary)}.form-message-banner{padding:var(--space-6);border:1px solid var(--border-strong);background-color:var(--bg-surface);text-align:center}.site-footer{padding:var(--space-8) 0;border-top:1px solid var(--border-default);background-color:var(--bg-body)}.footer-inner{justify-content:space-between;align-items:center;gap:var(--space-4);font-size:var(--text-xs);color:var(--text-muted);flex-wrap:wrap;display:flex}.footer-links{gap:var(--space-6);list-style:none;display:flex}button.footer-link,.footer-link{font-family:inherit;font-size:inherit;color:var(--text-secondary);cursor:pointer;line-height:inherit;letter-spacing:inherit;transition:var(--transition-fast);vertical-align:baseline;background:0 0;border:none;margin:0;padding:0;text-decoration:none;display:inline-block}button.footer-link:hover,.footer-link:hover{color:var(--text-primary)}@media (max-width:1024px){.projects-grid,.services-grid{grid-template-columns:1fr}.process-grid,.stack-grid{grid-template-columns:repeat(2,1fr)}.about-grid,.contact-grid{grid-template-columns:1fr}}@media (max-width:900px){.nav-menu,.status-badge,.nav-actions .btn-primary{display:none}.mobile-menu-toggle{display:flex}}@media (max-width:768px){.container-custom{padding-left:var(--space-4);padding-right:var(--space-4)}.section-wrapper{padding:var(--space-12) 0}.section-header{margin-bottom:var(--space-8)}.hero-section{padding-top:calc(var(--space-12) + 36px);padding-bottom:var(--space-12)}.hero-actions{gap:var(--space-3);flex-direction:column;width:100%}.hero-actions .btn-primary,.hero-actions .btn-secondary{text-align:center;width:100%;padding:13px 20px}.process-grid,.stack-grid,.option-buttons-grid,.form-2col{grid-template-columns:1fr}.hero-meta-bar{flex-direction:column;align-items:flex-start;gap:4px}.project-actions-row{align-items:stretch;gap:var(--space-3);flex-direction:column}.btn-open-detail,.project-ext-link{text-align:center;justify-content:center;width:100%}.modal-dialog{width:calc(100% - 1.5rem);max-height:92vh}.modal-header,.modal-body{padding:var(--space-4)}.footer-inner{align-items:flex-start;gap:var(--space-4);flex-direction:column}.footer-links{gap:var(--space-4);flex-wrap:wrap}}@media (max-width:480px){.container-custom{padding-left:14px;padding-right:14px}.hero-title{font-size:1.85rem;line-height:1.25}.section-heading{font-size:1.6rem}.project-card-header{align-items:flex-start;gap:var(--space-2);flex-direction:column}.project-item{padding:var(--space-4)}.service-card,.process-step-card,.tech-card{padding:var(--space-5)}.brand-title{letter-spacing:.04em;font-size:13px}.brand-monogram{padding:2px 6px;font-size:12px}.lang-toggle-btn{padding:5px 10px;font-size:12px}.mobile-menu-toggle{width:38px;height:38px}.nav-actions{gap:var(--space-2)}}
