/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:root,:host{--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.static{position:static}.container{width:100%}@media (width>=40rem){.container{max-width:40rem}}@media (width>=48rem){.container{max-width:48rem}}@media (width>=64rem){.container{max-width:64rem}}@media (width>=80rem){.container{max-width:80rem}}@media (width>=96rem){.container{max-width:96rem}}.flex{display:flex}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.mask-repeat{-webkit-mask-repeat:repeat;mask-repeat:repeat}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}}:root{color-scheme:light;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--page:#f8fafc;--surface:#ffffffe6;--ink:#122033;--muted:#65758b;--soft:#8a98aa;--line:#e4eaf1;--line-strong:#d8e1eb;--accent:#3988cc;--accent-dark:#216dab;--accent-wash:#eaf4fc;--grid-line:#5273970e;--shadow-card:0 14px 38px #1d395614;background:var(--page);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}:root[data-theme=dark]{color-scheme:dark;--page:#080d17;--surface:#111b2be6;--ink:#edf4fb;--muted:#a1b0c3;--soft:#8191a6;--line:#243248;--line-strong:#30435d;--accent:#78b9ee;--accent-dark:#a4d4fa;--accent-wash:#132a40;--grid-line:#80a5cb12;--shadow-card:0 18px 44px #0003}*{box-sizing:border-box}html{scroll-behavior:smooth;min-width:320px}body{background:var(--page);min-width:320px;min-height:100vh;margin:0}button,a{font:inherit}a{color:inherit}::selection{background:var(--accent-wash);color:var(--ink)}.hero{isolation:isolate;grid-template-columns:minmax(0,.92fr) minmax(410px,1.08fr);align-items:center;gap:clamp(56px,8vw,116px);width:min(100%,1320px);min-height:100svh;margin-inline:auto;padding:clamp(64px,9vh,104px) clamp(28px,6vw,88px);display:grid;position:relative;overflow:hidden}.hero-grid{z-index:-1;background-image:linear-gradient(to right, var(--grid-line) 1px, transparent 1px), linear-gradient(to bottom, var(--grid-line) 1px, transparent 1px);pointer-events:none;background-size:44px 44px;position:absolute;inset:0 0 0 28%;-webkit-mask-image:linear-gradient(90deg,#0000,#000 26% 88%,#0000);mask-image:linear-gradient(90deg,#0000,#000 26% 88%,#0000)}.hero-copy{max-width:550px}.hero-eyebrow,.technology-kicker{color:var(--accent-dark);letter-spacing:.12em;text-transform:uppercase;margin:0;font-size:.76rem;font-weight:650;line-height:1.5}.hero-eyebrow{white-space:nowrap;align-items:center;gap:.58rem;display:flex}.eyebrow-dot{background:var(--accent);width:7px;height:7px;box-shadow:0 0 0 4px var(--accent-wash);border-radius:999px}.hero-copy h1{letter-spacing:-.075em;max-width:600px;margin:1.25rem 0 1.4rem;font-size:clamp(3.5rem,6vw,5.65rem);font-weight:640;line-height:.99}.hero-description{max-width:440px;color:var(--muted);margin:0;font-size:clamp(1.05rem,1.45vw,1.22rem);line-height:1.8}.hero-cta{border:1px solid var(--accent);background:var(--accent);color:#fff;border-radius:9px;align-items:center;gap:.85rem;min-height:50px;margin-top:2rem;padding:.8rem 1.12rem .8rem 1.25rem;font-size:.92rem;font-weight:620;text-decoration:none;transition:background-color .18s,border-color .18s,transform .18s;display:inline-flex}.hero-cta:hover{border-color:var(--accent-dark);background:var(--accent-dark);transform:translateY(-2px)}.hero-cta:focus-visible,.technology-card:focus-visible{outline:3px solid var(--accent)}@supports (color:color-mix(in lab, red, red)){.hero-cta:focus-visible,.technology-card:focus-visible{outline:3px solid color-mix(in srgb, var(--accent) 42%, transparent)}}.hero-cta:focus-visible,.technology-card:focus-visible{outline-offset:3px}.hero-cta svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.6px;width:18px;height:18px;transition:transform .18s}.hero-cta:hover svg{transform:translate(3px)}.technology{justify-self:end;width:100%;max-width:570px;position:relative}.technology-heading{justify-content:space-between;align-items:end;gap:16px;margin-bottom:1.35rem;display:flex}.technology-heading h2{letter-spacing:-.045em;margin:.5rem 0 0;font-size:clamp(1.4rem,2vw,1.8rem);font-weight:590;line-height:1.2}.technology-kicker{color:var(--soft);letter-spacing:.14em;font-size:.68rem}.technology-count{color:var(--soft);font-variant-numeric:tabular-nums;letter-spacing:.1em;padding-bottom:.18rem;font-size:.76rem}.technology-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.technology-card{isolation:isolate;border:1px solid var(--line);background:var(--surface);cursor:default;backdrop-filter:blur(8px);border-radius:13px;flex-direction:column;justify-content:space-between;align-items:flex-start;min-height:118px;padding:14px 15px 13px;transition:border-color .18s,box-shadow .18s,transform .18s,background-color .18s;display:flex;position:relative;box-shadow:0 2px 5px #1a304805}.technology-card:hover,.technology-card:focus-visible{border-color:var(--accent);transform:translateY(-3px)scale(1.015)}@supports (color:color-mix(in lab, red, red)){.technology-card:hover,.technology-card:focus-visible{border-color:color-mix(in srgb, var(--accent) 48%, var(--line))}}.technology-card:hover,.technology-card:focus-visible{box-shadow:var(--shadow-card)}.technology-mark{border:1px solid var(--accent);place-items:center;width:34px;height:34px;display:grid}@supports (color:color-mix(in lab, red, red)){.technology-mark{border:1px solid color-mix(in srgb, var(--accent) 14%, var(--line))}}.technology-mark{background:var(--accent-wash);color:var(--accent-dark);letter-spacing:-.035em;border-radius:10px;font-size:.69rem;font-weight:730}.technology-meta h3{letter-spacing:-.025em;margin:0;font-size:.9rem;font-weight:620}.technology-meta p{color:var(--soft);margin:.18rem 0 0;font-size:.69rem;line-height:1.35;transition:opacity .14s}.technology-detail{border:1px solid var(--line);background:var(--page);border-radius:7px;padding:7px 9px;position:absolute;inset:auto 12px 12px}@supports (color:color-mix(in lab, red, red)){.technology-detail{background:color-mix(in srgb, var(--page) 82%, transparent)}}.technology-detail{backdrop-filter:blur(7px);color:var(--muted);opacity:0;font-size:.68rem;line-height:1.35;transition:opacity .15s,transform .15s;transform:translateY(3px)}.technology-card:hover .technology-detail,.technology-card:focus-visible .technology-detail{opacity:1;transform:translateY(0)}.technology-card:hover .technology-meta p,.technology-card:focus-visible .technology-meta p{opacity:0}.technology-caption{color:var(--soft);text-align:right;margin:1rem 0 0;font-size:.76rem}@media (width<=980px){.hero{grid-template-columns:minmax(0,1fr) minmax(350px,.95fr);gap:44px;padding-inline:5vw}.hero-copy h1{font-size:clamp(3.3rem,6.8vw,4.75rem)}.technology-card{min-height:108px;padding:12px}}@media (width<=760px){.hero{grid-template-columns:minmax(0,1fr);align-content:center;gap:58px;min-height:100svh;padding:76px clamp(24px,7vw,54px)}.hero-grid{inset:10% 0 0;-webkit-mask-image:linear-gradient(#0000,#000 20% 78%,#0000);mask-image:linear-gradient(#0000,#000 20% 78%,#0000)}.hero-copy{max-width:620px}.hero-copy h1{font-size:clamp(3.5rem,11vw,5.5rem)}.technology{max-width:none}}@media (width<=480px){.hero{gap:48px;padding:62px 20px}.hero-eyebrow{letter-spacing:.08em;gap:.4rem;font-size:.61rem}.hero-copy h1{margin-top:1.1rem;font-size:clamp(3.15rem,14vw,4.2rem)}.hero-description{font-size:1rem;line-height:1.7}.technology-heading h2{font-size:1.35rem}.technology-grid{gap:9px}.technology-card{min-height:105px;padding:11px 10px}.technology-meta h3{font-size:.82rem}.technology-meta p{font-size:.63rem}.technology-detail{padding:6px;font-size:.61rem;inset:auto 8px 8px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important}}.site-header{z-index:10;border-bottom:1px solid var(--line);position:sticky;top:0}@supports (color:color-mix(in lab, red, red)){.site-header{border-bottom:1px solid color-mix(in srgb, var(--line) 78%, transparent)}}.site-header{background:var(--page)}@supports (color:color-mix(in lab, red, red)){.site-header{background:color-mix(in srgb, var(--page) 88%, transparent)}}.site-header{backdrop-filter:blur(18px)}.site-header-inner{justify-content:space-between;align-items:center;gap:28px;width:min(100%,1320px);min-height:72px;margin-inline:auto;padding-inline:clamp(28px,6vw,88px);display:flex}.brand{flex:none;align-items:center;text-decoration:none;display:inline-flex}.brand-logo{background:url(/android-chrome-512x512.png) 50%/contain no-repeat;width:clamp(46px,5.6vw,56px);height:clamp(46px,5.6vw,56px);display:block}.desktop-nav{justify-content:center;align-items:center;gap:clamp(16px,2.1vw,30px);margin-left:auto;display:flex}.desktop-nav a,.mobile-nav nav a{color:var(--muted);padding-block:8px;font-size:.82rem;font-weight:540;text-decoration:none;transition:color .16s;position:relative}.desktop-nav a:after{background:var(--accent);content:"";opacity:0;border-radius:2px;height:2px;transition:opacity .16s,transform .16s;position:absolute;inset:auto 0 0;transform:scaleX(.65)}.desktop-nav a:hover,.desktop-nav a[aria-current=page],.mobile-nav nav a:hover,.mobile-nav nav a[aria-current=page]{color:var(--ink)}.desktop-nav a:hover:after,.desktop-nav a[aria-current=page]:after{opacity:1;transform:scaleX(1)}.header-actions{flex:none;align-items:center;gap:10px;display:flex}.theme-toggle{border:1px solid var(--line);background:var(--surface);width:40px;height:40px;color:var(--muted);cursor:pointer;border-radius:10px;place-items:center;transition:color .16s,border-color .16s,background-color .16s,transform .16s;display:grid}.theme-toggle:hover{border-color:var(--accent);transform:translateY(-1px)}@supports (color:color-mix(in lab, red, red)){.theme-toggle:hover{border-color:color-mix(in srgb, var(--accent) 42%, var(--line))}}.theme-toggle:hover{color:var(--accent-dark)}.theme-toggle:focus-visible,.mobile-nav summary:focus-visible,.desktop-nav a:focus-visible,.mobile-nav nav a:focus-visible{outline:3px solid var(--accent)}@supports (color:color-mix(in lab, red, red)){.theme-toggle:focus-visible,.mobile-nav summary:focus-visible,.desktop-nav a:focus-visible,.mobile-nav nav a:focus-visible{outline:3px solid color-mix(in srgb, var(--accent) 42%, transparent)}}.theme-toggle:focus-visible,.mobile-nav summary:focus-visible,.desktop-nav a:focus-visible,.mobile-nav nav a:focus-visible{outline-offset:3px}.theme-icon{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.6px;width:18px;height:18px}.theme-icon-sun,:root[data-theme=dark] .theme-icon-moon{display:none}:root[data-theme=dark] .theme-icon-sun{display:block}.mobile-nav{display:none;position:relative}.mobile-nav summary{border:1px solid var(--line);background:var(--surface);min-height:40px;color:var(--muted);cursor:pointer;border-radius:10px;align-items:center;gap:8px;padding:0 11px;font-size:.82rem;font-weight:560;list-style:none;display:flex}.mobile-nav summary::-webkit-details-marker{display:none}.mobile-nav summary svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-width:1.7px;width:17px;height:17px}.mobile-nav[open] summary{border-color:var(--accent)}@supports (color:color-mix(in lab, red, red)){.mobile-nav[open] summary{border-color:color-mix(in srgb, var(--accent) 42%, var(--line))}}.mobile-nav[open] summary{color:var(--ink)}.mobile-nav nav{border:1px solid var(--line);background:var(--page);min-width:190px;box-shadow:var(--shadow-card);border-radius:12px;gap:4px;padding:8px;display:grid;position:absolute;top:calc(100% + 10px);right:0}.mobile-nav nav a{border-radius:7px;padding:10px 12px}.mobile-nav nav a:hover,.mobile-nav nav a[aria-current=page]{background:var(--accent-wash)}@media (width<=1080px){.site-header-inner{padding-inline:5vw}.desktop-nav{gap:16px}}@media (width<=900px){.desktop-nav{display:none}.mobile-nav{display:block}}@media (width<=480px){.site-header-inner{gap:12px;min-height:64px;padding-inline:20px}.header-actions{gap:8px}.theme-toggle{width:38px;height:38px}}.projects-section{border-top:1px solid var(--line);background:var(--page);padding:clamp(76px,10vw,132px) clamp(24px,6vw,88px) clamp(90px,11vw,144px);position:relative}@supports (color:color-mix(in lab, red, red)){.projects-section{background:color-mix(in srgb, var(--page) 75%, var(--accent-wash))}}.projects-inner{width:min(100%,1144px);margin-inline:auto}.projects-heading{justify-content:space-between;align-items:end;gap:36px;margin-bottom:2.1rem;display:flex}.projects-kicker{color:var(--accent-dark);letter-spacing:.13em;text-transform:uppercase;margin:0;font-size:.72rem;font-weight:650}.projects-heading h2{letter-spacing:-.065em;max-width:640px;margin:.65rem 0 0;font-size:clamp(2.2rem,4.3vw,3.65rem);font-weight:620;line-height:1.02}.projects-intro{max-width:370px;color:var(--muted);margin:0 0 .15rem;font-size:.96rem;line-height:1.7}.projects-grid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch;gap:16px;display:grid}.project-card{border:1px solid var(--line);background:var(--surface);border-radius:16px;min-width:0;transition:border-color .18s,box-shadow .18s,transform .18s,background-color .18s;overflow:hidden;box-shadow:0 3px 10px #17304d06}.project-card:hover{border-color:var(--accent);transform:translateY(-3px)}@supports (color:color-mix(in lab, red, red)){.project-card:hover{border-color:color-mix(in srgb, var(--accent) 36%, var(--line))}}.project-card:hover{box-shadow:var(--shadow-card)}.project-visual{border-bottom:1px solid var(--line);background-color:var(--accent-wash);background-image:linear-gradient(to right, var(--line-strong) 1px, transparent 1px), linear-gradient(to bottom, var(--line-strong) 1px, transparent 1px);min-height:190px;padding:18px 19px;position:relative;overflow:hidden}@supports (color:color-mix(in lab, red, red)){.project-visual{background-image:linear-gradient(to right, color-mix(in srgb, var(--line-strong) 40%, transparent) 1px, transparent 1px), linear-gradient(to bottom, color-mix(in srgb, var(--line-strong) 40%, transparent) 1px, transparent 1px)}}.project-visual{background-size:24px 24px}.visual-label-row{color:var(--soft);letter-spacing:.12em;justify-content:space-between;align-items:center;gap:10px;font-size:.57rem;font-weight:670;display:flex}.visual-label-row span:last-child{letter-spacing:.08em;font-size:.52rem;font-weight:560}.inventory-diagram{justify-content:center;align-items:center;gap:12px;display:flex;position:absolute;inset:54px 32px 23px}.inventory-card{border:1px solid var(--line);background:var(--surface);border-radius:11px;grid-template-columns:30px 1fr;align-content:center;align-items:center;gap:4px 8px;width:39%;min-height:86px;padding:11px;display:grid;position:relative;box-shadow:0 8px 22px #27436014}.inventory-card-primary{transform:translateY(-5px)}.inventory-card-secondary{transform:translateY(5px)}.diagram-symbol{background:var(--accent-wash);width:28px;height:28px;color:var(--accent-dark);border-radius:8px;grid-row:span 2;place-items:center;font-size:1rem;display:grid}.diagram-lines{gap:4px;display:grid}.diagram-lines i{background:var(--line-strong);border-radius:2px;width:34px;height:3px}.diagram-lines i:last-child{width:23px}.diagram-card-label{color:var(--muted);grid-column:2;font-size:.6rem;font-weight:600}.inventory-link{align-items:center;gap:3px;display:flex}.inventory-link i{background:var(--accent);border-radius:50%;width:4px;height:4px}@supports (color:color-mix(in lab, red, red)){.inventory-link i{background:color-mix(in srgb, var(--accent) 55%, var(--line-strong))}}.campus-diagram{position:absolute;inset:50px 16px 16px}.campus-node{z-index:1;border:1px solid var(--line);background:var(--surface);color:var(--muted);white-space:nowrap;border-radius:8px;align-items:center;gap:6px;padding:8px 10px;font-size:.58rem;font-weight:580;display:inline-flex;position:absolute;box-shadow:0 5px 16px #27436012}.campus-node-center{border-color:var(--accent);top:41%;left:50%;transform:translate(-50%,-50%)}@supports (color:color-mix(in lab, red, red)){.campus-node-center{border-color:color-mix(in srgb, var(--accent) 34%, var(--line))}}.campus-node-center{color:var(--ink)}.node-dot,.deploy-status-dot{background:var(--accent);border-radius:50%;width:6px;height:6px}.campus-node-one{top:0;left:8%}.campus-node-two{top:0;right:8%}.campus-node-three{bottom:0;right:50%;transform:translate(50%)}.campus-connectors{position:absolute;inset:17px 20% 20px}.campus-connectors i{background:var(--accent);width:1px;height:36px;position:absolute;top:19px;left:50%}@supports (color:color-mix(in lab, red, red)){.campus-connectors i{background:color-mix(in srgb, var(--accent) 32%, var(--line-strong))}}.campus-connectors i{transform-origin:top}.campus-connectors i:first-child{transform:rotate(55deg)}.campus-connectors i:nth-child(2){transform:rotate(-55deg)}.campus-connectors i:last-child{height:39px;top:27px}.deploy-flow{justify-content:center;align-items:center;gap:clamp(5px,1vw,12px);display:flex;position:absolute;inset:57px 16px 47px}.deploy-node{border:1px solid var(--line);background:var(--surface);min-width:67px;color:var(--muted);border-radius:9px;flex-direction:column;align-items:center;gap:5px;padding:8px 7px;font-size:.56rem;font-weight:590;display:flex;box-shadow:0 5px 15px #2743600f}.deploy-node-icon{color:var(--accent-dark);font-size:.9rem;font-weight:650}.deploy-arrow{color:var(--accent);font-size:.7rem}.deploy-footer{color:var(--soft);align-items:center;gap:7px;font-size:.57rem;font-weight:560;display:flex;position:absolute;bottom:13px;right:18px}.deploy-footer-divider{color:var(--line-strong)}.project-content{padding:20px 20px 21px}.project-meta{color:var(--soft);letter-spacing:.09em;text-transform:uppercase;justify-content:space-between;align-items:center;gap:12px;font-size:.63rem;font-weight:620;display:flex}.project-content h3{letter-spacing:-.045em;margin:.72rem 0 0;font-size:1.2rem;font-weight:640;line-height:1.2}.project-description{min-height:84px;color:var(--muted);margin:.75rem 0 1.1rem;font-size:.86rem;line-height:1.65}.project-tags{flex-wrap:wrap;gap:7px;margin:0;padding:0;list-style:none;display:flex}.project-tags li{border:1px solid var(--line);background:var(--page);border-radius:6px;padding:5px 8px}@supports (color:color-mix(in lab, red, red)){.project-tags li{background:color-mix(in srgb, var(--page) 70%, var(--surface))}}.project-tags li{color:var(--muted);font-size:.65rem;font-weight:540;line-height:1.2}@media (width<=1060px){.projects-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.project-card:last-child{grid-column:1/-1}.project-card:last-child .project-visual{min-height:210px}}@media (width<=720px){.projects-section{padding:76px 24px 88px}.projects-heading{flex-direction:column;align-items:flex-start;gap:14px}.projects-intro{max-width:520px}.projects-grid{grid-template-columns:minmax(0,1fr);gap:14px}.project-card:last-child{grid-column:auto}.project-visual,.project-card:last-child .project-visual{min-height:200px}.project-description{min-height:0}}@media (width<=480px){.projects-section{padding:66px 20px 76px}.projects-heading h2{font-size:2.35rem}.project-content{padding:18px 16px}}.journey-section{border-top:1px solid var(--line);background:var(--page);padding:clamp(78px,10vw,132px) clamp(24px,6vw,88px) clamp(90px,11vw,144px)}.journey-inner{width:min(100%,1144px);margin-inline:auto}.journey-heading{justify-content:space-between;align-items:end;gap:36px;margin-bottom:2.4rem;display:flex}.journey-kicker{color:var(--accent-dark);letter-spacing:.13em;text-transform:uppercase;margin:0;font-size:.72rem;font-weight:650}.journey-heading h2{letter-spacing:-.065em;max-width:650px;margin:.65rem 0 0;font-size:clamp(2.2rem,4.3vw,3.65rem);font-weight:620;line-height:1.02}.journey-intro{max-width:380px;color:var(--muted);margin:0 0 .15rem;font-size:.96rem;line-height:1.7}.journey-track{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:0;padding:0;list-style:none;display:grid;position:relative}.journey-track:before{background:var(--line-strong);content:"";height:1px;position:absolute;top:13px;left:8%;right:8%}.journey-step{min-width:0;padding-top:37px;position:relative}.journey-marker{z-index:1;border:1px solid var(--accent);place-items:center;width:27px;height:27px;display:grid;position:absolute;top:0;left:18px}@supports (color:color-mix(in lab, red, red)){.journey-marker{border:1px solid color-mix(in srgb, var(--accent) 48%, var(--line))}}.journey-marker{background:var(--page);color:var(--accent-dark);font-variant-numeric:tabular-nums;border-radius:50%;font-size:.55rem;font-weight:700}.journey-card{border:1px solid var(--line);background:var(--surface);border-radius:13px;min-height:100%;padding:19px 17px 18px;transition:border-color .18s,box-shadow .18s,transform .18s;box-shadow:0 3px 10px #17304d06}.journey-step:hover .journey-card{border-color:var(--accent);transform:translateY(-3px)}@supports (color:color-mix(in lab, red, red)){.journey-step:hover .journey-card{border-color:color-mix(in srgb, var(--accent) 36%, var(--line))}}.journey-step:hover .journey-card{box-shadow:var(--shadow-card)}.journey-stage{color:var(--accent-dark);letter-spacing:.13em;text-transform:uppercase;margin:0;font-size:.7rem;font-weight:700}.journey-description{color:var(--muted);margin:.85rem 0 1.15rem;font-size:.82rem;line-height:1.68}.journey-tags{flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none;display:flex}.journey-tags li{border:1px solid var(--line);background:var(--page);border-radius:6px;padding:5px 7px}@supports (color:color-mix(in lab, red, red)){.journey-tags li{background:color-mix(in srgb, var(--page) 68%, var(--surface))}}.journey-tags li{color:var(--muted);font-size:.62rem;font-weight:540;line-height:1.2}@media (width<=1060px){.journey-track{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:8px}.journey-track:before{display:none}.journey-step{padding-top:20px}.journey-marker{top:18px;left:18px}.journey-card{padding-top:57px}}@media (width<=720px){.journey-section{padding:76px 24px 88px}.journey-heading{flex-direction:column;align-items:flex-start;gap:14px}.journey-intro{max-width:520px}}@media (width<=540px){.journey-track{grid-template-columns:minmax(0,1fr);gap:9px}.journey-step{padding-top:8px;padding-left:16px}.journey-track:before{width:1px;height:auto;display:block;position:absolute;top:16px;bottom:16px;left:13px}.journey-marker{width:27px;height:27px;top:24px;left:0}.journey-card{padding:19px 16px 18px 25px}.journey-heading h2{font-size:2.35rem}}.skills-section{border-top:1px solid var(--line);background:var(--page);padding:clamp(78px,10vw,132px) clamp(24px,6vw,88px) clamp(90px,11vw,144px)}@supports (color:color-mix(in lab, red, red)){.skills-section{background:color-mix(in srgb, var(--page) 75%, var(--accent-wash))}}.skills-inner{width:min(100%,1000px);margin-inline:auto}.skills-heading{justify-content:space-between;align-items:end;gap:36px;margin-bottom:2rem;display:flex}.skills-kicker{color:var(--accent-dark);letter-spacing:.13em;text-transform:uppercase;margin:0;font-size:.72rem;font-weight:650}.skills-heading h2{letter-spacing:-.065em;max-width:640px;margin:.65rem 0 0;font-size:clamp(2.2rem,4.3vw,3.65rem);font-weight:620;line-height:1.02}.skills-intro{max-width:360px;color:var(--muted);margin:0 0 .15rem;font-size:.94rem;line-height:1.7}.skills-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;display:grid}.skills-group{border:1px solid var(--line);background:var(--surface);border-radius:13px;min-height:150px;padding:20px 21px;transition:border-color .18s,transform .18s,box-shadow .18s;box-shadow:0 3px 10px #17304d06}.skills-group:hover{border-color:var(--accent);transform:translateY(-2px)}@supports (color:color-mix(in lab, red, red)){.skills-group:hover{border-color:color-mix(in srgb, var(--accent) 32%, var(--line))}}.skills-group:hover{box-shadow:var(--shadow-card)}.skills-group-learning{border-style:dashed;border-color:var(--accent)}@supports (color:color-mix(in lab, red, red)){.skills-group-learning{border-color:color-mix(in srgb, var(--accent) 36%, var(--line))}}.skills-group-learning{background:var(--accent-wash)}@supports (color:color-mix(in lab, red, red)){.skills-group-learning{background:color-mix(in srgb, var(--accent-wash) 38%, var(--surface))}}.skills-group-heading{align-items:center;gap:11px;margin-bottom:17px;display:flex}.skills-number{color:var(--accent);font-variant-numeric:tabular-nums;letter-spacing:.06em;font-size:.65rem;font-weight:700}.skills-group-heading h3{letter-spacing:-.025em;margin:0;font-size:1rem;font-weight:620}.skill-pills,.focus-pills{flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;display:flex}.skill-pills li,.focus-pills li{border:1px solid var(--line);background:var(--page);border-radius:7px;padding:7px 10px}@supports (color:color-mix(in lab, red, red)){.skill-pills li,.focus-pills li{background:color-mix(in srgb, var(--page) 70%, var(--surface))}}.skill-pills li,.focus-pills li{color:var(--muted);font-size:.75rem;font-weight:540;line-height:1.2}.skills-group-learning .skill-pills li{border-color:var(--accent)}@supports (color:color-mix(in lab, red, red)){.skills-group-learning .skill-pills li{border-color:color-mix(in srgb, var(--accent) 20%, var(--line))}}.skills-group-learning .skill-pills li{background:var(--page)}@supports (color:color-mix(in lab, red, red)){.skills-group-learning .skill-pills li{background:color-mix(in srgb, var(--page) 54%, var(--accent-wash))}}.skills-group-learning .skill-pills li{color:var(--accent-dark)}.focus-areas{border:1px solid var(--line);background:var(--page);border-radius:12px;align-items:center;gap:20px;margin-top:19px;padding:15px 19px;display:flex}@supports (color:color-mix(in lab, red, red)){.focus-areas{background:color-mix(in srgb, var(--page) 58%, var(--surface))}}.focus-areas h3{color:var(--soft);letter-spacing:.1em;text-transform:uppercase;flex:none;margin:0;font-size:.68rem;font-weight:650}.focus-pills{gap:7px}.focus-pills li{background:var(--accent-wash);color:var(--accent-dark);border-color:#0000;padding:6px 9px;font-size:.69rem}@media (width<=720px){.skills-section{padding:76px 24px 88px}.skills-heading{flex-direction:column;align-items:flex-start;gap:14px}.skills-intro{max-width:520px}}@media (width<=560px){.skills-section{padding:66px 20px 76px}.skills-grid{grid-template-columns:minmax(0,1fr)}.skills-group{min-height:auto;padding:18px 17px}.focus-areas{flex-direction:column;align-items:flex-start;gap:12px;padding:16px}.skills-heading h2{font-size:2.35rem}}.experience-section{border-top:1px solid var(--line);background:var(--page);padding:clamp(78px,10vw,132px) clamp(24px,6vw,88px) clamp(90px,11vw,144px)}.experience-inner{width:min(100%,1000px);margin-inline:auto}.experience-heading{justify-content:space-between;align-items:end;gap:36px;margin-bottom:2.3rem;display:flex}.experience-kicker{color:var(--accent-dark);letter-spacing:.13em;text-transform:uppercase;margin:0;font-size:.72rem;font-weight:650}.experience-heading h2{letter-spacing:-.065em;max-width:640px;margin:.65rem 0 0;font-size:clamp(2.2rem,4.3vw,3.65rem);font-weight:620;line-height:1.02}.experience-intro{max-width:360px;color:var(--muted);margin:0 0 .15rem;font-size:.94rem;line-height:1.7}.experience-timeline{gap:16px;margin:0;padding:0;list-style:none;display:grid;position:relative}.experience-timeline:before{background:var(--line-strong);content:"";width:1px;position:absolute;top:12px;bottom:28px;left:132px}.experience-entry{grid-template-columns:112px minmax(0,1fr);align-items:start;gap:40px;display:grid;position:relative}.experience-date{z-index:1;color:var(--soft);font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap;justify-items:end;gap:9px;padding-top:23px;font-size:.72rem;font-weight:570;display:grid;position:relative}.experience-date:after{border:2px solid var(--page);background:var(--accent);width:9px;height:9px;box-shadow:0 0 0 1px var(--accent);border-radius:50%;position:absolute;top:27px;right:-26px}@supports (color:color-mix(in lab, red, red)){.experience-date:after{box-shadow:0 0 0 1px color-mix(in srgb, var(--accent) 50%, var(--line))}}.experience-date:after{content:""}.experience-current{border:1px solid var(--accent);padding:4px 7px}@supports (color:color-mix(in lab, red, red)){.experience-current{border:1px solid color-mix(in srgb, var(--accent) 26%, var(--line))}}.experience-current{background:var(--accent-wash);color:var(--accent-dark);letter-spacing:.04em;text-transform:uppercase;border-radius:5px;font-size:.61rem;font-weight:650}.experience-card{border:1px solid var(--line);background:var(--surface);border-radius:13px;padding:22px 24px 21px;transition:border-color .18s,transform .18s,box-shadow .18s;box-shadow:0 3px 10px #17304d06}.experience-card:hover{border-color:var(--accent);transform:translateY(-2px)}@supports (color:color-mix(in lab, red, red)){.experience-card:hover{border-color:color-mix(in srgb, var(--accent) 32%, var(--line))}}.experience-card:hover{box-shadow:var(--shadow-card)}.experience-role-heading h3{letter-spacing:-.03em;margin:0;font-size:1.08rem;font-weight:630}.experience-organization{color:var(--accent-dark);margin:.38rem 0 0;font-size:.79rem;font-weight:560;line-height:1.5}.experience-points{color:var(--muted);gap:8px;margin:1.1rem 0 0;padding:0 0 0 1.1rem;font-size:.82rem;line-height:1.65;display:grid}.experience-points li::marker{color:var(--accent)}.experience-period-mobile{color:var(--soft);font-variant-numeric:tabular-nums;font-size:.68rem;display:none}@media (width<=720px){.experience-section{padding:76px 24px 88px}.experience-heading{flex-direction:column;align-items:flex-start;gap:14px}.experience-intro{max-width:520px}}@media (width<=560px){.experience-section{padding:66px 20px 76px}.experience-timeline{gap:12px}.experience-timeline:before{top:7px;bottom:16px;left:5px}.experience-entry{grid-template-columns:minmax(0,1fr);gap:0;padding-left:22px}.experience-entry:before{z-index:1;border:2px solid var(--page);background:var(--accent);width:9px;height:9px;box-shadow:0 0 0 1px var(--accent);border-radius:50%;position:absolute;top:17px;left:0}@supports (color:color-mix(in lab, red, red)){.experience-entry:before{box-shadow:0 0 0 1px color-mix(in srgb, var(--accent) 50%, var(--line))}}.experience-entry:before{content:""}.experience-date{display:none}.experience-card{padding:18px 16px}.experience-role-heading{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.experience-role-heading h3{font-size:.98rem}.experience-period-mobile{text-align:right;flex-direction:column;flex:none;align-items:flex-end;gap:5px;padding-top:3px;display:flex}.experience-points{font-size:.7rem}.experience-heading h2{font-size:2.35rem}}.about-section{border-top:1px solid var(--line);background:var(--page);padding:clamp(78px,10vw,132px) clamp(24px,6vw,88px) clamp(90px,11vw,144px)}@supports (color:color-mix(in lab, red, red)){.about-section{background:color-mix(in srgb, var(--page) 75%, var(--accent-wash))}}.about-inner{grid-template-columns:minmax(0,1.35fr) minmax(260px,.65fr);align-items:center;gap:clamp(38px,7vw,92px);width:min(100%,1000px);margin-inline:auto;display:grid}.about-copy{max-width:650px}.about-kicker,.about-education-label{color:var(--accent-dark);letter-spacing:.13em;text-transform:uppercase;margin:0;font-size:.72rem;font-weight:650}.about-copy h2{letter-spacing:-.065em;max-width:620px;margin:.65rem 0 1.35rem;font-size:clamp(2.2rem,4.3vw,3.65rem);font-weight:620;line-height:1.02}.about-description{gap:.9rem;display:grid}.about-description p{color:var(--muted);margin:0;font-size:.94rem;line-height:1.8}.about-education{border:1px solid var(--line);background:var(--surface);border-radius:14px;padding:23px 23px 21px;transition:border-color .18s,transform .18s,box-shadow .18s;box-shadow:0 3px 10px #17304d06}.about-education:hover{border-color:var(--accent);transform:translateY(-2px)}@supports (color:color-mix(in lab, red, red)){.about-education:hover{border-color:color-mix(in srgb, var(--accent) 32%, var(--line))}}.about-education:hover{box-shadow:var(--shadow-card)}.about-education-icon{border:1px solid var(--accent);place-items:center;width:39px;height:39px;margin-bottom:19px;display:grid}@supports (color:color-mix(in lab, red, red)){.about-education-icon{border:1px solid color-mix(in srgb, var(--accent) 18%, var(--line))}}.about-education-icon{background:var(--accent-wash);color:var(--accent-dark);border-radius:11px}.about-education-icon svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.5px;width:21px;height:21px}.about-education-label{color:var(--soft);font-size:.64rem}.about-education h3{letter-spacing:-.035em;margin:.65rem 0 0;font-size:1.1rem;font-weight:630}.about-degree{color:var(--muted);margin:.48rem 0 1.2rem;font-size:.83rem;line-height:1.55}.about-education-meta{border-top:1px solid var(--line);color:var(--soft);font-variant-numeric:tabular-nums;justify-content:space-between;gap:12px;padding-top:13px;font-size:.7rem;font-weight:560;display:flex}@media (width<=720px){.about-section{padding:76px 24px 88px}.about-inner{grid-template-columns:minmax(0,1fr);gap:28px}.about-education{max-width:480px}}@media (width<=560px){.about-section{padding:66px 20px 76px}.about-copy h2{font-size:2.35rem}.about-description p{font-size:.9rem}}.contact-section{border-top:1px solid var(--line);background:var(--page);padding:clamp(78px,10vw,132px) clamp(24px,6vw,88px)}.contact-inner{grid-template-columns:minmax(0,1.1fr) minmax(250px,.7fr);align-items:center;gap:clamp(40px,8vw,110px);width:min(100%,1000px);margin-inline:auto;display:grid}.contact-copy{max-width:620px}.contact-kicker{color:var(--accent-dark);letter-spacing:.13em;text-transform:uppercase;margin:0;font-size:.72rem;font-weight:650}.contact-copy h2{letter-spacing:-.07em;margin:.65rem 0 0;font-size:clamp(2.4rem,4.8vw,4rem);font-weight:620;line-height:1.02}.contact-description{max-width:480px;color:var(--muted);margin:1rem 0 0;font-size:.96rem;line-height:1.7}.contact-email{color:var(--accent-dark);align-items:center;gap:10px;margin-top:1.5rem;font-size:.94rem;font-weight:620;text-decoration:none;display:inline-flex}.contact-email svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.7px;width:18px;height:18px;transition:transform .16s}.contact-email:hover svg{transform:translate(3px)}.contact-email:focus-visible,.contact-links a:focus-visible{outline:3px solid var(--accent)}@supports (color:color-mix(in lab, red, red)){.contact-email:focus-visible,.contact-links a:focus-visible{outline:3px solid color-mix(in srgb, var(--accent) 42%, transparent)}}.contact-email:focus-visible,.contact-links a:focus-visible{outline-offset:4px}.contact-links{gap:10px;display:grid}.contact-links a{border:1px solid var(--line);background:var(--surface);border-radius:11px;justify-content:space-between;align-items:center;gap:16px;padding:16px 17px;text-decoration:none;transition:border-color .18s,transform .18s,box-shadow .18s;display:flex}.contact-links a:hover{border-color:var(--accent);transform:translateY(-2px)}@supports (color:color-mix(in lab, red, red)){.contact-links a:hover{border-color:color-mix(in srgb, var(--accent) 36%, var(--line))}}.contact-links a:hover{box-shadow:var(--shadow-card)}.contact-link-copy{gap:4px;display:grid}.contact-link-copy strong{font-size:.88rem;font-weight:620}.contact-link-copy>span{color:var(--soft);font-size:.72rem}.contact-links a>svg{fill:none;width:17px;height:17px;stroke:var(--soft);stroke-linecap:round;stroke-linejoin:round;stroke-width:1.5px;flex:none}@media (width<=720px){.contact-section{padding:76px 24px 88px}.contact-inner{grid-template-columns:minmax(0,1fr);gap:30px}}@media (width<=560px){.contact-section{padding:66px 20px 76px}.contact-copy h2{font-size:2.65rem}.contact-email{font-size:.88rem}}.site-footer{border-top:1px solid var(--line);background:var(--page)}@supports (color:color-mix(in lab, red, red)){.site-footer{background:color-mix(in srgb, var(--page) 78%, var(--accent-wash))}}.site-footer-inner{width:min(100%,1240px);margin-inline:auto;padding:52px clamp(24px,6vw,56px) 20px}.footer-columns{grid-template-columns:minmax(0,1.4fr) minmax(125px,.7fr) minmax(220px,1.05fr) minmax(150px,.8fr);gap:clamp(28px,4vw,54px);display:grid}.footer-brand-column{border-right:1px solid var(--line);padding-right:clamp(24px,3.8vw,48px)}.footer-brand{align-items:center;text-decoration:none;display:inline-flex}.footer-brand-logo{width:clamp(84px,8vw,100px);height:clamp(84px,8vw,100px)}.footer-description{max-width:270px;color:var(--soft);margin:9px 0 0;font-size:.7rem;line-height:1.65}.footer-heading{color:var(--text);letter-spacing:.01em;margin:11px 0 20px;font-size:.86rem;font-weight:650}.footer-nav{flex-direction:column;align-items:flex-start;gap:14px;display:flex}.footer-nav a,.footer-contact-list a,.footer-bottom-links a{color:var(--muted);font-size:.75rem;text-decoration:none;transition:color .17s,transform .17s}.footer-nav a:hover,.footer-contact-list a:hover,.footer-bottom-links a:hover{color:var(--accent-dark)}.footer-contact-list{gap:14px;margin:0;padding:0;list-style:none;display:grid}.footer-contact-list a{align-items:center;gap:10px;line-height:1.5;display:flex}.footer-contact-list svg{fill:none;width:16px;height:16px;stroke:var(--accent-dark);stroke-linecap:round;stroke-linejoin:round;stroke-width:1.5px;flex:none}.footer-follow>p{max-width:185px;color:var(--muted);margin:0;font-size:.75rem;line-height:1.65}.footer-socials{gap:9px;margin-top:20px;display:flex}.footer-socials a{border:1px solid var(--line);background:var(--surface);border-radius:10px;place-items:center;width:39px;height:39px;display:grid}@supports (color:color-mix(in lab, red, red)){.footer-socials a{background:color-mix(in srgb, var(--surface) 70%, transparent)}}.footer-socials a{color:var(--muted);transition:transform .18s,border-color .18s,background-color .18s,color .18s}.footer-socials a:hover{border-color:var(--accent);transform:translateY(-3px)}@supports (color:color-mix(in lab, red, red)){.footer-socials a:hover{border-color:color-mix(in srgb, var(--accent) 48%, var(--line))}}.footer-socials a:hover{background:var(--accent-wash);color:var(--accent-dark)}.footer-socials svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.55px;width:17px;height:17px}.footer-bottom{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:20px;margin-top:45px;padding-top:18px;display:flex}.footer-bottom>p{color:var(--soft);margin:0;font-size:.7rem;line-height:1.5}.footer-bottom-links{align-items:center;gap:19px;margin-left:auto;display:flex}.footer-bottom-links a{font-size:.7rem}.footer-brand:focus-visible,.footer-nav a:focus-visible,.footer-contact-list a:focus-visible,.footer-socials a:focus-visible,.footer-bottom-links a:focus-visible,.chess-egg summary:focus-visible{outline:3px solid var(--accent)}@supports (color:color-mix(in lab, red, red)){.footer-brand:focus-visible,.footer-nav a:focus-visible,.footer-contact-list a:focus-visible,.footer-socials a:focus-visible,.footer-bottom-links a:focus-visible,.chess-egg summary:focus-visible{outline:3px solid color-mix(in srgb, var(--accent) 42%, transparent)}}.footer-brand:focus-visible,.footer-nav a:focus-visible,.footer-contact-list a:focus-visible,.footer-socials a:focus-visible,.footer-bottom-links a:focus-visible,.chess-egg summary:focus-visible{outline-offset:4px}.chess-egg{flex:none;position:relative}.chess-egg summary{border:1px solid var(--line);background:var(--surface);width:32px;height:32px;color:var(--accent-dark);cursor:pointer;border-radius:9px;place-items:center;font-family:Segoe UI Symbol,"Noto Sans Symbols 2",sans-serif;font-size:1.05rem;list-style:none;transition:transform .16s,border-color .16s,background-color .16s;display:grid}.chess-egg summary::-webkit-details-marker{display:none}.chess-egg summary:hover,.chess-egg[open] summary{border-color:var(--accent);transform:translateY(-1px)}@supports (color:color-mix(in lab, red, red)){.chess-egg summary:hover,.chess-egg[open] summary{border-color:color-mix(in srgb, var(--accent) 42%, var(--line))}}.chess-egg summary:hover,.chess-egg[open] summary{background:var(--accent-wash)}.chess-popover{z-index:12;border:1px solid var(--line);background:var(--page);width:224px;box-shadow:var(--shadow-card);border-radius:12px;padding:13px;position:absolute;bottom:calc(100% + 12px);right:0}.chess-kicker{color:var(--accent-dark);letter-spacing:.09em;text-transform:uppercase;margin:0 0 10px;font-size:.61rem;font-weight:650}.chess-board{border:1px solid var(--line-strong);border-radius:5px;grid-template-columns:repeat(8,minmax(0,1fr));font-family:Segoe UI Symbol,"Noto Sans Symbols 2",serif;display:grid;overflow:hidden}.chess-square{aspect-ratio:1;place-items:center;font-size:1.05rem;line-height:1;display:grid}.chess-square-light{background:var(--page)}@supports (color:color-mix(in lab, red, red)){.chess-square-light{background:color-mix(in srgb, var(--page) 82%, #b8cee0)}}.chess-square-light{color:#25384c}.chess-square-dark{background:var(--accent)}@supports (color:color-mix(in lab, red, red)){.chess-square-dark{background:color-mix(in srgb, var(--accent) 42%, #526c84)}}.chess-square-dark{color:#f8fafc}.chess-piece-black{color:#111827}.chess-piece-white{color:#fff}.chess-square-dark.chess-piece-black{text-shadow:0 0 2px #f8fafcf2,0 0 4px #f8fafc8c}.chess-square-light.chess-piece-white{text-shadow:0 0 2px #122033e6,0 0 4px #12203380}.chess-caption{color:var(--muted);text-align:center;margin:10px 0 0;font-size:.68rem}@media (width<=900px){.footer-columns{grid-template-columns:minmax(0,1.2fr) minmax(130px,.8fr);row-gap:36px}.footer-brand-column{grid-row:span 2}}@media (width<=560px){.site-footer-inner{padding:35px 20px 17px}.footer-columns{grid-template-columns:minmax(0,1fr);gap:30px}.footer-brand-column{border-right:0;border-bottom:1px solid var(--line);grid-row:auto;padding:0 0 27px}.footer-brand-logo{width:clamp(84px,8vw,100px);height:clamp(84px,8vw,100px)}.footer-description{max-width:320px;font-size:.72rem}.footer-heading{margin:0 0 14px}.footer-nav,.footer-contact-list{gap:12px}.footer-socials{margin-top:15px}.footer-bottom{flex-wrap:wrap;align-items:flex-start;row-gap:15px;margin-top:32px}.footer-bottom>p{flex-basis:100%}.footer-bottom-links{gap:14px;margin-left:0}.chess-egg{margin-left:auto}}@media (hover:none) and (pointer:coarse){.technology-card:hover{border-color:var(--line);transform:none;box-shadow:0 2px 5px #1a304805}.technology-card:hover .technology-detail{opacity:0;transform:translateY(3px)}.technology-card:hover .technology-meta p{opacity:1}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}.technology-icon[data-astro-cid-otewqyc6]{width:22px;height:22px;-webkit-mask-image:var(--technology-icon);-webkit-mask-position:50%;-webkit-mask-size:contain;-webkit-mask-repeat:no-repeat;mask-image:var(--technology-icon);background-color:currentColor;flex:none;display:block;mask-position:50%;mask-size:contain;mask-repeat:no-repeat}
