:root,html.theme-dark{--bg: #0b0f14;--bg-soft: #121820;--surface: #121820;--surface-soft: #181d24;--border: rgba(148, 163, 184, .18);--text: #f2f4f7;--muted: #d7dde5;--subtle: #9aa5b1;--accent: #2563eb;--accent-strong: #3b82f6;--accent-soft: rgba(37, 99, 235, .16);--accent-ghost: rgba(37, 99, 235, .08);--bg-radial-soft: rgba(148, 163, 184, .02);--bg-radial-strong: rgba(148, 163, 184, .04);--hero-button-bg: rgba(24, 32, 42, .78);--hero-button-hover-bg: rgba(36, 46, 58, .94);--hero-chip-bg: rgba(24, 32, 42, .4);--hero-cta-primary-bg: linear-gradient(180deg, #202a36, #171f29);--hero-cta-primary-bg-hover: linear-gradient(180deg, #293646, #1d2733);--hero-cta-primary-bg-active: #151d26;--hero-cta-primary-border: rgba(217, 164, 78, .72);--hero-cta-primary-border-hover: #e0ad5a;--hero-cta-primary-text: #fff7e6;--hero-cta-secondary-bg: rgba(18, 25, 34, .82);--hero-cta-secondary-bg-hover: rgba(31, 41, 53, .92);--hero-cta-secondary-bg-active: rgba(14, 20, 28, .96);--hero-cta-secondary-border: rgba(148, 163, 184, .38);--hero-cta-secondary-border-hover: rgba(203, 213, 225, .54);--hero-cta-secondary-text: #d7dde5;--hero-cta-tertiary-bg: rgba(15, 22, 30, .46);--hero-cta-tertiary-bg-hover: rgba(26, 35, 46, .72);--hero-cta-tertiary-bg-active: rgba(12, 18, 25, .82);--hero-cta-tertiary-border: rgba(148, 163, 184, .24);--hero-cta-tertiary-border-hover: rgba(203, 213, 225, .4);--hero-cta-tertiary-text: #9aa5b1;--hero-cta-focus: #d9a44e;--chip-bg: rgba(24, 32, 42, .6);--chip-border: rgba(148, 163, 184, .22);--card-gradient-top: rgba(18, 24, 32, .8);--card-gradient-bottom: rgba(14, 18, 24, .5);--card-hover-top: rgba(22, 30, 40, .8);--card-hover-bottom: rgba(16, 22, 30, .7);--card-accent-glow: rgba(148, 163, 184, .035);--card-accent-glow-strong: rgba(148, 163, 184, .06);--card-overlay: rgba(148, 163, 184, .02);--domain-card-top: rgba(24, 32, 42, .78);--domain-card-bottom: rgba(18, 24, 32, .58);--contact-panel-top: rgba(18, 24, 32, .7);--contact-panel-bottom: rgba(14, 18, 24, .52);--contact-panel-border: rgba(148, 163, 184, .16);--contact-row-bg: rgba(14, 18, 24, .24);--contact-row-border: rgba(148, 163, 184, .16);--contact-row-separator: rgba(148, 163, 184, .16);--contact-row-hover-bg: rgba(24, 32, 42, .5);--contact-row-hover-border: rgba(148, 163, 184, .32);--contact-row-description: #9aa5b1;--contact-row-icon: #9aa5b1;--contact-primary-top: rgba(37, 99, 235, .56);--contact-primary-bottom: rgba(29, 78, 216, .42);--contact-primary-border: rgba(147, 197, 253, .56);--contact-primary-hover-top: rgba(59, 130, 246, .66);--contact-primary-hover-bottom: rgba(37, 99, 235, .52);--contact-primary-icon: #dbeafe;--contact-toggle-top: rgba(24, 32, 42, .7);--contact-toggle-bottom: rgba(14, 18, 24, .5);--contact-toggle-base: rgba(18, 24, 32, .6);--contact-toggle-hover-top: rgba(36, 46, 58, .7);--contact-toggle-hover-bottom: rgba(18, 24, 32, .6);--contact-toggle-hover-base: rgba(24, 32, 42, .7);--form-card-top: rgba(18, 24, 32, .72);--form-card-bottom: rgba(14, 18, 24, .72);--field-bg: rgba(14, 18, 24, .72);--field-bg-focus: rgba(24, 32, 42, .88);--header-bg: rgba(11, 15, 20, .92);--header-border: rgba(148, 163, 184, .12);--footer-border: rgba(148, 163, 184, .12);--success: #86efac;--error: #fca5a5;--warning: #fcd34d;--color-primary: var(--accent);--color-primary-strong: var(--accent-strong);--color-primary-soft: var(--accent-soft);--color-primary-ghost: var(--accent-ghost);--color-text: var(--muted);--color-text-strong: var(--text);--color-text-muted: var(--subtle);--color-text-soft: #7f8a96;--color-bg: var(--bg);--color-bg-alt: var(--bg-soft);--color-surface: var(--surface);--color-bg-panel: rgba(18, 24, 32, .62);--color-bg-panel-strong: rgba(18, 24, 32, .82);--color-card: rgba(18, 24, 32, .72);--color-card-hover: rgba(24, 32, 42, .82);--color-border: var(--border);--color-border-strong: rgba(148, 163, 184, .32);--color-border-soft: rgba(148, 163, 184, .12);--content-width: 1440px;--content-padding: 24px;--max-width: 1320px;--max-width-heading: 860px;--max-width-copy: 760px;--radius: 18px;--radius-lg: 22px;--radius-pill: 999px;--radius-chip: 14px;--font-stack: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--space-8: 8px;--space-10: 10px;--space-12: 12px;--space-14: 14px;--space-16: 16px;--space-18: 18px;--space-20: 20px;--space-22: 22px;--space-24: 24px;--space-28: 28px;--space-30: 30px;--space-32: 32px;--space-36: 36px;--space-40: 40px;--space-44: 44px;--space-48: 48px;--space-56: 56px;--space-64: 64px;--space-72: 72px;--space-80: 80px;--space-96: 96px;--shadow-card: 0 10px 28px rgba(0, 0, 0, .16);--shadow-card-hover: 0 14px 36px rgba(0, 0, 0, .22);--shadow-toggle: 0 10px 26px rgba(0, 0, 0, .22)}html.theme-light{--bg: #f4f6f8;--bg-soft: #eaedf1;--surface: #ffffff;--surface-soft: #f1f4f7;--border: rgba(100, 116, 139, .22);--text: #0f172a;--muted: #334155;--subtle: #475569;--accent: #2563eb;--accent-strong: #1d4ed8;--accent-soft: rgba(37, 99, 235, .12);--accent-ghost: rgba(37, 99, 235, .06);--bg-radial-soft: rgba(100, 116, 139, .04);--bg-radial-strong: rgba(100, 116, 139, .06);--hero-button-bg: rgba(255, 255, 255, .96);--hero-button-hover-bg: rgba(241, 245, 249, 1);--hero-chip-bg: rgba(255, 255, 255, .85);--hero-cta-primary-bg: linear-gradient(180deg, var(--bg-soft), var(--bg));--hero-cta-primary-bg-hover: linear-gradient(180deg, #f1f4f7, #e8edf2);--hero-cta-primary-bg-active: #e2e7ed;--hero-cta-primary-border: #f59e0b;--hero-cta-primary-border-hover: #d97706;--hero-cta-primary-text: #0f172a;--hero-cta-secondary-bg: linear-gradient(180deg, #eef1f4, #f3f5f7);--hero-cta-secondary-bg-hover: linear-gradient(180deg, #f3f5f7, #f7f8fa);--hero-cta-secondary-bg-active: #e7ebef;--hero-cta-secondary-border: #cbd5e1;--hero-cta-secondary-border-hover: #b7791f;--hero-cta-secondary-text: #1e293b;--hero-cta-tertiary-bg: linear-gradient(180deg, #f3f5f7, #f8fafc);--hero-cta-tertiary-bg-hover: linear-gradient(180deg, #f8fafc, #ffffff);--hero-cta-tertiary-bg-active: #edf1f5;--hero-cta-tertiary-border: #d2dae5;--hero-cta-tertiary-border-hover: #c08a36;--hero-cta-tertiary-text: #334155;--hero-cta-focus: #a66b16;--chip-bg: rgba(248, 250, 252, .96);--chip-border: rgba(100, 116, 139, .24);--card-gradient-top: rgba(255, 255, 255, 1);--card-gradient-bottom: rgba(248, 250, 252, 1);--card-hover-top: rgba(255, 255, 255, 1);--card-hover-bottom: rgba(241, 245, 249, 1);--card-accent-glow: rgba(100, 116, 139, .04);--card-accent-glow-strong: rgba(100, 116, 139, .06);--card-overlay: rgba(100, 116, 139, .03);--domain-card-top: rgba(255, 255, 255, 1);--domain-card-bottom: rgba(244, 247, 250, 1);--contact-panel-top: rgba(255, 255, 255, 1);--contact-panel-bottom: rgba(244, 247, 250, 1);--contact-panel-border: rgba(100, 116, 139, .18);--contact-row-bg: rgba(248, 250, 252, .6);--contact-row-border: rgba(100, 116, 139, .15);--contact-row-separator: rgba(100, 116, 139, .15);--contact-row-hover-bg: rgba(241, 245, 249, 1);--contact-row-hover-border: rgba(100, 116, 139, .32);--contact-row-description: var(--color-text-muted);--contact-row-icon: var(--color-primary-strong);--contact-primary-top: rgba(37, 99, 235, .12);--contact-primary-bottom: rgba(255, 255, 255, .98);--contact-primary-border: rgba(37, 99, 235, .32);--contact-primary-hover-top: rgba(37, 99, 235, .18);--contact-primary-hover-bottom: rgba(248, 250, 252, 1);--contact-primary-icon: var(--color-primary-strong);--contact-toggle-top: rgba(255, 255, 255, .96);--contact-toggle-bottom: rgba(241, 245, 249, .96);--contact-toggle-base: rgba(248, 250, 252, .96);--contact-toggle-hover-top: rgba(248, 250, 252, 1);--contact-toggle-hover-bottom: rgba(236, 242, 248, 1);--contact-toggle-hover-base: rgba(241, 245, 249, 1);--form-card-top: rgba(255, 255, 255, 1);--form-card-bottom: rgba(248, 250, 252, 1);--field-bg: rgba(244, 247, 250, 1);--field-bg-focus: rgba(255, 255, 255, 1);--header-bg: rgba(244, 246, 248, .85);--header-border: rgba(100, 116, 139, .22);--footer-border: rgba(100, 116, 139, .22);--success: #166534;--error: #b91c1c;--warning: #b45309;--color-bg-panel: rgba(255, 255, 255, .85);--color-bg-panel-strong: rgba(255, 255, 255, 1);--color-card: rgba(255, 255, 255, .96);--color-card-hover: rgba(248, 250, 252, 1);--color-border-strong: rgba(100, 116, 139, .32);--color-border-soft: rgba(100, 116, 139, .12);--color-text-soft: #64748b;--shadow-card: 0 16px 42px rgba(15, 23, 42, .05);--shadow-card-hover: 0 20px 48px rgba(15, 23, 42, .08);--shadow-toggle: 0 10px 24px rgba(15, 23, 42, .06)}*{box-sizing:border-box}html{margin:0;padding:0;min-width:100%;min-height:100%;overflow-x:hidden;background-color:var(--color-bg);background:var(--color-bg);color-scheme:dark}html.theme-light{color-scheme:light}body{margin:0;padding:0;min-width:100%;min-height:100%;font-family:var(--font-stack);color:var(--color-text);overflow-x:hidden;background-color:var(--color-bg);background:var(--color-bg)}a{color:inherit}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid var(--color-primary);outline-offset:3px}p{margin:0}ul{margin:0;padding:0;list-style:none}h1{margin:0;max-width:820px;font-size:clamp(2.85rem,4.65vw,4.72rem);line-height:.98;letter-spacing:0;color:var(--color-text-strong)}h2{margin:0;color:var(--color-text-strong);letter-spacing:0}.section__eyebrow{margin:0;font-size:.8rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--color-primary-strong)}.lead{max-width:790px;margin:var(--space-30) 0 0;font-size:clamp(1.12rem,1.5vw,1.32rem);line-height:1.76;color:var(--color-text)}.card h3,.project-card h3{margin:0;font-size:1.15rem;letter-spacing:0;color:var(--color-text-strong)}.card p,.project-card p,.contact{line-height:1.7;color:var(--color-text-muted)}.contact a{color:var(--color-primary-strong);font-weight:700;text-decoration:none}.page{width:100%;min-width:100%;min-height:100vh;padding-top:80px;background:var(--color-bg)}.site-header{left:0;right:0;width:auto}.site-header{position:fixed;top:0;left:0;right:0;z-index:20;width:auto;border-bottom:0;outline:0;border-bottom:1px solid var(--header-border);background:var(--header-bg);box-shadow:none;backdrop-filter:blur(18px)}.site-header__inner{width:min(calc(100% - (2 * var(--content-padding))),var(--content-width));margin-inline:auto;padding-inline:0}.site-header__inner{min-height:80px;display:flex;align-items:center;justify-content:space-between;gap:var(--space-24)}.site-header__actions{display:flex;align-items:center;gap:var(--space-18)}.site-logo{font-size:.95rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;text-decoration:none;color:var(--color-text-strong);white-space:nowrap}.site-nav{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-18)}.site-nav a{color:var(--color-text);text-decoration:none;font-size:.95rem;transition:color .16s ease}.site-nav a:hover{color:var(--color-text-strong)}.site-nav a[aria-current=page]{color:var(--color-text-strong);font-weight:700}.section{position:relative;width:100%;max-width:none;margin:0;padding:var(--space-80) 0;background:linear-gradient(180deg,var(--bg) 0%,var(--bg-soft) 100%)}#doswiadczenie{background:linear-gradient(180deg,var(--bg-soft),var(--bg)),radial-gradient(circle at top left,var(--bg-radial-soft),transparent 34%)}#matrix{background:linear-gradient(180deg,var(--bg-soft),var(--bg)),radial-gradient(circle at 82% 18%,var(--bg-radial-strong),transparent 36%)}#kontakt{background:linear-gradient(180deg,var(--bg-soft),var(--bg)),radial-gradient(circle at top,var(--bg-radial-soft),transparent 42%)}.section:before{content:"";position:absolute;inset:0;pointer-events:none;background:none}.section__header{width:min(calc(100% - (2 * var(--content-padding))),var(--content-width));margin-inline:auto;margin-bottom:var(--space-40)}.section__header>*{max-width:780px}.cards,.project-list{display:grid;width:min(calc(100% - (2 * var(--content-padding))),var(--content-width));margin-inline:auto;gap:var(--space-20)}.hero{position:relative;width:100%;overflow:hidden;min-height:620px;padding:var(--space-64) 0;display:flex;align-items:center}html.theme-dark .hero{background:linear-gradient(135deg,#0d1218,#111820)}.hero:before{content:"";position:absolute;inset:0;background:none;opacity:0;pointer-events:none}.hero:after{display:none}.hero__inner{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,55fr) minmax(0,45fr);gap:clamp(28px,3.5vw,52px);align-items:stretch;width:min(calc(100% - (2 * var(--content-padding))),var(--content-width));margin-inline:auto;padding-inline:0}.hero__copy{position:relative;z-index:2;min-width:0;max-width:100%;padding:0;border:0;border-radius:0;background:none;box-shadow:none}.hero__visual{min-width:0;width:100%;max-width:580px;justify-self:end;overflow:hidden;border-radius:28px;aspect-ratio:5 / 4}.hero__visual img{display:block;width:100%;height:100%;max-width:none;object-fit:cover;border-radius:0}.actions{display:flex;flex-wrap:wrap;gap:var(--space-14);margin-top:var(--space-36)}.actions a{display:inline-flex;align-items:center;justify-content:center;text-align:center;min-height:3rem;padding:0 var(--space-24);border-radius:14px;border:0;border:1px solid var(--color-border);background:var(--hero-button-bg);color:var(--color-text-strong);text-decoration:none;font-weight:700;font-size:.98rem;box-shadow:none;transition:transform .16s ease,border-color .16s ease,background-color .16s ease}.actions a:hover{transform:translateY(-1px);border-color:var(--color-border-strong);background:var(--hero-button-hover-bg)}.actions--hero .hero-action{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;min-height:3rem;min-width:132px;padding-inline:var(--space-24);border:1px solid transparent;border-radius:14px;color:var(--color-text-strong);font-weight:700;text-align:center}.actions--hero .action--primary{border-color:var(--hero-cta-primary-border);background:var(--hero-cta-primary-bg);color:var(--hero-cta-primary-text)}.actions--hero .action--primary:hover{border-color:var(--hero-cta-primary-border-hover);background:var(--hero-cta-primary-bg-hover)}.actions--hero .action--secondary{border-color:var(--hero-cta-secondary-border);background:var(--hero-cta-secondary-bg);color:var(--hero-cta-secondary-text)}.actions--hero .action--secondary:hover{background:var(--hero-cta-secondary-bg-hover);border-color:var(--hero-cta-secondary-border-hover);color:var(--hero-cta-secondary-text)}.actions--hero .action--tertiary{border-color:var(--hero-cta-tertiary-border);background:var(--hero-cta-tertiary-bg);color:var(--hero-cta-tertiary-text)}.actions--hero .action--tertiary:hover{border-color:var(--hero-cta-tertiary-border-hover);background:var(--hero-cta-tertiary-bg-hover);color:var(--hero-cta-tertiary-text)}.actions--hero .action--primary:active{background:var(--hero-cta-primary-bg-active)}.actions--hero .action--secondary:active{background:var(--hero-cta-secondary-bg-active)}.actions--hero .action--tertiary:active{background:var(--hero-cta-tertiary-bg-active)}.actions--hero .hero-action:focus-visible{outline-color:var(--hero-cta-focus)}.hero-cta{display:flex;flex-direction:column;align-items:center;width:100%;max-width:100%}.actions--hero{justify-content:center}.hero-socials{display:flex;align-items:center;justify-content:center;gap:var(--space-10);margin-top:var(--space-14);align-self:center}.hero-socials a{display:inline-flex;align-items:center;justify-content:center;width:2.75rem;height:2.75rem;border:1px solid transparent;border-radius:12px;color:var(--color-text-muted);transition:color .16s ease,border-color .16s ease,background-color .16s ease}.hero-socials a:hover{border-color:var(--color-border);background:var(--hero-chip-bg);color:var(--color-text-strong)}.hero-socials svg{display:block;width:1.25rem;height:1.25rem;fill:currentColor}.chip{display:inline-flex;align-items:center;min-height:2.25rem;padding:0 var(--space-14);border-radius:var(--radius-chip);border:0;background:var(--chip-bg);color:var(--color-text-muted);box-shadow:none}.chips--platforms{display:flex;flex-wrap:wrap;align-content:flex-start;gap:12px;margin-top:var(--space-16)}.chips--platforms .chip{display:inline-flex;align-items:center;justify-content:center;min-height:34px;padding:0 14px;border-radius:999px;border:1px solid var(--chip-border);background:var(--chip-bg);color:var(--color-text-muted);font-size:.88rem;line-height:1;white-space:nowrap}.cards{grid-template-columns:repeat(4,minmax(0,1fr))}.card,.project-card,.contact-panel{border:1px solid var(--color-border);background:linear-gradient(180deg,var(--card-gradient-top),var(--card-gradient-bottom)),radial-gradient(circle at top right,var(--card-accent-glow),transparent 34%);box-shadow:var(--shadow-card)}.card,.project-card{position:relative;padding:var(--space-28);border-radius:var(--radius-lg);overflow:hidden}.card:before,.project-card:before,.contact-panel:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,var(--card-overlay),transparent 42%);pointer-events:none}.card:after,.project-card:after,.contact-panel:after{content:"";position:absolute;inset:0;border-radius:inherit;box-shadow:none;pointer-events:none}.card--domain{background:linear-gradient(180deg,var(--domain-card-top),var(--domain-card-bottom)),radial-gradient(circle at top right,var(--card-accent-glow-strong),transparent 38%)}.card--domain p{color:var(--color-text)}.card__tech-list{margin-top:0;color:var(--color-text-soft);font-size:.88rem;line-height:1.5;min-height:2.7rem}.card{display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:var(--space-18);min-height:100%}.project-card{display:flex;flex-direction:column;gap:var(--space-18);min-height:100%}.cards--experience .card:nth-child(2),.cards--experience .card:nth-child(3),.cards--experience .card:nth-child(4),.project-list .project-card{min-height:100%}.cards--experience .card,.project-card{transition:transform .18s ease,border-color .18s ease,background-color .18s ease,box-shadow .18s ease}.cards--experience .card:hover,.project-card:hover,.contact-panel:hover{border-color:transparent}.cards--experience .card:hover:after,.project-card:hover:after,.contact-panel:hover:after{box-shadow:none}.cards--experience .card:hover,.project-card:hover{background:linear-gradient(180deg,var(--card-hover-top),var(--card-hover-bottom)),radial-gradient(circle at top right,var(--card-accent-glow-strong),transparent 34%)}.chips{display:flex;flex-wrap:wrap;gap:var(--space-10)}.chip{font-size:.9rem;color:var(--color-text-muted);background:var(--chip-bg)}.project-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-24)}.project-card{min-height:220px;padding:var(--space-32)}.project-card__link{display:flex;flex:1;flex-direction:column;gap:var(--space-18);color:inherit;text-decoration:none}.project-card h3{font-size:1.35rem}.project-card p{text-align:justify;text-align-last:left}.blog-card{padding:0}.blog-card__link{gap:0;height:100%}.blog-card__media{position:relative;width:100%;aspect-ratio:16 / 9;overflow:hidden;background:linear-gradient(180deg,var(--card-gradient-top),var(--form-card-bottom)),radial-gradient(circle at top right,var(--card-accent-glow-strong),transparent 42%)}.blog-card__image{display:block;width:100%;height:100%;object-fit:cover}.blog-card__body{display:flex;flex:1;flex-direction:column;gap:var(--space-12);padding:var(--space-24) var(--space-24) var(--space-28)}.blog-card__date{color:var(--color-text-muted);font-size:.78rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase}.blog-card h3{font-size:1.18rem;line-height:1.28}.blog-card p{flex:1;color:var(--color-text-muted);text-align:left}.blog-card__cta{color:var(--color-primary-strong);font-size:.95rem;font-weight:700}.project-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-card-hover);background:linear-gradient(180deg,var(--card-hover-top),var(--card-hover-bottom)),radial-gradient(circle at top right,var(--card-accent-glow-strong),transparent 36%)}.featured-project{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:min(calc(100% - (2 * var(--content-padding))),var(--content-width));margin-inline:auto;gap:clamp(20px,2.5vw,32px)}.featured-project__card{display:flex;flex-direction:column;gap:var(--space-18);min-width:0;min-height:100%;padding:var(--space-28);border:1px solid var(--color-border);border-radius:calc(var(--radius-lg) + 2px);background:linear-gradient(180deg,var(--card-gradient-top),var(--card-gradient-bottom)),radial-gradient(circle at top right,var(--card-accent-glow-strong),transparent 38%);box-shadow:var(--shadow-card)}@supports (grid-template-rows: subgrid){@media(min-width:1121px){.featured-project{grid-template-rows:auto auto auto auto auto auto;row-gap:var(--space-18)}.featured-project__card{grid-row:span 6;display:grid;grid-template-rows:subgrid}.featured-project__title{grid-row:1}.featured-project__lead{grid-row:2}.featured-project__status{grid-row:3}.actions--featured-project{grid-row:4;margin-top:0}.featured-project__visuals{grid-row:5}.featured-project__tech-list{grid-row:6}}}.featured-project__title{margin:0;color:var(--color-text-strong);font-size:clamp(1.45rem,1.8vw,1.9rem);line-height:1.18;letter-spacing:0}.featured-project__lead{color:var(--color-text);font-size:clamp(1rem,1.02vw,1.1rem);line-height:1.68}.featured-project__status{color:var(--color-text-muted);font-size:.88rem;font-weight:400;padding-left:var(--space-12);border-left:2px solid var(--color-border-strong)}.action-label{display:block}.action-hint{display:block;font-size:.72rem;font-weight:400;opacity:.7;line-height:1.3;letter-spacing:0}.action-hint code{font-family:monospace;font-size:1em}.action--primary:has(.action-hint),.action--secondary:has(.action-hint){display:flex;flex-direction:column;align-items:center;gap:2px}.featured-project__tech-list{color:var(--color-text-soft);font-size:.88rem;line-height:1.5}.actions--featured-project{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-16);margin-top:auto}.actions--featured-project a{width:100%}.actions--featured-project .action--primary{background:var(--color-primary-ghost);border-color:var(--color-primary-strong)}.actions--featured-project .action--primary:hover{background:var(--color-primary-soft);border-color:var(--color-primary)}.actions--featured-project .action--secondary{background:transparent;color:var(--color-text-muted)}.actions--featured-project .action--secondary:hover{background:var(--hero-chip-bg);color:var(--color-text-strong)}.actions--blog-list{width:min(calc(100% - (2 * var(--content-padding))),var(--content-width));margin:var(--space-32) auto 0}.featured-project__visuals{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-16);min-width:0}.featured-project__shot{margin:0;aspect-ratio:4 / 3;border:1px solid var(--color-border);border-radius:22px;overflow:hidden;background:var(--surface-soft);box-shadow:var(--shadow-card)}.featured-project__shot-button{display:block;width:100%;padding:0;cursor:zoom-in}.featured-project__shot img{display:block;width:100%;height:100%;object-fit:contain}.featured-project__shot-button:focus-visible{outline:2px solid var(--color-primary);outline-offset:3px}.featured-project__lightbox{width:min(92vw,1400px);max-width:1400px;padding:var(--space-20);border:1px solid var(--color-border);border-radius:24px;background:var(--color-bg-panel-strong);box-shadow:var(--shadow-card-hover)}.featured-project__lightbox::backdrop{background:#08111fbd;backdrop-filter:blur(8px)}.featured-project__lightbox-toolbar{display:flex;justify-content:flex-end;margin-bottom:var(--space-16)}.featured-project__lightbox-frame{position:relative;display:grid;place-items:center}.featured-project__lightbox-image{display:block;width:100%;height:auto;max-height:calc(100vh - 120px);border-radius:18px;object-fit:contain}.featured-project__lightbox-close{display:inline-flex;align-items:center;justify-content:center;min-height:2.75rem;padding:0 var(--space-18);border:1px solid var(--color-border);border-radius:14px;background:var(--hero-button-bg);color:var(--color-text-strong);font:inherit;font-weight:700;cursor:pointer}.featured-project__lightbox-nav{position:absolute;top:50%;z-index:1;display:inline-grid;place-items:center;width:3rem;height:3rem;border:1px solid var(--color-border);border-radius:50%;background:var(--hero-button-bg);color:var(--color-text-strong);font:inherit;font-size:2rem;line-height:1;cursor:pointer;transform:translateY(-50%)}.featured-project__lightbox-nav--prev{left:var(--space-16)}.featured-project__lightbox-nav--next{right:var(--space-16)}.featured-project__lightbox-nav:hover,.featured-project__lightbox-close:hover{border-color:var(--color-border-strong);background:var(--hero-button-hover-bg)}html.has-dialog,html.has-dialog body{overflow:hidden}.contact-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));width:100%;gap:var(--space-10);padding-top:var(--space-8)}.contact-form-shell{display:grid;gap:var(--space-12)}.contact-form__toggle{display:inline-flex;align-items:center;justify-content:center;width:100%;min-height:3.5rem;padding:0 var(--space-24);border:1px solid var(--color-border-strong);border-radius:16px;background:linear-gradient(180deg,var(--contact-toggle-top),var(--contact-toggle-bottom)),var(--contact-toggle-base);color:var(--color-text-strong);font:inherit;font-weight:700;cursor:pointer;transition:transform .16s ease,border-color .16s ease,background-color .16s ease}.contact-form__toggle:hover{transform:translateY(-1px);border-color:var(--color-border-strong);background:linear-gradient(180deg,var(--contact-toggle-hover-top),var(--contact-toggle-hover-bottom)),var(--contact-toggle-hover-base)}.contact-form__toggle[aria-expanded=true]{border-color:var(--color-border-strong)}.contact-form-card{position:relative;padding:var(--space-20);border:1px solid var(--color-border);border-radius:18px;background:linear-gradient(180deg,var(--form-card-top),var(--form-card-bottom)),radial-gradient(circle at top right,var(--card-accent-glow-strong),transparent 38%);box-shadow:var(--shadow-card)}.contact-form-card[hidden]{display:none}.contact-form{display:grid;gap:var(--space-18)}.contact-form__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-16)}.contact-form__field{display:grid;gap:var(--space-8)}.contact-form__field--full{grid-column:1 / -1}.contact-form__field label{color:var(--color-text-strong);font-size:.92rem;font-weight:600}.contact-form__field input,.contact-form__field textarea{width:100%;min-height:3rem;padding:.9rem 1rem;border:1px solid var(--color-border);border-radius:14px;background:var(--field-bg);color:var(--color-text-strong);font:inherit;transition:border-color .16s ease,background-color .16s ease,box-shadow .16s ease}.contact-form__field textarea{min-height:150px;max-height:190px;resize:vertical}@media(min-width:1024px){.contact-form__field textarea{min-height:160px;max-height:220px}}.contact-form__field input:focus,.contact-form__field textarea:focus{outline:none;border-color:var(--color-border-strong);box-shadow:0 0 0 3px #2563eb24;background:var(--field-bg-focus)}.contact-form__field input::placeholder,.contact-form__field textarea::placeholder{color:var(--color-text-soft)}.contact-form__turnstile{min-height:66px}.contact-form__hint{color:var(--warning);font-size:.92rem;line-height:1.6;max-width:100%;white-space:normal;word-wrap:break-word}.contact-form__footer{display:flex;flex-direction:column;gap:var(--space-16)}.contact-form__status{min-height:1.5rem;color:var(--color-text-muted);font-size:.92rem;line-height:1.5}.contact-form__status[data-tone=success]{color:var(--success)}.contact-form__status[data-tone=error]{color:var(--error)}.contact-form__submit{display:inline-flex;align-items:center;justify-content:center;width:100%;min-height:3.25rem;padding:0 var(--space-24);border:1px solid var(--color-border-strong);border-radius:14px;background:var(--accent-soft);color:var(--color-text-strong);font:inherit;font-weight:700;cursor:pointer;transition:transform .16s ease,border-color .16s ease,background-color .16s ease}@media(min-width:768px){.contact-form__footer{flex-direction:row;align-items:center;justify-content:space-between}.contact-form__status{flex:1;min-height:auto}.contact-form__submit{width:auto;min-width:180px;margin-left:var(--space-16)}}.contact-form__submit:hover{transform:translateY(-1px);border-color:var(--color-border-strong);background:#2563eb38}.contact-form__submit:disabled{cursor:wait;opacity:.72;transform:none}.contact-action,.contact-actions .contact-form__toggle{display:inline-flex;align-items:center;justify-content:space-between;gap:var(--space-12);width:100%;min-height:3.25rem;padding:0 var(--space-16);border:1px solid var(--contact-row-border);border-radius:14px;background:var(--contact-row-bg);color:var(--color-text-strong);font:inherit;font-size:.95rem;font-weight:700;text-decoration:none;box-shadow:none;cursor:pointer;transition:transform .16s ease,border-color .16s ease,background-color .16s ease,box-shadow .16s ease}.contact-action{order:1}.contact-action span:last-child,.contact-actions .contact-form__toggle:after{color:var(--contact-row-icon);font-size:1rem;font-weight:800;line-height:1}.contact-action:hover,.contact-action:focus-visible,.contact-actions .contact-form__toggle:hover,.contact-actions .contact-form__toggle:focus-visible,.contact-actions .contact-form__toggle[aria-expanded=true]{transform:translateY(-1px);border-color:var(--contact-row-hover-border);background:var(--contact-row-hover-bg);box-shadow:0 0 0 3px #2563eb1a}.contact-actions .contact-form__toggle{order:0;border-color:var(--contact-primary-border);background:linear-gradient(180deg,var(--contact-primary-top),var(--contact-primary-bottom)),var(--color-primary-soft)}.contact-actions .contact-form__toggle:after{color:var(--contact-primary-icon)}.contact-actions .contact-form__toggle:hover,.contact-actions .contact-form__toggle:focus-visible,.contact-actions .contact-form__toggle[aria-expanded=true]{border-color:var(--contact-primary-border);background:linear-gradient(180deg,var(--contact-primary-hover-top),var(--contact-primary-hover-bottom)),var(--color-primary-soft)}.contact-actions .contact-form-shell{display:contents}.contact-actions .contact-form__toggle:after{content:"+"}.contact-actions .contact-form__toggle[aria-expanded=true]:after{content:"-"}.contact-actions .contact-form-card{grid-column:1 / -1;order:2;margin-top:var(--space-6, 6px)}.site-footer{width:100%;min-width:100%;border-top:1px solid var(--footer-border);background:var(--bg)}.site-footer p{width:min(calc(100% - (2 * var(--content-padding))),var(--content-width));margin:0 auto;padding:var(--space-24) 0 var(--space-32);color:var(--color-text-muted);font-size:.92rem;line-height:1.6}.now-page{display:flex;flex-direction:column;min-height:100vh;min-height:100svh}.now-content{flex:1;width:min(calc(100% - (2 * var(--content-padding))),800px);margin-inline:auto;padding:var(--space-96) 0}.now-content__header,.now-content>p{max-width:100%}.now-content__header{display:flex;flex-direction:column;gap:var(--space-16);margin-bottom:var(--space-36)}.now-content h1{font-size:clamp(2.85rem,4.65vw,4.72rem)}.now-content time{color:var(--color-text-muted);font-size:.95rem;font-weight:600}.now-content>p{color:var(--color-text);font-size:clamp(1.08rem,1.35vw,1.22rem);line-height:1.8}.now-content code{padding:.14em .38em;border:1px solid var(--color-border);border-radius:6px;background:var(--chip-bg);color:var(--color-text-strong);font-family:ui-monospace,SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:.9em;overflow-wrap:anywhere}@media(max-width:1120px){.hero__inner{grid-template-columns:1fr;gap:48px}.hero{min-height:auto;padding-top:var(--space-48);padding-bottom:var(--space-48)}.hero h1{font-size:clamp(2.8rem,6vw,4.5rem);line-height:1.12}.hero .lead{max-width:720px}.hero__copy{max-width:820px}.actions--hero{justify-content:center;max-width:580px;margin-inline:auto;gap:var(--space-16)}.actions--hero a{width:auto}.hero-cta{align-items:center;width:100%}.hero__visual{order:2;aspect-ratio:16 / 9;width:100%;max-width:none;justify-self:auto}.hero__visual img{width:100%;height:100%;max-width:none;object-position:45% center}.cards,.project-list{grid-template-columns:repeat(2,minmax(0,1fr))}.featured-project{grid-template-columns:1fr}.featured-project__visuals{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:760px){.site-header__inner{display:grid;grid-template-columns:minmax(0,1fr) auto;min-height:auto;align-items:center;gap:var(--space-16);padding-top:var(--space-16);padding-bottom:var(--space-16)}.page{padding-top:108px}.site-nav{grid-column:1 / -1;grid-row:2;width:100%;justify-content:space-between;gap:var(--space-8)}.site-nav a{font-size:clamp(.76rem,3.45vw,.9rem)}.site-header__actions{display:contents}.theme-toggle{grid-column:2;grid-row:1}.now-content{padding-top:var(--space-64);padding-bottom:var(--space-64)}.hero{padding-top:var(--space-56);padding-bottom:var(--space-56)}.hero__visual img{max-width:100%}.cards,.project-list{grid-template-columns:1fr}.featured-project{padding:var(--space-24);gap:var(--space-24)}.featured-project__visuals{grid-template-columns:1fr}.section{padding-top:var(--space-56);padding-bottom:var(--space-56)}.project-card,.card,.contact-panel{padding:var(--space-24)}.contact-panel{width:min(calc(100% - (2 * var(--content-padding))),var(--content-width));grid-template-columns:1fr;gap:var(--space-20)}.contact-actions,.contact-form__grid{grid-template-columns:1fr}.project-card{min-height:auto}.actions a{width:100%}.actions--hero{display:grid;grid-template-columns:1fr;width:min(100%,360px)}.actions--hero a{width:100%}.actions--featured-project{grid-template-columns:1fr}}.theme-toggle{display:inline-grid;place-items:center;width:2.75rem;height:2.75rem;padding:0;border:1px solid var(--color-border);border-radius:50%;background:var(--color-bg-panel-strong);color:var(--color-text-strong);font:inherit;cursor:pointer;box-shadow:var(--shadow-toggle);transition:color .2s ease,background-color .2s ease,border-color .2s ease,transform .2s ease,box-shadow .2s ease}.theme-toggle:hover{transform:translateY(-1px);border-color:var(--color-border-strong);background:var(--color-card-hover)}.theme-toggle__icon{display:inline-flex;align-items:center;justify-content:center;width:1.45rem;height:1.45rem;flex:0 0 auto}.theme-toggle__svg{width:100%;height:100%}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(hover:none){.project-card:hover,.actions a:hover,.cards--experience .card:hover,.contact-form__toggle:hover,.contact-form__submit:hover{transform:none}}@media(max-width:768px){.hero__inner{grid-template-columns:1fr;width:min(calc(100% - (2 * var(--content-padding))),var(--content-width));gap:32px;align-items:start}.hero__copy,.hero__visual{min-width:0}.hero h1{font-size:clamp(2.35rem,10vw,3.25rem);line-height:1.05;letter-spacing:-.04em;max-width:15ch}.hero__visual{width:100%;aspect-ratio:5 / 4;border-radius:24px}.hero__visual img{width:100%;height:100%;object-fit:cover}}html,body{margin:0;padding:0;background:#08111f}html.theme-light,html.theme-light body{background:#f4f7fb}
