@charset "UTF-8";@font-face{font-family:Archivo;font-style:normal;font-weight:400 700;font-stretch:100%;font-display:swap;src:url(/assets/fonts/archivo-latin.woff2) format("woff2")}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:400 700;font-display:swap;src:url(/assets/fonts/plus-jakarta-sans-latin.woff2) format("woff2")}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400 600;font-display:swap;src:url(/assets/fonts/jetbrains-mono-latin.woff2) format("woff2")}@font-face{font-family:primeicons;font-style:normal;font-weight:400;font-display:block;src:url(/assets/fonts/primeicons.woff2) format("woff2")}.pi{display:inline-block;font-family:primeicons;font-style:normal;font-weight:400;font-variant:normal;line-height:1;text-transform:none;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.pi-phone:before{content:"\e9e6"}.pi-at:before{content:"\e925"}.pi-linkedin:before{content:"\e9c4"}.pi-sun:before{content:"\ea33"}.pi-moon:before{content:"\e9d7"}.pi-times:before{content:"\ea46"}.pi-bars:before{content:"\e929"}.pi-star-fill:before{content:"\ea26"}.pi-star:before{content:"\ea29"}.pi-user:before{content:"\ea54"}.pi-lock:before{content:"\e9ca"}.pi-exclamation-circle:before{content:"\e97c"}.pi-check:before{content:"\e94f"}.pi-arrow-right:before{content:"\e91a"}.pi-envelope:before{content:"\e977"}body{--bg: #f2f5ef;--bg-2: #e8eee3;--surface: #fbfcf8;--field: #f5f8f1;--text: #111711;--text-soft: #334036;--muted: #667269;--line: rgba(17, 23, 17, .12);--line-strong: rgba(17, 23, 17, .24);--accent: #147a4a;--accent-2: #0b5c36;--accent-contrast: #ffffff;--glow: rgba(20, 122, 74, .22);--danger: #a23a2b;--danger-soft: rgba(162, 58, 43, .14);--grid: rgba(17, 23, 17, .05);--plate: #edf3ea;--plate-grid: rgba(16, 34, 24, .055);--plate-line: rgba(16, 34, 24, .12);--panel-bg: #edf3ea;--panel-ink: #111711;--panel-muted: rgba(17, 23, 17, .62);--panel-line: rgba(17, 23, 17, .14);--panel-grid: rgba(17, 23, 17, .055);--panel-accent: #147a4a;--shadow-lg: 0 30px 70px -38px rgba(8, 24, 14, .32);--shadow-md: 0 20px 50px -32px rgba(8, 24, 14, .28);--shadow-sm: 0 10px 28px -20px rgba(8, 24, 14, .24);--radius-lg: 18px;--radius-md: 12px;--radius-sm: 8px;--pill: 9px;--container-max: 1220px;--container-pad: 1.5rem;--nav-height: 84px;--font-display: "Archivo", "Segoe UI", system-ui, sans-serif;--font-body: "Plus Jakarta Sans", "Segoe UI", system-ui, sans-serif;--font-mono: "JetBrains Mono", "Consolas", monospace;--ease: cubic-bezier(.25, .8, .25, 1);--duration: .22s}body.dark-theme{--bg: #080d0a;--bg-2: #0d1410;--surface: #111a14;--field: #0a100c;--text: #eef4ef;--text-soft: #c2cec5;--muted: #8b998f;--line: rgba(238, 244, 239, .11);--line-strong: rgba(238, 244, 239, .23);--accent: #64d79e;--accent-2: #86e6b6;--accent-contrast: #06110b;--glow: rgba(100, 215, 158, .22);--danger: #f3a08e;--danger-soft: rgba(243, 160, 142, .16);--grid: rgba(238, 244, 239, .045);--plate: #edf3ea;--plate-grid: rgba(16, 34, 24, .055);--plate-line: rgba(16, 34, 24, .12);--panel-bg: #0e1a13;--panel-ink: #edf6f0;--panel-muted: rgba(237, 246, 240, .64);--panel-line: rgba(237, 246, 240, .14);--panel-grid: rgba(237, 246, 240, .055);--panel-accent: #86e6b6;--shadow-lg: 0 40px 90px -45px rgba(0, 0, 0, .85);--shadow-md: 0 26px 60px -38px rgba(0, 0, 0, .75);--shadow-sm: 0 12px 32px -24px rgba(0, 0, 0, .7)}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-height:100vh;font-family:var(--font-body);font-size:16px;font-weight:400;line-height:1.7;color:var(--text);background-color:var(--bg);transition:background-color var(--duration) var(--ease),color var(--duration) var(--ease);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body:after{display:none}h1,h2,h3,h4,h5,h6{margin:0 0 1rem;font-family:var(--font-display);font-weight:500;line-height:1.03;letter-spacing:-.035em;color:var(--text)}p{margin:0 0 1rem}a{color:inherit;text-decoration:none;transition:color var(--duration) var(--ease),border-color var(--duration) var(--ease)}a:hover{color:var(--accent)}img{max-width:100%;height:auto}::selection{background:var(--accent);color:var(--accent-contrast)}:focus-visible{outline:2px solid var(--accent);outline-offset:4px}.p-component{font-family:var(--font-body)!important}.container{width:100%;max-width:var(--container-max);margin-inline:auto;padding-inline:var(--container-pad)}.section{padding-block:clamp(4rem,8vw,7rem);border-top:1px solid var(--line)}.section--alt{background-color:var(--bg-2)}.section--flush{border-top:none}.overline{display:inline-flex;align-items:center;gap:.55rem;font-family:var(--font-mono);font-size:.62rem;font-weight:500;letter-spacing:.16em;text-transform:uppercase;line-height:1.4;color:var(--muted)}.overline:before{content:"";display:inline-block;width:16px;height:1px;background:var(--accent)}.overline--plain:before{display:none}.section-head{display:grid;grid-template-columns:1fr;gap:1.25rem 3rem;align-items:end;margin-bottom:clamp(2.25rem,4vw,3.25rem)}.section-head__title{max-width:18ch;margin:.85rem 0 0;font-size:clamp(2.15rem,4.4vw,3.5rem);line-height:1}.section-head__note{max-width:25rem;margin:0;color:var(--muted);font-size:.925rem;line-height:1.7}.section-head--center{display:flex;flex-direction:column;align-items:center;text-align:center;gap:.9rem}.section-head--center .section-head__title{max-width:22ch}.section-head--center .section-head__note{max-width:34rem}.hl{color:var(--accent);font-style:normal;font-weight:500}.display{font-family:var(--font-display);font-weight:500;letter-spacing:-.04em;line-height:.98}.prose{color:var(--muted);font-size:1rem;line-height:1.8}.cap-board{display:grid;grid-template-columns:1fr;gap:1px;margin:0;padding:0;list-style:none;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--line);overflow:hidden}.cap-cell{position:relative;display:flex;flex-direction:column;min-height:210px;padding:1.4rem;background-color:var(--surface);background-image:linear-gradient(var(--grid) 1px,transparent 1px),linear-gradient(90deg,var(--grid) 1px,transparent 1px);background-size:28px 28px;overflow:hidden;transition:background-color var(--duration) var(--ease)}.cap-cell:hover{background-color:var(--bg-2)}.cap-cell__focus{position:relative;z-index:1;display:inline-flex;align-items:center;gap:.5rem;font-family:var(--font-mono);font-size:.53rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);transition:color var(--duration) var(--ease)}.cap-cell__focus:before{content:"";width:14px;height:1px;background:var(--accent)}.cap-cell:hover .cap-cell__focus{color:var(--accent)}.cap-cell__name{position:relative;z-index:1;max-width:16ch;margin:1rem 0 .65rem;font-size:clamp(1.3rem,1.9vw,1.6rem);font-weight:500;line-height:1.08;letter-spacing:-.03em}.cap-cell__summary{position:relative;z-index:1;max-width:34ch;margin:0;color:var(--muted);font-size:.84rem;line-height:1.65}@media(min-width:640px){.cap-board{grid-template-columns:repeat(2,1fr)}}@media(min-width:900px){.cap-board{grid-template-columns:repeat(3,1fr)}.cap-cell{min-height:220px;padding:1.5rem}}@media(max-width:520px){.cap-cell{min-height:195px;padding:1.25rem}}.page-hero{position:relative;overflow:hidden;padding-block:clamp(4rem,9vw,7.5rem) clamp(3rem,6vw,5rem);border-bottom:1px solid var(--line);isolation:isolate}.page-hero:before{content:"";position:absolute;inset:0;pointer-events:none;background-image:linear-gradient(var(--grid) 1px,transparent 1px),linear-gradient(90deg,var(--grid) 1px,transparent 1px);background-size:56px 56px;-webkit-mask-image:radial-gradient(120% 100% at 82% 0%,#000 0%,transparent 68%);mask-image:radial-gradient(120% 100% at 82% 0%,#000 0%,transparent 68%)}.page-hero>.container{position:relative;z-index:1}.page-hero__title{max-width:18ch;margin:1.35rem 0 0;font-size:clamp(2.85rem,6.6vw,5.4rem);font-weight:500;line-height:.98;letter-spacing:-.05em}.page-hero__subtitle{max-width:42rem;margin:1.6rem 0 0;color:var(--muted);font-size:clamp(1rem,1.6vw,1.1rem);line-height:1.7}.page-hero__meta{display:flex;flex-wrap:wrap;gap:.5rem 1.5rem;margin:2.5rem 0 0;padding:1.25rem 0 0;border-top:1px solid var(--line);font-family:var(--font-mono);font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.55rem;padding:.85rem 1.45rem;border:1px solid transparent;border-radius:var(--pill);background-color:var(--accent);color:var(--accent-contrast);font-family:var(--font-mono);font-size:.66rem;font-weight:500;letter-spacing:.06em;text-transform:uppercase;line-height:1;cursor:pointer;box-shadow:0 14px 34px -18px var(--glow);transition:background-color var(--duration) var(--ease),color var(--duration) var(--ease),transform var(--duration) var(--ease),box-shadow var(--duration) var(--ease),border-color var(--duration) var(--ease)}.btn:hover{background-color:var(--accent-2);color:var(--accent-contrast);transform:translateY(-2px);box-shadow:0 20px 40px -18px var(--glow)}.btn:active{transform:translateY(0)}.btn__arrow{font-size:.85rem;line-height:1}.btn--ghost{background:transparent;border-color:var(--line-strong);color:var(--text);box-shadow:none}.btn--ghost:hover{background:transparent;border-color:var(--accent);color:var(--accent)}.btn--link{padding:0;border:none;border-radius:0;background:none;color:var(--text);box-shadow:none;border-bottom:1px solid var(--line-strong);padding-bottom:.25rem}.btn--link:hover{background:none;color:var(--accent);border-color:var(--accent);box-shadow:none;transform:none}.tag{display:inline-flex;align-items:center;padding:.32rem .6rem;border:1px solid var(--line);border-radius:4px;font-family:var(--font-mono);font-size:.6rem;font-weight:400;letter-spacing:.05em;text-transform:uppercase;line-height:1.3;color:var(--muted)}.panel{border:1px solid var(--line);border-radius:var(--radius-lg);background-color:var(--surface);box-shadow:var(--shadow-md)}body .p-button{padding:.88rem 1.5rem;border:1px solid transparent;border-radius:var(--pill);background:var(--accent);color:var(--accent-contrast);font-family:var(--font-mono);font-size:.65rem;font-weight:500;letter-spacing:.06em;text-transform:uppercase;box-shadow:0 14px 34px -18px var(--glow);transition:background-color var(--duration) var(--ease),color var(--duration) var(--ease),transform var(--duration) var(--ease),box-shadow var(--duration) var(--ease)}body .p-button:enabled:hover{background:var(--accent-2);border-color:transparent;color:var(--accent-contrast);transform:translateY(-2px);box-shadow:0 20px 40px -18px var(--glow)}body .p-button:enabled:active{transform:translateY(0)}body .p-button:disabled{opacity:.45;box-shadow:none}body .p-button .p-button-icon{font-size:.8rem}body .p-button.p-button-text{background:transparent;color:var(--text);box-shadow:none}body .p-inputtext,body .p-textarea,body .p-select{width:100%;padding:.82rem 1rem;border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--field);color:var(--text);font-family:var(--font-body);font-size:.9375rem;box-shadow:none;transition:border-color var(--duration) var(--ease),box-shadow var(--duration) var(--ease)}body .p-inputtext::placeholder,body .p-textarea::placeholder{color:var(--muted);opacity:.75}body .p-inputtext:enabled:focus,body .p-textarea:enabled:focus,body .p-select:not(.p-disabled).p-focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--glow);outline:none}body .p-select-overlay{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface);box-shadow:var(--shadow-md);overflow:hidden}body .p-select-option{border-radius:0;padding:.65rem 1rem;font-size:.9rem}body .p-select-option.p-select-option-selected,body .p-select-option:hover{background:var(--accent);color:var(--accent-contrast)}body .p-carousel .p-carousel-prev,body .p-carousel .p-carousel-next{width:44px;height:44px;border:1px solid var(--line-strong);border-radius:9px;background:var(--surface);color:var(--text);box-shadow:var(--shadow-sm);transition:border-color var(--duration) var(--ease),color var(--duration) var(--ease),background-color var(--duration) var(--ease)}body .p-carousel .p-carousel-prev:hover,body .p-carousel .p-carousel-next:hover{background:var(--surface);border-color:var(--accent);color:var(--accent)}body .p-carousel .p-carousel-indicator button{width:22px;height:2px;border-radius:0;background:var(--line-strong);opacity:1;transition:width var(--duration) var(--ease),background-color var(--duration) var(--ease)}body .p-carousel .p-carousel-indicator.p-highlight button{width:46px;background:var(--accent)}body .p-rating .p-rating-icon{color:var(--accent)}body .p-skeleton{border-radius:var(--radius-sm);background:var(--bg-2)}body .p-progressbar{border-radius:0;background:transparent}body .p-progressbar .p-progressbar-value{background:var(--accent)}body .p-progress-spinner-circle{stroke:var(--accent)!important}body .p-toast .p-toast-message{border:1px solid var(--line);border-radius:var(--radius-md);box-shadow:var(--shadow-md);background:var(--surface);color:var(--text)}body .p-toast .p-toast-message-text,body .p-toast .p-toast-summary,body .p-toast .p-toast-detail{color:var(--text)}body .p-toast .p-toast-icon-close{border-radius:50%}body .p-ink{background:var(--glow)}@media(min-width:780px){.section-head{grid-template-columns:1fr auto}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
