@layer tokens,base,layout,components,utilities,overrides;@layer base{@font-face{font-family:'Inter';font-style:normal;font-weight:400 800;font-display:swap;src:local('Inter'),local('Inter Regular'),url("../css/fonts/Inter-Latin.woff2") format('woff2')}@font-face{font-family:'IBM Plex Mono';font-style:normal;font-weight:400 700;font-display:swap;src:local('IBM Plex Mono'),local('IBM Plex Mono Regular')}}@layer tokens{:root{--brand-midnight:#091F3B;--brand-signal-blue:#005FED;--brand-deep-blue:#0145C8;--brand-canvas:#F9F9FA;--brand-mist:#EEF2F7;--brand-graphite:#334155;--brand-slate:#475569;--brand-ink:#010414;--brand-action-copper:#D97706;--brand-success:#166534;--brand-risk:#B91C1C;--brand-navy:var(--brand-midnight);--brand-blue:var(--brand-signal-blue);--brand-cloud:var(--brand-canvas);--brand-cyan:var(--brand-signal-blue);--brand-amber:var(--brand-action-copper);--brand-green:var(--brand-success);--brand-coral:var(--brand-risk);--bg:var(--brand-canvas);--surface:#FFFFFF;--surface-light:var(--brand-mist);--surface-accent:color-mix(in srgb,var(--brand-mist) 76%,#fff 24%);--primary:var(--brand-signal-blue);--secondary:var(--primary);--text-light:var(--brand-midnight);--text-muted:var(--brand-slate);--font-sans:"Inter",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--font-mono:"IBM Plex Mono","SFMono-Regular",Consolas,"Liberation Mono",Menlo,monospace;--link:var(--brand-deep-blue);--link-hover:color-mix(in srgb,var(--brand-deep-blue) 80%,var(--brand-ink) 20%);--focus:color-mix(in srgb,var(--brand-signal-blue) 72%,#ffffff 28%);--border-subtle:#CBD5E1;--border-1:var(--border-subtle);--border-2:color-mix(in srgb,var(--primary) 24%,transparent);--border-3:color-mix(in srgb,var(--primary) 42%,transparent);--surface-1:var(--surface);--surface-2:var(--brand-mist);--surface-3:color-mix(in srgb,var(--brand-mist) 80%,var(--brand-midnight) 20%);--text-1:var(--text-light);--text-2:var(--text-muted);--text-3:color-mix(in srgb,var(--brand-slate) 72%,var(--brand-graphite) 28%);--accent-1:var(--primary);--accent-2:var(--brand-deep-blue);--accent-3:var(--brand-action-copper);--success:var(--brand-success);--warning:var(--brand-action-copper);--danger:var(--brand-risk);--nav-height:72px;--container-max:1068px;--modal-max:1100px;--modal-max-wide:1240px;--modal-media-height:clamp(360px,62vh,620px);--modal-media-max-width:900px;scroll-padding-top:var(--nav-height,72px);--space-2:2px;--space-4:4px;--space-6:6px;--space-8:8px;--space-10:10px;--space-12:12px;--space-14:14px;--space-16:16px;--space-20:20px;--space-24:24px;--space-28:28px;--space-32:32px;--space-40:40px;--space-48:48px;--space-64:64px;--mobile-page-gutter:clamp(12px,4vw,18px);--mobile-section-y:clamp(1.55rem,5vw,2.25rem);--mobile-section-y-tight:clamp(1rem,4vw,1.55rem);--mobile-card-pad:clamp(1rem,4vw,1.25rem);--radius-6:6px;--radius-8:8px;--radius-10:10px;--radius-12:12px;--radius-14:14px;--radius-16:16px;--shadow-sm:0 2px 8px rgba(9,31,59,.08);--shadow-md:0 12px 28px rgba(9,31,59,.12);--shadow-lg:0 24px 56px rgba(9,31,59,.16);--motion-fast:160ms;--motion-base:220ms;--motion-slow:320ms;--easing-standard:cubic-bezier(.22,.61,.36,1);--hover-lift:-2px;--hover-lift-strong:-4px;--hover-scale:1.02;--interactive-shadow-rest:var(--shadow-sm);--interactive-shadow-hover:var(--shadow-md);--interactive-shadow-strong:var(--shadow-lg);--interactive-border:var(--border-2);--interactive-border-hover:var(--border-3);--interactive-bg:var(--surface);--interactive-bg-hover:color-mix(in srgb,var(--brand-signal-blue) 8%,#ffffff 92%);--interactive-text:var(--brand-midnight);--focus-ring:3px solid color-mix(in srgb,var(--accent-1) 62%,#ffffff 38%);--bp-sm:480px;--bp-md:768px;--bp-lg:1024px;--bp-xl:1280px;--vh:100vh;--project-card-aspect:1 / 1;--logo-tile-bg:linear-gradient(145deg,#ffffff 0%,var(--brand-mist) 100%);--logo-tile-bg-blue:color-mix(in srgb,var(--brand-mist) 82%,var(--brand-signal-blue) 18%);--logo-tile-bg-company:var(--logo-tile-bg);--logo-tile-bg-cert:var(--logo-tile-bg-blue);--logo-tile-bg-education:var(--logo-tile-bg-blue)}}@layer base{html{min-height:100%;margin:0;padding:0;width:100%;max-width:100%;overflow-x:hidden;overflow-x:clip;background:var(--bg);color-scheme:light}body{margin:0;padding:0;width:100%;max-width:100%;overflow-x:hidden;overflow-x:clip;font-family:var(--font-sans);background:var(--bg);color:var(--text-light);line-height:1.6;-webkit-font-smoothing:antialiased;color-scheme:light;display:flex;flex-direction:column;min-height:100vh;padding-top:var(--nav-height,72px)}main{flex:1 0 auto}.wrapper{width:100%;max-width:var(--container-max);margin-inline:auto;padding-inline:24px;box-sizing:border-box}a{color:inherit;text-decoration:none}.hide{display:none !important}h1,h2,h3{font-family:var(--font-sans);font-weight:700;letter-spacing:0}h1{font-size:48px;line-height:56px;margin:.4em 0}h2{font-size:32px;line-height:40px;margin:.6em 0 .4em}h3{font-size:24px;line-height:32px;margin:.8em 0 .4em}p{margin-bottom:1em;font-size:17px}@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none !important;transition:none !important;scroll-behavior:auto !important}.reveal{opacity:1 !important;transform:none !important}}}@layer layout{.nav{--brand-logo-size:clamp(48px,4.6vw,68px);--brand-title-size:clamp(18px,2vw,24px);--brand-tagline-size:clamp(13px,1.6vw,16px);--nav-accent-gradient:linear-gradient(135deg,color-mix(in srgb,var(--primary) 92%,#ffffff 8%) 0%,color-mix(in srgb,var(--brand-cyan) 58%,#0A1A1F 42%) 100%);--nav-block-padding:clamp(12px,1.8vw,20px);--nav-inline-padding:clamp(20px,5vw,48px);--nav-border-width:1px;--nav-dropdown-max:720px;position:fixed;inset:0;width:100%;z-index:1000;background:linear-gradient(120deg,rgba(15,23,42,.94) 0%,rgba(17,24,39,.9) 60%,rgba(15,23,42,.86) 100%);border-bottom:var(--nav-border-width) solid color-mix(in srgb,var(--brand-cyan) 18%,transparent);backdrop-filter:blur(18px)}.nav::after{content:"";position:absolute;left:0;right:auto;bottom:0;height:2px;width:100%;background:linear-gradient(90deg,var(--primary),var(--brand-cyan));transform:scaleX(var(--scroll-progress-ratio,0));transform-origin:left center;will-change:transform}.nav .wrapper{display:flex;align-items:center;justify-content:space-between;gap:clamp(16px,4vw,48px);padding:var(--nav-block-padding) var(--nav-inline-padding);max-width:calc(var(--container-max) + 96px);margin-inline:auto}.nav-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr)) auto;align-items:stretch;gap:clamp(8px,1.4vw,18px);margin-left:auto;flex:1 1 480px;max-width:min(760px,86vw)}.nav-search{display:flex;align-items:center;justify-self:end;justify-content:flex-end;width:100%;min-width:44px}.nav-search.nav-search-is-enhanced{width:44px;transition:width .24s ease}.nav-search.nav-search-is-enhanced.is-expanded{width:clamp(120px,9vw,132px)}.nav-search-field{position:relative;width:100%;min-width:44px}.nav-search-input{width:100%;min-height:44px;padding:10px 44px 10px 14px;box-sizing:border-box;border-radius:999px;border:1px solid color-mix(in srgb,var(--primary) 22%,transparent);background:color-mix(in srgb,var(--surface) 36%,transparent);color:color-mix(in srgb,var(--text-light) 92%,#ffffff 8%);font-size:clamp(.78rem,1.05vw,.92rem);letter-spacing:.01em;transition:opacity .18s ease,border-color .2s ease,background .2s ease,color .2s ease,box-shadow .2s ease}.nav-search.nav-search-is-enhanced:not(.is-expanded) .nav-search-input{opacity:0;pointer-events:none}.nav-search-input::placeholder{color:color-mix(in srgb,var(--text-light) 64%,transparent)}.nav-search-input:focus{outline:none;border-color:color-mix(in srgb,var(--primary) 42%,transparent);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 18%,transparent)}.nav-search-button{position:absolute;top:50%;right:6px;transform:translateY(-50%);width:34px;height:34px;padding:0;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;border:1px solid color-mix(in srgb,var(--primary) 26%,transparent);background:color-mix(in srgb,var(--surface) 72%,#000000 28%);color:color-mix(in srgb,var(--text-light) 86%,#ffffff 14%);cursor:pointer;transition:background .2s ease,border-color .2s ease,color .2s ease,box-shadow .2s ease}.nav-search-button:hover,.nav-search-button:focus-visible{outline:none;border-color:color-mix(in srgb,var(--primary) 44%,transparent);background:color-mix(in srgb,var(--surface) 88%,#000000 12%)}.nav-search-button svg{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.nav-link{position:relative;display:flex;align-items:center;justify-content:center;box-sizing:border-box;inline-size:100%;padding:10px 0;min-height:44px;text-align:center;font-size:clamp(.78rem,1.05vw,.92rem);font-weight:500;letter-spacing:.02em;color:color-mix(in srgb,var(--text-light) 78%,#ffffff 22%);white-space:nowrap;transition:color .25s ease}.nav-link::after{content:"";position:absolute;left:0;bottom:-8px;width:100%;height:2px;background:color-mix(in srgb,var(--primary) 92%,#ffffff 8%);transform:scaleX(0);transform-origin:left;transition:transform .25s ease}.nav-link:hover,.nav-link:focus-visible{color:color-mix(in srgb,var(--text-light) 92%,#ffffff 8%)}.nav-link:hover::after,.nav-link:focus-visible::after,.nav-link.is-current::after{transform:scaleX(1)}.nav-link:focus-visible{outline:none;text-decoration:none}.nav-link.nav-link-cta{padding:10px 22px;border-radius:999px;background:var(--nav-accent-gradient);color:color-mix(in srgb,#ffffff 94%,var(--bg) 6%);box-shadow:0 12px 28px rgba(0,0,0,.28);transition:color .25s ease,transform .25s ease,box-shadow .25s ease}.nav-link.nav-link-cta::after{display:none}.nav-link.nav-link-cta:hover,.nav-link.nav-link-cta:focus-visible{transform:translateY(-1px);box-shadow:0 16px 32px rgba(0,0,0,.32);color:color-mix(in srgb,#ffffff 96%,var(--bg) 4%)}.nav-item{position:relative;display:flex;align-items:center;width:100%}.nav-link-has-menu{gap:6px}.nav-link-caret{display:inline-block;width:0;height:0;border-left:5px solid transparent;border-right:5px solid transparent;border-top:6px solid color-mix(in srgb,var(--text-light) 70%,#ffffff 30%);transition:transform .2s ease,border-top-color .2s ease}.nav-link-cta .nav-link-caret{border-top-color:color-mix(in srgb,#ffffff 92%,var(--bg) 8%)}.nav-dropdown{display:none}.nav-dropdown-inner{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(260px,1fr);gap:clamp(14px,2vw,20px);align-items:start}.nav-dropdown-column{display:flex;flex-direction:column;gap:10px}.nav-dropdown-column-actions{padding:12px;border-radius:16px;background:linear-gradient(145deg,color-mix(in srgb,var(--surface) 92%,#02070d 8%) 0%,color-mix(in srgb,var(--surface) 82%,#02070d 18%) 100%);border:1px solid color-mix(in srgb,var(--primary) 24%,var(--surface) 76%);box-shadow:0 18px 36px rgba(0,0,0,.28)}.nav-dropdown-actions{display:grid;gap:12px}.nav-dropdown-header{font-size:.75rem;text-transform:uppercase;letter-spacing:.12em;color:color-mix(in srgb,var(--text-light) 68%,#ffffff 32%);margin-bottom:12px}.nav-dropdown-list{display:flex;flex-direction:column}.nav-dropdown-footer{margin-top:16px;padding-top:12px;border-top:1px solid color-mix(in srgb,var(--primary) 18%,var(--surface) 82%)}.nav-dropdown-footer .nav-dropdown-link{margin-top:0}.nav-dropdown-footer .nav-dropdown-link + .nav-dropdown-link{margin-top:6px}.nav-dropdown-link{display:flex;flex-direction:column;gap:4px;padding:12px 14px;border-radius:14px;border:1px solid transparent;text-decoration:none;color:color-mix(in srgb,var(--text-light) 92%,#ffffff 8%);background:transparent;transition:border-color .2s ease,background .2s ease,color .2s ease}.nav-dropdown-list .nav-dropdown-link + .nav-dropdown-link{margin-top:6px}.nav-dropdown-title{font-weight:600;letter-spacing:.01em;display:flex;align-items:center;gap:6px;flex-wrap:wrap}.nav-dropdown-subtitle{font-size:.85rem;color:color-mix(in srgb,var(--text-light) 72%,#ffffff 28%)}.nav-dropdown-badge{font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;padding:2px 6px;border-radius:999px;background:color-mix(in srgb,var(--primary) 40%,var(--surface) 60%);color:color-mix(in srgb,#ffffff 92%,var(--bg) 8%)}.nav-dropdown-link.nav-dropdown-link-recommended{border-color:color-mix(in srgb,var(--primary) 32%,var(--surface) 68%);background:linear-gradient(135deg,color-mix(in srgb,var(--primary) 18%,var(--surface) 82%) 0%,color-mix(in srgb,var(--primary) 22%,var(--surface) 78%) 100%)}.nav-dropdown-link.nav-dropdown-featured{font-weight:600;border-color:color-mix(in srgb,var(--primary) 28%,var(--surface) 72%);background:linear-gradient(135deg,color-mix(in srgb,var(--primary) 16%,var(--surface) 84%) 0%,color-mix(in srgb,var(--primary) 32%,var(--surface) 68%) 100%);color:color-mix(in srgb,var(--text-light) 96%,#ffffff 4%)}.nav-dropdown-link.nav-dropdown-all{font-weight:600;text-align:left;border:1px solid transparent;background:transparent;color:color-mix(in srgb,var(--text-light) 94%,#ffffff 6%);box-shadow:none;padding-inline:10px}.nav-dropdown-link.nav-dropdown-all:hover,.nav-dropdown-link.nav-dropdown-all:focus-visible{background:color-mix(in srgb,var(--surface) 92%,#000 8%);border-color:color-mix(in srgb,var(--primary) 36%,var(--surface) 64%);box-shadow:none}.nav-dropdown-link:hover,.nav-dropdown-link:focus-visible{border-color:color-mix(in srgb,var(--primary) 38%,var(--surface) 62%);background:color-mix(in srgb,var(--surface) 94%,#000 6%);color:color-mix(in srgb,var(--text-light) 98%,#ffffff 2%);outline:none}.nav-dropdown-card{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:12px;padding:12px 14px;border-radius:14px;border:1px solid color-mix(in srgb,var(--primary) 26%,var(--surface) 74%);background:linear-gradient(135deg,color-mix(in srgb,var(--surface) 90%,#000 10%) 0%,color-mix(in srgb,var(--surface) 82%,#000 18%) 100%);color:color-mix(in srgb,var(--text-light) 96%,#ffffff 4%);text-decoration:none;transition:transform .22s ease,border-color .22s ease,background .22s ease,box-shadow .22s ease}.nav-dropdown-card:hover,.nav-dropdown-card:focus-visible{border-color:color-mix(in srgb,var(--primary) 42%,var(--surface) 58%);background:linear-gradient(135deg,color-mix(in srgb,var(--surface) 90%,#000 10%) 0%,color-mix(in srgb,var(--primary) 16%,var(--surface) 84%) 100%);box-shadow:0 16px 32px rgba(0,0,0,.32);transform:translateY(-2px);outline:none}.nav-dropdown-card-copy{display:flex;flex-direction:column;gap:4px}.nav-dropdown-card .nav-dropdown-title{color:color-mix(in srgb,var(--text-light) 98%,#ffffff 2%)}.nav-dropdown-card .nav-dropdown-subtitle{color:color-mix(in srgb,var(--text-light) 80%,#ffffff 20%)}.nav-dropdown-icon{display:inline-flex;align-items:center;justify-content:center;width:52px;height:52px;border-radius:14px;background:radial-gradient(circle at 30% 30%,rgba(255,255,255,.4),transparent 60%),linear-gradient(145deg,color-mix(in srgb,var(--primary) 78%,#0b1621 22%) 0%,color-mix(in srgb,var(--primary) 54%,#02070d 46%) 100%);color:color-mix(in srgb,#ffffff 94%,var(--bg) 6%);box-shadow:0 10px 26px rgba(0,0,0,.3)}.nav-dropdown-icon svg{width:28px;height:28px;color:inherit}.nav-dropdown-card .nav-dropdown-badge{margin-left:6px}.nav-dropdown-footer-inline{margin-top:14px}.nav-project-grid{display:grid;grid-template-columns:1fr;gap:8px}.nav-dropdown-inner-portfolio{grid-template-columns:1fr;gap:12px;align-items:start;max-width:520px}.nav-project-card{display:grid;grid-template-columns:30px 82px minmax(0,1fr);align-items:center;gap:10px;border-radius:10px;border:1px solid color-mix(in srgb,var(--text-light) 10%,transparent);background:color-mix(in srgb,var(--surface) 96%,var(--surface-light) 4%);text-decoration:none;color:inherit;padding:8px 10px;transition:border-color .18s ease,box-shadow .18s ease,background .18s ease}.nav-project-card:hover,.nav-project-card:focus-visible{box-shadow:0 8px 18px rgba(9,31,59,.08);background:color-mix(in srgb,var(--primary) 6%,var(--surface) 94%);border-color:color-mix(in srgb,var(--primary) 30%,transparent);outline:none}.nav-project-thumb{display:inline-block;width:82px;height:62px;position:relative;overflow:hidden;background-size:cover;background-position:center;background-repeat:no-repeat;border-radius:8px;border:1px solid color-mix(in srgb,var(--text-light) 10%,transparent);box-shadow:0 2px 8px rgba(9,31,59,.08);filter:saturate(1)}.nav-project-thumb-media{width:100%;height:100%;object-fit:cover;display:none;border-radius:inherit;pointer-events:none}.nav-project-card.is-video-active .nav-project-thumb-media{display:block}@media (prefers-reduced-motion:reduce){.nav-project-thumb-media{display:none}}.nav-project-meta{display:flex;flex-direction:column;gap:2px;min-width:0}.nav-project-rank{display:inline-flex;align-items:center;justify-content:center;width:30px;min-width:30px;height:auto;align-self:stretch;border-right:1px solid color-mix(in srgb,var(--text-light) 10%,transparent);background:transparent;box-shadow:none;color:color-mix(in srgb,var(--text-muted) 84%,var(--text-light) 16%);font-size:0;font-weight:700;letter-spacing:.08em}.nav-project-rank::before{font-size:.72rem;line-height:1}.nav-project-card:nth-child(1) .nav-project-rank::before{content:"01"}.nav-project-card:nth-child(2) .nav-project-rank::before{content:"02"}.nav-project-card:nth-child(3) .nav-project-rank::before{content:"03"}.nav-project-card:nth-child(4) .nav-project-rank::before{content:"04"}.nav-project-card:nth-child(5) .nav-project-rank::before{content:"05"}.nav-project-preview{position:fixed;width:clamp(320px,38vw,520px);aspect-ratio:16 / 9;height:auto;border-radius:18px;overflow:hidden;border:1px solid color-mix(in srgb,var(--primary) 26%,var(--surface) 74%);background-image:var(--preview-image,linear-gradient(135deg,color-mix(in srgb,var(--surface) 88%,#000 12%) 0%,color-mix(in srgb,var(--primary) 18%,var(--surface) 82%) 100%));background-size:contain;background-position:center;background-repeat:no-repeat;box-shadow:0 18px 32px rgba(0,0,0,.32);opacity:0;transform:translateY(8px);transition:opacity .25s ease,transform .25s ease,background-image .2s ease;pointer-events:none;z-index:1201}.nav-project-preview.nav-project-preview-visible{opacity:1;transform:translateY(0)}.nav-project-preview.nav-project-preview-animating{animation:nav-preview-fade .25s ease}@keyframes nav-preview-fade{from{opacity:.35}to{opacity:1}}.nav-project-badge{align-self:flex-start;padding:3px 7px;font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;border-radius:999px;background:color-mix(in srgb,var(--primary) 38%,var(--surface) 62%);color:color-mix(in srgb,#ffffff 94%,var(--bg) 6%)}.nav-dropdown-column-highlights .nav-dropdown-header{margin-bottom:4px}.nav-dropdown-column-prefilters .nav-dropdown-header{margin-bottom:8px}.nav-prefilter-actions{display:grid;gap:10px}.nav-prefilter-groups{display:grid;gap:14px;height:100%}.nav-prefilter-group{display:flex;flex-direction:column;gap:8px}.nav-dropdown-column,.nav-dropdown-column-actions,.nav-dropdown-column-prefilters{height:100%}.nav-prefilter-link{display:flex;flex-direction:column;gap:4px;padding:12px 14px;border-radius:14px;border:1px dashed color-mix(in srgb,var(--primary) 28%,var(--surface) 72%);background:color-mix(in srgb,var(--surface) 92%,#000 8%);color:color-mix(in srgb,var(--text-light) 96%,#ffffff 4%);text-decoration:none;transition:border-color .2s ease,background .2s ease,transform .2s ease,box-shadow .2s ease}.nav-prefilter-link:hover,.nav-prefilter-link:focus-visible{border-color:color-mix(in srgb,var(--primary) 42%,var(--surface) 58%);background:linear-gradient(135deg,color-mix(in srgb,var(--surface) 90%,#000 10%) 0%,color-mix(in srgb,var(--primary) 18%,var(--surface) 82%) 100%);transform:translateY(-1px);box-shadow:0 12px 26px rgba(0,0,0,.28);outline:none}.nav-highlight-card{display:flex;flex-direction:column;gap:4px;padding:12px 14px;border-radius:14px;border:1px solid color-mix(in srgb,var(--primary) 24%,var(--surface) 76%);background:linear-gradient(135deg,color-mix(in srgb,var(--surface) 92%,#000 8%) 0%,color-mix(in srgb,var(--surface) 84%,#000 16%) 100%);color:color-mix(in srgb,var(--text-light) 96%,#ffffff 4%);text-decoration:none;transition:transform .2s ease,border-color .2s ease,background .2s ease,box-shadow .2s ease}.nav-highlight-card:hover,.nav-highlight-card:focus-visible{transform:translateY(-2px);border-color:color-mix(in srgb,var(--primary) 40%,var(--surface) 60%);box-shadow:0 16px 28px rgba(0,0,0,.3);outline:none}.nav-highlight-label{font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;color:color-mix(in srgb,var(--text-light) 72%,#ffffff 28%)}.nav-dropdown-inner.nav-dropdown-inner-contact{grid-template-columns:minmax(0,1fr)}.nav-dropdown-inner.nav-dropdown-inner-simple{grid-template-columns:minmax(0,1fr);gap:12px;align-items:start}@media (max-width:1200px){.nav-dropdown-inner{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.nav-dropdown-column-actions{padding:10px}.nav-project-grid{grid-template-columns:1fr}#nav-dropdown-resume{width:min(440px,88vw)}#nav-dropdown-contact{width:min(440px,88vw)}}.nav-item-portfolio:hover .nav-link-caret,.nav-item-portfolio:focus-within .nav-link-caret,.nav-item-portfolio.dropdown-open .nav-link-caret,.nav-item-contributions:hover .nav-link-caret,.nav-item-contributions:focus-within .nav-link-caret,.nav-item-contributions.dropdown-open .nav-link-caret,.nav-item-resume:hover .nav-link-caret,.nav-item-resume:focus-within .nav-link-caret,.nav-item-resume.dropdown-open .nav-link-caret,.nav-item-contact:hover .nav-link-caret,.nav-item-contact:focus-within .nav-link-caret,.nav-item-contact.dropdown-open .nav-link-caret{transform:translateY(2px);border-top-color:color-mix(in srgb,var(--primary) 80%,#ffffff 20%)}.nav-item-contact.dropdown-open .nav-link.nav-link-cta{transform:translateY(-1px);box-shadow:0 16px 32px rgba(0,0,0,.32)}@media (hover:hover) and (pointer:fine){.nav-dropdown{display:block;position:absolute;top:calc(100% + var(--nav-bottom-gap,var(--nav-block-padding)) - var(--nav-border-width));left:50%;margin-top:0;width:min(520px,78vw);max-width:540px;padding:18px;border-radius:0 0 20px 20px;overflow:hidden;background:var(--surface);border:1px solid color-mix(in srgb,var(--primary) 22%,var(--surface) 78%);border-top:none;box-shadow:0 24px 48px rgba(0,0,0,.45);transform:translate3d(calc(-50% + var(--dropdown-shift,0px)),-2px,0) scale(.98);opacity:0;pointer-events:none;max-height:0;-webkit-clip-path:inset(0 0 100% 0 round 0 0 20px 20px);clip-path:inset(0 0 100% 0 round 0 0 20px 20px);z-index:1100;transition:max-height .24s ease,-webkit-clip-path .24s ease,clip-path .24s ease,opacity .25s ease,transform .25s ease}#nav-dropdown-portfolio{width:min(460px,74vw);max-width:500px;--nav-dropdown-max:780px}#nav-dropdown-contributions{width:min(640px,78vw)}#nav-dropdown-resume{width:min(340px,64vw)}#nav-dropdown-contact{width:min(340px,64vw)}.nav-item-portfolio:hover .nav-dropdown,.nav-item-portfolio:focus-within .nav-dropdown,.nav-item-portfolio.dropdown-open .nav-dropdown,.nav-item-contributions:hover .nav-dropdown,.nav-item-contributions:focus-within .nav-dropdown,.nav-item-contributions.dropdown-open .nav-dropdown,.nav-item-resume:hover .nav-dropdown,.nav-item-resume:focus-within .nav-dropdown,.nav-item-resume.dropdown-open .nav-dropdown,.nav-item-contact:hover .nav-dropdown,.nav-item-contact:focus-within .nav-dropdown,.nav-item-contact.dropdown-open .nav-dropdown{opacity:1;transform:translate3d(calc(-50% + var(--dropdown-shift,0px)),0,0) scale(1);pointer-events:auto;max-height:var(--nav-dropdown-max,480px);-webkit-clip-path:inset(0 0 0 0 round 0 0 20px 20px);clip-path:inset(0 0 0 0 round 0 0 20px 20px)}.nav-item-portfolio::after,.nav-item-contributions::after,.nav-item-resume::after,.nav-item-contact::after{content:"";position:absolute;left:-12px;right:-12px;top:100%;height:calc(var(--nav-bottom-gap,var(--nav-block-padding)) + 12px);pointer-events:none}.nav-item-portfolio:hover::after,.nav-item-portfolio:focus-within::after,.nav-item-portfolio.dropdown-open::after,.nav-item-contributions:hover::after,.nav-item-contributions:focus-within::after,.nav-item-contributions.dropdown-open::after,.nav-item-resume:hover::after,.nav-item-resume:focus-within::after,.nav-item-resume.dropdown-open::after,.nav-item-contact:hover::after,.nav-item-contact:focus-within::after,.nav-item-contact.dropdown-open::after{pointer-events:auto}}.brand{display:flex;align-items:center;gap:clamp(12px,2vw,18px);text-decoration:none;color:inherit}.brand-logo{width:var(--brand-logo-size);height:var(--brand-logo-size);border-radius:12px;filter:drop-shadow(0 10px 18px rgba(2,6,23,.32));transition:transform .3s ease}.brand:hover .brand-logo{transform:scale(1.03)}.brand-name{display:flex;align-items:center;gap:clamp(10px,1.6vw,16px);font-family:'Inter',sans-serif;color:var(--text-light);min-width:0}.brand-title{font-size:var(--brand-title-size);font-weight:600;letter-spacing:.3px;line-height:1.1;white-space:nowrap}.brand-divider{width:2px;min-height:1.8em;background:linear-gradient(180deg,var(--brand-cyan),var(--primary));border-radius:999px;align-self:stretch}.brand-tagline{display:inline-flex;flex-wrap:wrap;column-gap:.35rem;row-gap:0;font-size:var(--brand-tagline-size);font-weight:500;color:color-mix(in srgb,var(--text-light) 92%,#ffffff 8%);line-height:1.1}.brand-tagline-chunk{white-space:nowrap}@media (max-width:1100px) and (min-width:769px){.nav .brand-name{gap:6px;flex-direction:column;align-items:flex-start}.nav .brand-title{display:inline-block}.nav .brand-title::after{content:"";display:block;width:100%;height:2px;margin:4px 0 2px;background:linear-gradient(90deg,color-mix(in srgb,var(--primary) 18%,transparent) 0%,color-mix(in srgb,var(--primary) 72%,transparent) 52%,color-mix(in srgb,var(--primary) 30%,transparent) 100%);border-radius:2px}.nav .brand-divider{display:none}.nav .brand-tagline{display:flex;width:100%;font-size:clamp(12px,1.3vw,14px);text-align:left}}}@layer components{.hero{min-height:calc(100svh - var(--nav-height,72px));margin:0 0 clamp(1.5rem,4vh,3rem);padding:clamp(4.2rem,8vh,6.4rem) 0 clamp(4rem,8vh,5.4rem);display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;isolation:isolate;text-align:center;background:linear-gradient(90deg,color-mix(in srgb,var(--brand-cloud) 5%,transparent) 1px,transparent 1px),linear-gradient(0deg,color-mix(in srgb,var(--brand-cloud) 4%,transparent) 1px,transparent 1px),linear-gradient(155deg,color-mix(in srgb,var(--brand-navy) 94%,#020509 6%) 0%,color-mix(in srgb,var(--surface) 88%,#020509 12%) 48%,#09111f 100%);background-size:56px 56px,56px 56px,auto}body:is([data-page="home"],.home-pattern-page) .hero{margin-bottom:0}.hero.hero--default{min-height:calc(100svh - var(--nav-height,72px))}.hero.hero--tools,.hero.hero--games{min-height:auto;margin:0;justify-content:flex-start;text-align:left}.hero.hero--tools::before,.hero.hero--tools::after,.hero.hero--games::before,.hero.hero--games::after{display:none}.hero.hero--tools{padding:clamp(1.2rem,3.2vh,1.9rem) 0 clamp(1.5rem,4vh,2.3rem);background:radial-gradient(900px circle at 8% 12%,color-mix(in srgb,var(--primary) 28%,transparent),transparent 60%),radial-gradient(800px circle at 92% 0%,color-mix(in srgb,var(--primary) 22%,#ffffff 8%),transparent 55%),linear-gradient(160deg,color-mix(in srgb,var(--surface) 90%,#070e15 10%) 0%,color-mix(in srgb,var(--surface) 78%,#050b12 22%) 100%);border-bottom:1px solid color-mix(in srgb,var(--primary) 25%,transparent);box-shadow:0 30px 60px rgba(0,0,0,.4)}.hero.hero--tools .wrapper{max-width:var(--container-max);display:flex;align-items:center;min-width:0;gap:0;text-align:left}.hero.hero--tools :is(.hero-eyebrow,h1,.hero-tagline,.hero-status,.cta-group),.hero.hero--games :is(.hero-eyebrow,h1,.hero-tagline,.hero-status,.cta-group){opacity:1;transform:none;animation:none}.hero.hero--tools .hero-eyebrow,.hero.hero--games .hero-eyebrow{margin:0}.hero.hero--games{padding:clamp(3.4rem,7vh,4.8rem) 0;background:linear-gradient(140deg,color-mix(in srgb,var(--surface) 92%,#040910 8%) 0%,color-mix(in srgb,var(--surface) 80%,#040910 20%) 100%);border-bottom:1px solid color-mix(in srgb,var(--primary) 18%,transparent);box-shadow:0 22px 48px rgba(0,0,0,.32)}.hero.hero--games .wrapper{max-width:min(1080px,calc(var(--container-max) + 80px));display:grid;gap:clamp(1.2rem,2.4vw,1.8rem);text-align:left;justify-items:start;align-items:start}.hero.hero--games h1,.hero.hero--games p{margin:0}.hero.hero--games p{max-width:70ch;color:var(--text-muted);font-size:1.05rem;line-height:1.7}@keyframes heroFade{from{opacity:0;transform:translateY(32px)}to{opacity:1;transform:none}}.hero::before{content:"";position:absolute;inset:-18% -28% -32%;z-index:-1;background:var(--hero-art-layer,url("../img/brand/23-hero-general-light.png")) 82% 38% / clamp(340px,42vw,560px) auto no-repeat,radial-gradient(120% 90% at 12% calc(18% + var(--hero-parallax,0px)),color-mix(in srgb,var(--brand-cyan) 20%,transparent) 0%,transparent 62%);opacity:.82;transition:opacity .4s ease}.hero::after{content:"";position:absolute;inset:-40%;z-index:-2;background:linear-gradient(135deg,transparent 0 46%,color-mix(in srgb,var(--brand-cyan) 18%,transparent) 46% 47%,transparent 47% 100%),radial-gradient(32% 32% at var(--mx,48%) calc(var(--my,38%) + var(--hero-parallax,0px)),color-mix(in srgb,var(--primary) 16%,transparent) 0%,transparent 70%);opacity:.62;pointer-events:none}.hero .wrapper{width:100%;max-width:min(1040px,var(--container-max));margin-inline:auto;padding-inline:clamp(20px,5vw,48px);display:flex;flex-direction:column;align-items:center;gap:clamp(1.2rem,3vh,2rem);text-align:center}.hero-avatar{width:clamp(108px,12vw,176px);height:auto;aspect-ratio:1;border-radius:999px;object-fit:cover;border:3px solid color-mix(in srgb,var(--primary) 22%,transparent);box-shadow:0 20px 46px rgba(0,0,0,.35)}.hero-eyebrow{margin:0;max-width:100%;box-sizing:border-box;font-size:.85rem;letter-spacing:.22em;text-transform:uppercase;color:color-mix(in srgb,var(--primary) 78%,#ffffff 22%)}.hero h1{margin:0;max-width:100%;box-sizing:border-box;font-size:clamp(2.6rem,4.3vw,3.8rem);line-height:1.15;letter-spacing:.4px}.hero-tagline{margin:0;font-size:1.12rem;line-height:1.75;color:var(--text-muted);width:min(100%,48ch);max-width:100%;box-sizing:border-box}.hero-noscript-hint{margin:0;font-size:.95rem;line-height:1.5;color:color-mix(in srgb,var(--text-muted) 90%,#fff 10%);max-width:48ch}.hero-status{display:inline-flex;align-items:center;gap:8px;max-width:100%;box-sizing:border-box;padding:7px 20px;border-radius:999px;font-size:.82rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;background:color-mix(in srgb,var(--surface) 80%,#000 20%);color:color-mix(in srgb,var(--primary) 78%,#fff 22%);box-shadow:0 10px 26px rgba(0,0,0,.28);border:1px solid color-mix(in srgb,var(--primary) 24%,transparent)}.hero-proof-row{width:min(100%,920px);list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.hero-proof-row li{min-width:0;padding:12px 14px;border-radius:8px;border:1px solid color-mix(in srgb,var(--brand-cyan) 24%,transparent);background:color-mix(in srgb,var(--surface) 62%,transparent);box-shadow:0 12px 28px rgba(2,6,23,.22)}.hero-proof-row strong,.hero-proof-row span{display:block}.hero-proof-row strong{font-family:"Inter",sans-serif;font-size:clamp(1.15rem,2.2vw,1.6rem);line-height:1.05;color:var(--brand-cloud)}.hero-proof-row span{margin-top:5px;color:color-mix(in srgb,var(--text-muted) 88%,#ffffff 12%);font-size:.82rem;line-height:1.35}.cta-group{display:flex;justify-content:center;gap:16px;flex-wrap:wrap}.hero-cta{min-width:0}.hero-kpis{--kpi-gap:clamp(1rem,2vw,1.4rem);--kpi-inline-pad:clamp(1.25rem,1.9vw,1.7rem);--kpi-block-pad:clamp(1.15rem,1.8vw,1.55rem);--kpi-value-height:clamp(44px,4.2vw,58px);width:100%;max-width:min(1120px,var(--container-max));margin-inline:auto;list-style:none;margin-top:clamp(2.1rem,4.5vh,3.4rem);margin-bottom:0;padding:0;display:flex;flex-wrap:wrap;justify-content:center;gap:var(--kpi-gap);align-items:stretch}.hero-kpi{min-width:240px;flex:1 1 280px;max-width:320px;opacity:0;animation:heroFade .9s forwards}.hero-kpi-link{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:clamp(12px,1.4vw,18px);width:100%;height:100%;padding:var(--kpi-block-pad) var(--kpi-inline-pad) clamp(.75rem,1vw,.95rem);border-radius:22px;background:linear-gradient(155deg,color-mix(in srgb,var(--surface) 92%,#02070f 8%) 0%,color-mix(in srgb,var(--surface) 80%,#050913 20%) 100%);border:1px solid color-mix(in srgb,var(--primary) 28%,transparent);box-shadow:0 18px 44px rgba(5,8,20,.35);color:inherit;text-align:center;position:relative;overflow:hidden;isolation:isolate;cursor:pointer}.hero-kpi-link,.hero-kpi-link:hover,.hero-kpi-link:visited{text-decoration:none;text-decoration-line:none}.hero-kpi-link:focus-visible{outline:3px solid var(--focus);outline-offset:6px;border-radius:16px}.hero-kpi-link::before{content:"";position:absolute;inset:1px;border-radius:inherit;background:radial-gradient(120% 120% at 12% 0%,color-mix(in srgb,var(--primary) 32%,transparent) 0%,transparent 55%);opacity:.5;pointer-events:none;z-index:0}.hero-kpi-link > *{position:relative;z-index:1;text-decoration:none}.hero-kpi:nth-child(1){animation-delay:.95s}.hero-kpi:nth-child(2){animation-delay:1.05s}.hero-kpi:nth-child(3){animation-delay:1.15s}.hero-kpi-value{display:flex;align-items:flex-end;justify-content:center;flex-wrap:wrap;column-gap:8px;row-gap:4px;font-family:'Inter',sans-serif;font-size:clamp(1.6rem,3.2vw,2.2rem);font-weight:600;color:color-mix(in srgb,var(--text-light) 95%,#fff 5%);min-height:var(--kpi-value-height);text-align:center;white-space:normal;word-break:break-word;line-height:1.15;letter-spacing:.02em}.hero-kpi-label{display:block;margin-top:6px;font-size:.92rem;color:color-mix(in srgb,var(--text-muted) 86%,#fff 14%);line-height:1.65;letter-spacing:.025em;max-width:32ch;text-align:center;margin-inline:auto}.chevron-hint{position:absolute;left:50%;bottom:16px;transform:translate(-50%,0);display:inline-flex;align-items:center;gap:.5rem;padding:.45rem .9rem .45rem .75rem;color:var(--primary);font-size:.82rem;font-weight:500;letter-spacing:.08em;text-transform:uppercase;text-decoration:none;border:1px solid color-mix(in srgb,var(--primary) 35%,transparent);border-radius:999px;background:color-mix(in srgb,var(--surface) 88%,#0b131f 12%);box-shadow:0 12px 30px rgba(3,10,18,.35);opacity:.95;cursor:pointer;transition:opacity .25s ease,background .2s ease,border-color .2s ease;animation:chevron-bob 1.8s infinite ease-in-out}.chevron-hint:hover{background:color-mix(in srgb,var(--surface) 84%,#0b131f 16%);border-color:color-mix(in srgb,var(--primary) 50%,transparent)}.chevron-hint:focus-visible{outline:2px solid color-mix(in srgb,var(--primary) 80%,#fff 20%);outline-offset:4px}.chevron-hint.fade{opacity:0;pointer-events:none;animation-play-state:paused}.chevron-label{line-height:1.1}.chevron-hint svg{width:32px;height:32px;display:block;flex-shrink:0}@keyframes chevron-bob{0%,100%{transform:translate(-50%,0)}50%{transform:translate(-50%,6px)}}@media (min-width:769px){.hero-kpi{flex:0 1 280px}.hero-kpi-link{width:auto;max-width:320px;margin-inline:auto}}@media (max-width:1100px){.hero-kpis{justify-content:stretch}}@media (min-width:769px){body:is([data-page="home"],.home-pattern-page) .hero .cta-group .hero-cta{min-width:240px}}@media (max-width:768px){.hero{--hero-action-width:min(520px,92vw)}body:not([data-page="home"]):not(.home-pattern-page) .hero.hero--default{min-height:auto;margin-bottom:0;padding:var(--mobile-section-y) 0}.hero.hero--tools,.hero.hero--games{padding:var(--mobile-section-y-tight) 0;box-shadow:0 12px 26px rgba(0,0,0,.28)}.hero .wrapper{align-items:center;text-align:center;padding-inline:var(--mobile-page-gutter);padding-bottom:clamp(1.6rem,5vh,2.8rem);padding-top:clamp(1rem,3vh,1.8rem)}.hero .wrapper :is(.hero-eyebrow,.hero-tagline,.hero-status){text-align:center}.cta-group{justify-content:center;width:var(--hero-action-width);max-width:100%;margin-inline:auto}.cta-group .hero-cta{width:100%}.hero-proof-row{grid-template-columns:repeat(2,minmax(0,1fr));width:var(--hero-action-width);max-width:100%;gap:8px}.hero-proof-row li{padding:10px 12px}.hero-kpis{flex-direction:column;align-items:center;margin-top:clamp(1.25rem,5vh,2rem);gap:clamp(1.1rem,4.5vw,1.6rem)}.hero-kpi{width:var(--hero-action-width);max-width:100%;flex-basis:auto;margin-inline:auto}.hero-kpi-link{width:100%;border-radius:14px;box-shadow:0 12px 26px rgba(5,8,20,.26);padding:clamp(1.1rem,4.5vw,1.5rem) clamp(1.2rem,5.4vw,1.6rem) clamp(.7rem,3vw,1rem);text-align:center;align-items:center}.hero-kpi-value{justify-content:center;text-align:center;font-size:clamp(1.32rem,5vw,1.95rem)}.hero-kpi-label{text-align:center;margin-inline:auto;font-size:clamp(.88rem,3.8vw,1rem)}body:is([data-page="home"],.home-pattern-page) .chevron-hint{display:none}body:not([data-page="home"]):not(.home-pattern-page) .chevron-hint{display:inline-flex}}@media (max-width:640px){.hero.hero--tools{padding:clamp(1.6rem,5vh,2.2rem) 0 clamp(1.8rem,5.6vh,2.6rem)}.hero{padding-inline:0}.hero .wrapper{align-items:center;text-align:center}.hero::before{opacity:.46;background-position:118% 52%,center;background-size:min(210px,58vw) auto,auto}.hero-eyebrow{max-width:100%;font-size:.72rem;letter-spacing:.16em;line-height:1.5;text-wrap:balance;overflow-wrap:anywhere}.hero .wrapper :is(.hero-eyebrow,.hero-tagline,.hero-status){text-align:center}.hero-status{width:100%;justify-content:center;white-space:normal}.cta-group{width:100%;flex-direction:column;align-items:center}.hero-cta{width:100%;justify-content:center}.hero-proof-row{width:100%;grid-template-columns:repeat(2,minmax(0,1fr))}.hero-kpi{width:100%;max-width:100%}.hero-kpis{grid-template-columns:minmax(0,1fr)}}@media (prefers-reduced-motion:reduce){.hero-eyebrow,.hero h1,.hero-tagline,.hero-status,.hero-proof-row,.cta-group,.hero-kpis,.hero-kpi{animation:none !important;opacity:1 !important;transform:none !important}.hero::before,.hero::after{transition:none !important;opacity:.4 !important}}}@layer components{.btn-primary,.btn-secondary,.btn-ghost,.btn-icon{display:inline-flex;align-items:center;justify-content:center;font-family:'Inter';font-weight:500;border-radius:999px;cursor:pointer;transition:transform var(--motion-base) var(--easing-standard),box-shadow var(--motion-base) var(--easing-standard),background var(--motion-fast) var(--easing-standard),color var(--motion-fast) var(--easing-standard),border-color var(--motion-fast) var(--easing-standard);position:relative;overflow:hidden}.btn-primary{padding:14px 30px;background:linear-gradient( 135deg,color-mix(in srgb,var(--accent-1) 92%,#ffffff 8%) 0%,color-mix(in srgb,var(--accent-3) 68%,#0A1A1F 32%) 100% );color:var(--interactive-text);border:1px solid var(--interactive-border-hover);box-shadow:var(--interactive-shadow-rest)}.btn-primary::after{content:"";position:absolute;inset:0;background:linear-gradient(140deg,rgba(255,255,255,.25),rgba(255,255,255,0));opacity:0;transition:opacity var(--motion-fast) var(--easing-standard)}.btn-primary:hover{transform:translateY(var(--hover-lift-strong));box-shadow:var(--interactive-shadow-hover)}.btn-primary:hover::after{opacity:1}.btn-primary:disabled{background:color-mix(in srgb,var(--surface) 82%,#0f141d 18%);color:color-mix(in srgb,var(--text-light) 58%,#ffffff 42%);border-color:color-mix(in srgb,var(--text-light) 22%,transparent);box-shadow:none;transform:none;cursor:not-allowed;opacity:.8}.btn-primary:disabled::after{opacity:0}.btn-secondary{padding:14px 30px;border:1px solid var(--interactive-border);color:var(--interactive-text);background:var(--interactive-bg);box-shadow:var(--interactive-shadow-rest)}.btn-secondary:hover{transform:translateY(var(--hover-lift));background:var(--interactive-bg-hover);border-color:var(--interactive-border-hover);color:var(--text-1)}.btn-secondary:disabled{background:color-mix(in srgb,var(--surface) 85%,#0f141d 15%);color:color-mix(in srgb,var(--text-light) 55%,#ffffff 45%);border-color:color-mix(in srgb,var(--text-light) 20%,transparent);box-shadow:none;transform:none;cursor:not-allowed;opacity:.8}.btn-ghost{padding:12px 22px;border:1px dashed var(--interactive-border);color:var(--interactive-text);background:transparent;box-shadow:none}.btn-ghost:hover{border-style:solid;border-color:var(--interactive-border-hover);color:var(--text-1);background:var(--interactive-bg-hover)}.btn-ghost:disabled{border-color:color-mix(in srgb,var(--text-light) 20%,transparent);color:color-mix(in srgb,var(--text-light) 55%,#ffffff 45%);background:transparent;box-shadow:none;transform:none;cursor:not-allowed;opacity:.7}.btn-icon{width:44px;height:44px;border:1px solid var(--interactive-border);color:var(--accent-2);background:var(--interactive-bg);transition:transform var(--motion-base) var(--easing-standard),box-shadow var(--motion-base) var(--easing-standard),background var(--motion-fast) var(--easing-standard),color var(--motion-fast) var(--easing-standard),border-color var(--motion-fast) var(--easing-standard)}.btn-icon i{font-size:22px;color:currentColor}.btn-icon svg{width:22px;height:22px;color:currentColor;fill:none;stroke:currentColor;shape-rendering:geometricPrecision;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.btn-icon svg.brand-fill{fill:currentColor;stroke:none}.btn-icon img{width:22px;height:22px;object-fit:contain;display:block}.btn-icon .icon{display:block;width:22px;height:22px}.btn-icon .icon-github{background-color:currentColor;-webkit-mask-image:url('../../img/icons/github-icon.png');mask-image:url('../../img/icons/github-icon.png');-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center;-webkit-mask-size:contain;mask-size:contain}.btn-icon:hover{background:var(--interactive-bg-hover);color:var(--text-1);border-color:var(--interactive-border-hover);transform:translateY(var(--hover-lift));box-shadow:var(--interactive-shadow-hover)}.btn-icon.btn-icon-featured{width:50px;height:50px;background:linear-gradient( 135deg,color-mix(in srgb,var(--accent-1) 88%,#ffffff 12%) 0%,color-mix(in srgb,var(--accent-3) 65%,#071219 35%) 100% );color:var(--interactive-text);border-color:var(--interactive-border-hover);box-shadow:var(--interactive-shadow-hover)}.btn-icon.btn-icon-featured svg{stroke-width:1.6}.btn-icon.btn-icon-featured:hover{background:linear-gradient( 135deg,color-mix(in srgb,var(--accent-1) 94%,#ffffff 6%) 0%,color-mix(in srgb,var(--accent-3) 72%,#030b12 28%) 100% );color:var(--text-1);border-color:var(--interactive-border-hover);transform:translateY(var(--hover-lift-strong)) scale(var(--hover-scale));box-shadow:var(--interactive-shadow-strong)}.btn-icon:hover i,.btn-icon:hover svg{color:inherit}.btn-primary:focus-visible,.btn-secondary:focus-visible,.btn-ghost:focus-visible,.btn-icon:focus-visible{outline:var(--focus-ring);outline-offset:3px}}@layer components{.grid-container{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:clamp(24px,3vw,32px);width:100%;max-width:min(var(--container-max),960px);margin:clamp(24px,4vw,36px) auto;justify-content:center}.icon-info{position:relative;background:var(--interactive-bg);border:1px solid var(--interactive-border);border-radius:20px;padding:28px 28px 26px;text-align:left;color:var(--interactive-text);display:flex;flex-direction:column;gap:12px;align-items:flex-start;opacity:0;transform:translateY(18px);transition:opacity .45s var(--easing-standard),transform var(--motion-base) var(--easing-standard),box-shadow var(--motion-base) var(--easing-standard),border-color var(--motion-fast) var(--easing-standard),background var(--motion-fast) var(--easing-standard);box-shadow:var(--interactive-shadow-rest)}.icon-info::before{content:"";position:absolute;inset:18px 18px auto 18px;height:3px;border-radius:999px;background:linear-gradient(90deg,color-mix(in srgb,var(--accent-1) 78%,#ffffff 22%) 0%,color-mix(in srgb,var(--accent-3) 58%,#0A1A1F 42%) 100%);opacity:.75;pointer-events:none}.icon-info svg{width:32px;height:32px;color:color-mix(in srgb,var(--accent-1) 82%,#ffffff 18%);shape-rendering:geometricPrecision}.icon-info p{margin:0;font-family:'Inter';font-weight:600;font-size:1.06rem;letter-spacing:.02em}.icon-info small{color:var(--text-2);line-height:1.6}.icon-info:hover{transform:translateY(var(--hover-lift));box-shadow:var(--interactive-shadow-hover);border-color:var(--interactive-border-hover);background:var(--interactive-bg-hover)}@keyframes focusIn{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}#about-me.reveal.active .icon-info{animation:focusIn .45s forwards}#about-me.reveal.active .icon-info:nth-child(2){animation-delay:.08s}#about-me.reveal.active .icon-info:nth-child(3){animation-delay:.16s}#about-me.reveal.active .icon-info:nth-child(4){animation-delay:.24s}#about-me.reveal.active .icon-info:nth-child(5){animation-delay:.32s}#about-me.reveal.active .icon-info:nth-child(6){animation-delay:.40s}#about-me .section-title{text-align:center}#about-me .skill-subtitle{margin:10px auto 0;max-width:70ch;color:var(--text-muted);font-size:1.02rem;line-height:1.7;text-align:center}.skill-note{display:inline-flex;align-items:center;gap:6px;font-size:0.9rem;padding:6px 14px;border-radius:999px;background:color-mix(in srgb,var(--surface) 85%,#000 15%);border:1px solid color-mix(in srgb,var(--primary) 24%,transparent);margin-top:8px}@media (max-width:768px){.icon-info{align-items:center;text-align:center;padding:24px 22px 22px}.icon-info::before{inset:16px 28px auto 28px}.icon-info p{font-size:1.02rem}.icon-info small{line-height:1.5}}@media (max-width:768px){#about-me .grid-container{justify-items:center}#about-me .grid-container .icon-info{width:min(100%,480px);max-width:100%;box-sizing:border-box;margin-inline:auto}}html.no-js .icon-info{opacity:1;transform:none}@media (prefers-reduced-motion:reduce){.icon-info{opacity:1 !important;transform:none !important}}}@layer components{.audience-gateway-hero{padding-bottom:clamp(2.2rem,5vw,3.6rem)}.audience-gateway-hero .hero-tagline{max-width:62ch}.audience-switch-grid,.audience-proof-grid,.audience-feature-grid,.audience-fit-grid{display:grid;gap:18px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.audience-switch-grid{width:min(1120px,100%);margin-top:1.25rem}.audience-switch-card,.audience-proof-card,.audience-feature-card,.audience-fit-card{padding:22px;border-radius:8px;border:1px solid color-mix(in srgb,var(--primary) 16%,transparent);background:color-mix(in srgb,var(--surface) 95%,#02070d 5%);box-shadow:0 18px 34px rgba(0,0,0,.18)}.audience-switch-card{display:grid;gap:12px;text-decoration:none;color:inherit;transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease}.audience-switch-card:hover,.audience-switch-card:focus-visible,.audience-feature-card:hover,.audience-feature-card:focus-visible{transform:translateY(-2px);border-color:color-mix(in srgb,var(--primary) 38%,transparent);box-shadow:0 20px 40px color-mix(in srgb,var(--primary) 16%,transparent)}.audience-switch-image{aspect-ratio:16 / 10;border-radius:8px;overflow:hidden;background:color-mix(in srgb,var(--surface) 88%,#000 12%)}.audience-switch-image img{width:100%;height:100%;object-fit:cover;display:block}.audience-switch-meta,.audience-feature-card{display:grid;gap:10px}.audience-switch-meta strong,.audience-proof-card strong,.audience-feature-card strong,.audience-fit-card strong{color:var(--text-light);font-family:"Inter";font-size:1rem}.audience-switch-meta span,.audience-proof-card span,.audience-feature-card span,.audience-fit-card span{color:var(--text-muted);line-height:1.65}.audience-switch-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.audience-proof-card{display:grid;gap:6px;text-align:center}.audience-proof-value{font-family:"Inter";font-size:clamp(1.55rem,3vw,2.1rem);color:color-mix(in srgb,var(--primary) 84%,#ffffff 16%)}.audience-proof-label{color:var(--text-light);font-weight:600}.audience-section-head{max-width:min(760px,92vw);margin:0 auto 24px;text-align:center}.audience-section-head h2{margin:0 0 10px;font-size:clamp(1.7rem,2.8vw,2.35rem)}.audience-section-head p{margin:0;color:var(--text-muted);line-height:1.7}.audience-feature-card{color:inherit;text-decoration:none}.audience-feature-card p{margin:0;color:var(--text-muted)}.audience-feature-eyebrow{margin:0;color:color-mix(in srgb,var(--primary) 84%,#ffffff 16%);font-size:.8rem;letter-spacing:.14em;text-transform:uppercase;font-weight:700}.audience-fit-card ul{margin:0;padding-left:1.1rem;color:var(--text-muted);line-height:1.7}.audience-cta-band{padding:clamp(2.4rem,5vw,3.3rem) 0}.audience-cta-band .wrapper{display:grid;gap:18px;justify-items:center;text-align:center}.audience-cta-band p{margin:0;max-width:58ch;color:var(--text-muted)}@media (max-width:720px){.audience-switch-actions{flex-direction:column;align-items:stretch}}}@layer components{:root{--page-transition-fallback-duration:220ms;--page-transition-fallback-ease:cubic-bezier(0.22,1,0.36,1)}html.site-is-navigating .nav-dropdown,html.site-is-navigating .nav-row,html.site-is-navigating .burger .bar{transition-duration:0s !important;animation:none !important}html.site-page-transition-preload #main,html.site-page-transition-preload .footer,html.site-page-transition-out #main,html.site-page-transition-out .footer,html.site-page-transition-in #main,html.site-page-transition-in .footer{pointer-events:none}html.site-page-transition-preload #main,html.site-page-transition-preload .footer,html.site-page-transition-out #main,html.site-page-transition-out .footer,html.site-page-transition-in #main{will-change:opacity,transform}html.site-page-transition-preload #main,html.site-page-transition-preload .footer{opacity:0;transform:translateY(8px)}html.site-page-transition-out #main,html.site-page-transition-out .footer{opacity:0;transform:translateY(-8px);transition:opacity var(--page-transition-fallback-duration) ease,transform var(--page-transition-fallback-duration) var(--page-transition-fallback-ease)}html.site-page-transition-in #main,html.site-page-transition-in .footer{animation:page-transition-main-in var(--page-transition-fallback-duration) var(--page-transition-fallback-ease) both}@keyframes page-transition-fade-out{from{opacity:1}to{opacity:0}}@keyframes page-transition-fade-in{from{opacity:0}to{opacity:1}}@keyframes page-transition-main-out{from{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-8px)}}@keyframes page-transition-main-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){:root{--page-transition-fallback-duration:120ms}html.site-page-transition-preload #main,html.site-page-transition-preload .footer,html.site-page-transition-out #main,html.site-page-transition-out .footer{transform:none}html.site-page-transition-in #main,html.site-page-transition-in .footer{animation-name:page-transition-fade-in}}}@layer components{@keyframes rippleFade{0%{opacity:0;transform:translateY(12px) scale(.98)}100%{opacity:1;transform:none}}.project-card{position:relative;border-radius:8px;overflow:hidden;cursor:pointer;opacity:0;transition:opacity .35s cubic-bezier(.22,.61,.36,1),transform .35s cubic-bezier(.22,.61,.36,1),box-shadow .35s cubic-bezier(.22,.61,.36,1)}.project-card.ripple-in{animation:rippleFade .55s cubic-bezier(.2,.7,.3,1) forwards;transform:none}.project-card img{position:relative;z-index:0;width:100%;display:block;object-fit:cover;object-position:top;background:transparent}.project-card video{position:relative;z-index:0;width:100%;object-fit:cover;object-position:top;background:transparent}.gif-video{display:none}.project-card .gif-video{display:none}.project-card .gif-video.gif-video-only{display:block}.project-card.is-video-active .gif-video{display:block}.project-card.is-video-active .gif-video + picture,.project-card.is-video-active .gif-video + img{display:none}.project-card .overlay{position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(15,23,42,.12)0%,rgba(15,23,42,.92)100%)}.project-card .project-text{position:absolute;left:18px;right:18px;bottom:18px;display:flex;flex-direction:column;gap:4px;z-index:2;transform:translateZ(0);-webkit-transform:translateZ(0);backface-visibility:hidden;will-change:transform}.project-card .project-title{position:static;font-family:'Inter';font-weight:600;font-size:20px;margin:0}.project-card .project-subtitle{position:static;font-size:14px;color:var(--text-muted);margin:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis}.project-card::before{content:"";position:absolute;inset:0;border:2px solid transparent;border-radius:8px;pointer-events:none;transition:border-color .35s cubic-bezier(.22,.61,.36,1)}.project-card:hover{transform:translateY(-4px) scale(1.02);box-shadow:0 12px 28px color-mix(in srgb,var(--brand-cyan) 18%,transparent),0 6px 18px rgba(0,0,0,.42)}.project-card:hover::before{border-color:var(--brand-cyan)}@keyframes previewPan{0%{transform:scale(1) translateY(0)}50%{transform:scale(1.04) translateY(-2%)}100%{transform:scale(1) translateY(0)}}.project-card.is-animated-preview img{animation:previewPan 12s ease-in-out infinite;transform-origin:center}@media (prefers-reduced-motion:reduce){.project-card.is-animated-preview img{animation:none}}#projects.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:28px;padding:24px;max-width:var(--container-max);margin-inline:auto;align-content:start}.project-metric{position:absolute;top:18px;left:18px;background:color-mix(in srgb,var(--primary) 15%,transparent);color:var(--primary);font-size:.75rem;font-weight:600;padding:4px 10px;border-radius:6px;max-width:75%;pointer-events:none}.project-examples-band{background:linear-gradient(120deg,color-mix(in srgb,var(--surface) 94%,#000 6%) 0%,color-mix(in srgb,var(--brand-navy) 90%,#000 10%) 100%);border-block:1px solid color-mix(in srgb,var(--brand-cyan) 14%,transparent);padding:clamp(2.2rem,5vw,3.1rem) 0}.project-examples-head{margin:0 0 clamp(1.1rem,3vw,1.6rem);text-align:center}.project-examples-head h2{margin:0;font-size:clamp(1.5rem,2.4vw,2rem);line-height:1.25}.project-examples-subtitle{margin:10px auto 0;max-width:70ch;color:var(--text-muted);font-size:1.02rem}.project-examples-actions{margin-top:clamp(1.2rem,4vw,1.8rem);display:flex;justify-content:center}.project-examples-cta{white-space:nowrap;min-width:200px}.project-examples-grid{--project-card-aspect:1 / 1;width:100%;display:grid;grid-template-columns:repeat(3,minmax(0,340px));justify-content:center;gap:24px;align-items:stretch}.project-examples-card{max-width:100%}.project-card img,.project-card video{width:100%;height:auto;aspect-ratio:var(--project-card-aspect,1 / 1);display:block;object-fit:cover;object-position:top;background:transparent}button.project-card{border:0;background:transparent;padding:0;font:inherit;color:inherit;display:block;text-align:left;cursor:pointer}.project-card,.project-card .project-title,.project-card .project-subtitle,.carousel-card .project-title,.carousel-card .project-subtitle{color:var(--text-light);text-align:left}.project-card .overlay{pointer-events:none}.project-card:focus-visible{outline:2px solid var(--brand-cyan);outline-offset:2px}.portfolio-anchor{display:block;height:0;scroll-margin-top:calc(var(--nav-height,72px) + 24px)}.portfolio-library-section{border-top:1px solid color-mix(in srgb,var(--brand-cyan) 14%,transparent)}.portfolio-library-head{text-align:center}.portfolio-library-eyebrow{margin:0;text-transform:uppercase;letter-spacing:.2em;font-size:.72rem;color:color-mix(in srgb,var(--text-muted) 88%,#fff 12%)}.portfolio-library-copy{margin:12px auto 0;max-width:68ch;color:var(--text-muted)}#projects.portfolio-library-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:20px;padding-top:20px;padding-bottom:8px;scroll-margin-top:calc(var(--nav-height,72px) + 24px)}#projects.portfolio-library-grid .project-title{font-size:18px}#projects.portfolio-library-grid .project-subtitle{font-size:13px}@media (max-width:900px){.project-examples-cta{width:100%;min-width:0;justify-content:center}}@media (max-width:768px){.project-examples-band{padding:var(--mobile-section-y) 0}.project-examples-grid{grid-template-columns:repeat(2,minmax(0,320px));gap:18px}#projects.portfolio-library-grid{gap:14px;padding-top:14px}}@media (max-width:640px){.project-examples-grid{grid-template-columns:minmax(0,1fr);gap:14px}.project-card{border-radius:8px}.project-card::before{border-radius:8px}}html.no-js #portfolio-carousel .carousel-track{flex-direction:column;gap:18px;transform:none !important}html.no-js #portfolio-carousel .carousel-card{max-width:100%;flex:1 1 auto;opacity:1;transform:none}html.no-js #portfolio-carousel .carousel-dots{display:none}@media (prefers-reduced-motion:reduce){.project-card{opacity:1 !important;transform:none !important}.project-card.ripple-in{animation:none !important}.project-card:hover{transform:none !important;box-shadow:none !important}}}@layer components{.speed-dial{position:fixed;right:calc(var(--space-20) + env(safe-area-inset-right));bottom:calc(var(--space-20) + env(safe-area-inset-bottom));z-index:2600;display:inline-flex;align-items:center;--speed-dial-toggle-size:56px;--speed-dial-gap:var(--space-12);--speed-dial-label-room:160px;--speed-dial-join:calc(var(--speed-dial-toggle-size) / 2)}.speed-dial__tray{position:absolute;right:calc(var(--speed-dial-toggle-size) - var(--speed-dial-join));bottom:0;width:max-content;clip-path:inset(-40px 0 -40px calc(-1 * var(--speed-dial-label-room)));pointer-events:none;z-index:1}.speed-dial.is-open .speed-dial__tray{pointer-events:auto}.speed-dial__actions{display:flex;flex-direction:row;align-items:center;gap:var(--space-12);padding:4px calc(10px + var(--speed-dial-join)) 4px 8px;border-radius:999px;border:1px solid var(--border-subtle);border-right:none;background:var(--surface);box-shadow:var(--shadow-md);transform:translateX(100%);pointer-events:none;visibility:hidden;transition:transform .24s ease,visibility 0s linear .24s}.speed-dial.is-open .speed-dial__actions{transform:translateX(0);pointer-events:auto;visibility:visible;transition:transform .24s ease}.speed-dial__item{position:relative;display:inline-flex;align-items:center;justify-content:center}.speed-dial__label{position:absolute;left:50%;bottom:calc(100% + 10px);font-family:'Inter';font-size:12px;letter-spacing:.02em;color:color-mix(in srgb,var(--text-light) 92%,#ffffff 8%);background:color-mix(in srgb,var(--surface) 88%,#000000 12%);border:1px solid var(--border-subtle);padding:6px 10px;border-radius:999px;box-shadow:var(--shadow-sm);opacity:0;transform:translateX(-50%) translateY(6px);pointer-events:none;transition:opacity .18s ease,transform .18s ease;white-space:nowrap;z-index:1}.speed-dial__item:hover .speed-dial__label,.speed-dial__item:focus-within .speed-dial__label{opacity:1;transform:translateX(-50%) translateY(0)}.speed-dial__action{width:48px;height:48px;min-width:48px;min-height:48px;pointer-events:auto}.speed-dial .speed-dial__action--direct.btn-icon{background:linear-gradient( 135deg,color-mix(in srgb,var(--primary) 88%,#ffffff 12%) 0%,color-mix(in srgb,var(--primary) 65%,#071219 35%) 100% );color:color-mix(in srgb,#ffffff 94%,var(--bg) 6%);border-color:color-mix(in srgb,var(--primary) 55%,transparent);box-shadow:0 16px 32px rgba(0,0,0,.32)}.speed-dial .speed-dial__action--direct.btn-icon:hover,.speed-dial .speed-dial__action--direct.btn-icon:focus-visible{background:linear-gradient( 135deg,color-mix(in srgb,var(--primary) 94%,#ffffff 6%) 0%,color-mix(in srgb,var(--primary) 72%,#030b12 28%) 100% );color:color-mix(in srgb,#ffffff 96%,var(--bg) 4%);border-color:color-mix(in srgb,var(--primary) 68%,transparent);box-shadow:0 24px 46px rgba(0,0,0,.4)}.speed-dial__toggle{width:var(--speed-dial-toggle-size);height:var(--speed-dial-toggle-size);min-width:var(--speed-dial-toggle-size);min-height:var(--speed-dial-toggle-size);pointer-events:auto;z-index:2}.speed-dial__toggle svg{transition:transform .2s ease}.speed-dial.is-open .speed-dial__toggle svg{transform:rotate(-8deg)}.speed-dial__toggle.btn-icon-featured{background:linear-gradient( 135deg,color-mix(in srgb,var(--accent-1,var(--primary)) 88%,#ffffff 12%) 0%,color-mix(in srgb,var(--accent-3,var(--primary)) 65%,#071219 35%) 100% );color:color-mix(in srgb,#ffffff 94%,var(--bg) 6%);border-color:color-mix(in srgb,var(--accent-1,var(--primary)) 55%,transparent);box-shadow:0 16px 32px rgba(0,0,0,.32)}@media (hover:hover) and (pointer:fine){.speed-dial__toggle.btn-icon-featured:hover,.speed-dial__toggle.btn-icon-featured:focus-visible{background:linear-gradient( 135deg,color-mix(in srgb,var(--accent-1,var(--primary)) 94%,#ffffff 6%) 0%,color-mix(in srgb,var(--accent-3,var(--primary)) 72%,#030b12 28%) 100% );color:color-mix(in srgb,#ffffff 96%,var(--bg) 4%);border-color:color-mix(in srgb,var(--accent-1,var(--primary)) 68%,transparent);box-shadow:0 24px 46px rgba(0,0,0,.4)}}@media (hover:none) and (pointer:coarse){.speed-dial{right:calc(var(--floating-control-mobile-edge,12px) + env(safe-area-inset-right));bottom:calc(var(--floating-control-mobile-edge,12px) + env(safe-area-inset-bottom))}}@media (prefers-reduced-motion:reduce){.speed-dial__actions,.speed-dial__label,.speed-dial__toggle svg{transition:none}}}@layer components{.cookie-settings{position:fixed;left:calc(var(--space-20) + env(safe-area-inset-left));bottom:calc(var(--space-20) + env(safe-area-inset-bottom));z-index:2600;display:inline-flex;align-items:center}.cookie-settings__item{position:relative;display:inline-flex;align-items:center;justify-content:center}body[data-consent-banner="open"] .cookie-settings{opacity:0;pointer-events:none;transform:translateY(12px)}.cookie-settings__label{position:absolute;left:calc(100% + 8px);top:50%;bottom:auto;z-index:2601;max-width:calc(100vw - 88px);font-family:var(--font-sans,'Inter',system-ui,sans-serif);font-weight:700;font-size:12px;line-height:1.2;letter-spacing:0;color:var(--brand-midnight,var(--text-light));background:#fff;border:1px solid color-mix(in srgb,var(--brand-midnight,#091f3b) 12%,transparent);padding:8px 12px;border-radius:10px;box-shadow:var(--shadow-md);opacity:0;transform:translate(-4px,-50%);pointer-events:none;transition:opacity .18s ease,transform .18s ease;white-space:nowrap}.cookie-settings__label::before{content:"";position:absolute;left:-6px;top:50%;width:10px;height:10px;background:#fff;border-left:1px solid color-mix(in srgb,var(--brand-midnight,#091f3b) 12%,transparent);border-bottom:1px solid color-mix(in srgb,var(--brand-midnight,#091f3b) 12%,transparent);transform:translateY(-50%) rotate(45deg)}.cookie-settings__toggle.btn-icon-featured{width:52px;height:52px;border-radius:10px;background:var(--brand-signal-blue,var(--primary));color:#fff;border-color:var(--brand-signal-blue,var(--primary));box-shadow:0 10px 22px rgba(0,95,237,.18)}.cookie-settings__item:hover .cookie-settings__label,.cookie-settings__item:focus-within .cookie-settings__label{opacity:1;transform:translate(0,-50%)}@media (hover:hover) and (pointer:fine){.cookie-settings__item:hover .cookie-settings__label,.cookie-settings__item:focus-within .cookie-settings__label{opacity:1;transform:translate(0,-50%)}.cookie-settings__toggle.btn-icon-featured:hover,.cookie-settings__toggle.btn-icon-featured:focus-visible{background:var(--brand-deep-blue,var(--primary));color:#fff;border-color:var(--brand-deep-blue,var(--primary));box-shadow:0 16px 30px rgba(0,95,237,.24);transform:translateY(-1px)}}@media (prefers-reduced-motion:reduce){.cookie-settings__label,.cookie-settings__toggle.btn-icon-featured{transition:none}}@media (hover:none) and (pointer:coarse){.cookie-settings{left:calc(var(--floating-control-mobile-edge,12px) + env(safe-area-inset-left));bottom:calc(var(--floating-control-mobile-edge,12px) + env(safe-area-inset-bottom))}.cookie-settings__item:hover .cookie-settings__label,.cookie-settings__item:focus-within .cookie-settings__label{opacity:0;transform:translate(-4px,-50%)}}}@layer components{body.home-pattern-page main > section:is( #project-examples,#selected-outcomes,#transferability,#work-experience,#about-me,#certifications,#cta ){scroll-margin-top:calc(var(--nav-height,80px) + 18px)}@supports (animation-timeline:view()){@media (min-width:769px) and (prefers-reduced-motion:no-preference){body.home-pattern-page main > section:is( #project-examples,#selected-outcomes,#transferability,#work-experience,#about-me,#certifications,#cta ) > :is(.wrapper,.cert-band-inner){animation:home-section-enter both ease-out;animation-timeline:view(block);animation-range:entry 6% cover 28%;will-change:opacity,transform}}}@keyframes home-section-enter{from{opacity:.78;transform:translateY(14px)}to{opacity:1;transform:none}}}@layer components{.contributions-page #contrib-root,.contributions-page .contrib-section{scroll-margin-top:var(--nav-height,72px)}.docs-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:28px;padding:24px 0;row-gap:8px}.contrib-stack{display:flex;flex-direction:column;gap:20px;margin-top:18px}.doc-card{position:relative;display:flex;justify-content:space-between;align-items:center;gap:18px;padding:26px 24px;background:var(--surface);border:1px solid var(--border-subtle);border-radius:14px;transition:transform .25s,box-shadow .25s,background .25s,border-color .25s}.doc-card.featured-doc{display:block;padding:32px 30px;background:color-mix(in srgb,var(--primary) 8%,var(--surface));border-color:color-mix(in srgb,var(--primary) 45%,var(--border-subtle));box-shadow:0 16px 46px color-mix(in srgb,var(--primary) 22%,transparent)}.doc-label{margin:0 0 12px;font-size:.72rem;text-transform:uppercase;letter-spacing:.14em;color:var(--primary)}.doc-card:hover{background:var(--primary);transform:translateY(-6px);box-shadow:0 12px 28px color-mix(in srgb,var(--primary) 35%,transparent);border-color:var(--primary)}.doc-card:hover .doc-role,.doc-card:hover h3,.doc-card:hover .doc-label{color:var(--bg)}.doc-body h3{margin:0 0 6px;font-family:'Inter';font-size:1.05rem;font-weight:600}.doc-role{margin:0;font-size:.85rem;color:var(--text-muted)}.doc-links{display:flex;gap:14px;margin-left:14px}.doc-links-compact{gap:10px;margin-left:0}.doc-links-compact .doc-link{width:36px;height:36px}.doc-link{display:flex;align-items:center;justify-content:center;width:42px;height:42px;font-size:1.6rem;color:inherit;border:2px solid currentColor;border-radius:10px;transition:background .25s}.doc-card:hover .doc-link{background:rgba(0,0,0,.15);color:var(--bg);border-color:var(--bg)}.doc-link svg{width:22px;height:22px;color:currentColor}.docs-carousel{display:flex;gap:28px;overflow-x:auto;scroll-snap-type:smooth;margin-inline:-24px;padding:8px 24px}.docs-carousel>.doc-card{flex:0 0 260px;scroll-snap-align:center}.docs-carousel.dragging{cursor:grabbing;user-select:none}.contrib-section{margin-top:32px;margin-bottom:32px}.contrib-timeline{display:flex;flex-direction:column;gap:16px;margin-top:2px}.timeline-year{border:1px solid var(--border-subtle);border-radius:16px;background:var(--surface);padding:0 26px 14px;position:relative}.timeline-year[data-contains-latest="true"]{border-color:color-mix(in srgb,var(--primary) 45%,var(--border-subtle));box-shadow:0 12px 30px color-mix(in srgb,var(--primary) 18%,transparent)}.timeline-year::before{content:"";position:absolute;left:20px;top:22px;width:12px;height:12px;border-radius:999px;background:var(--primary);box-shadow:0 0 0 4px color-mix(in srgb,var(--primary) 18%,transparent)}.timeline-year::after{content:"";position:absolute;left:25px;top:36px;bottom:20px;width:2px;background:color-mix(in srgb,var(--primary) 12%,var(--border-subtle));opacity:.4}.timeline-year:last-child::after{display:none}.timeline-year summary{cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:flex-start;gap:12px;font-family:'Inter';font-weight:600;font-size:1rem;padding:18px 0 8px 32px;position:relative}.timeline-year summary::-webkit-details-marker{display:none}.timeline-year summary::after{content:"";width:18px;height:18px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg);transition:transform .25s ease;margin-left:auto}.timeline-year[open] summary::after{transform:rotate(-135deg)}.timeline-year-pill{display:inline-flex;align-items:center;gap:8px;padding:4px 14px;border-radius:999px;background:color-mix(in srgb,var(--primary) 12%,var(--surface));color:var(--text-light);font-size:.95rem}.timeline-year-meta{color:var(--text-muted);font-size:.9rem}.timeline-list{list-style:none;margin:0;padding:0}.timeline-item{display:flex;gap:18px;align-items:flex-start;padding:16px 0 8px 32px;border-top:1px solid color-mix(in srgb,var(--border-subtle) 70%,transparent)}.timeline-item:first-child{border-top:1px solid color-mix(in srgb,var(--border-subtle) 60%,transparent)}.timeline-item-card{width:100%}.timeline-item-text{flex:1;min-width:0}.timeline-item-title{display:block;font-weight:600;color:var(--text-light);font-family:'Inter'}.timeline-item-role{display:block;font-size:.84rem;color:var(--text-muted);margin-top:4px}.timeline-item .doc-links{margin-left:0}.contributions-page .docs-carousel{scrollbar-color:var(--primary) var(--bg)}.contributions-page::-webkit-scrollbar{width:10px;background:var(--surface)}.contributions-page::-webkit-scrollbar-thumb{background:var(--primary);border-radius:6px}.contributions-page .docs-carousel::-webkit-scrollbar{height:8px;background:var(--surface)}.contributions-page .docs-carousel::-webkit-scrollbar-thumb{background:var(--primary);border-radius:4px}.contributions-page .docs-carousel::-webkit-scrollbar-thumb:hover,.contributions-page::-webkit-scrollbar-thumb:hover{background:color-mix(in srgb,var(--primary) 75%,#000 25%)}.doc-layout{display:flex;flex-direction:column;justify-content:flex-start;height:100%}.doc-title{font-family:'Inter';font-size:1.1rem;font-weight:600;color:var(--text-light);margin-top:0}.doc-footer{display:flex;align-items:flex-end;gap:14px;flex-wrap:wrap;margin-top:16px;width:100%}.doc-card .doc-footer{margin-top:auto}.timeline-item-card .doc-footer{margin-top:12px}.doc-footer .doc-role{font-size:.85rem;color:var(--text-muted);margin:0}.doc-footer .doc-links{display:flex;gap:12px;margin-left:auto;align-items:center}@media (min-width:769px){.doc-card.featured-doc .doc-footer{flex-wrap:nowrap}.doc-card.featured-doc .doc-role{flex:1 1 auto;min-width:0}}@media (max-width:768px){.contrib-section{margin-top:18px;margin-bottom:18px}.docs-grid{padding:14px 0;gap:14px}.doc-card,.doc-card.featured-doc{position:static;padding:18px 16px 20px;border-radius:12px;box-shadow:none}.doc-footer{position:static;left:auto;right:auto;bottom:auto;flex-direction:column;align-items:flex-start;gap:12px}.doc-card .doc-footer,.timeline-item-card .doc-footer{margin-top:18px}.doc-card .doc-links,.timeline-item-card .doc-links{position:static;justify-content:flex-start;flex-wrap:wrap;gap:12px;margin-left:0}.docs-grid{grid-template-columns:1fr}.timeline-year{padding:14px;border-radius:12px}.timeline-year::before,.timeline-year::after{display:none}.timeline-year summary{flex-direction:column;align-items:flex-start;padding:0}.timeline-year summary::after{margin-left:0;margin-top:8px}.timeline-list{display:flex;flex-direction:column;gap:12px;margin-top:8px}.timeline-item{padding-left:0;border-top:none}.timeline-item-card{padding:18px;border:1px solid color-mix(in srgb,var(--border-subtle) 80%,transparent);border-radius:14px;background:color-mix(in srgb,var(--surface) 92%,var(--bg))}}}@layer components{.modal{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;background:color-mix(in srgb,var(--bg) 88%,transparent);backdrop-filter:blur(4px);opacity:0;pointer-events:none;transition:opacity .45s ease;z-index:2000}.modal.active{opacity:1;pointer-events:auto}body.modal-open{overflow:hidden;padding-right:var(--scrollbar,0px)}.modal-content{position:relative;max-height:82vh;margin:5% 12px;width:min(var(--modal-max),calc(100vw - 24px));max-width:var(--modal-max);display:flex;flex-direction:column;overflow:hidden;background:var(--surface);color:var(--text-light);padding:24px 32px;font-size:1rem;line-height:1.7;border-radius:16px;box-shadow:0 12px 32px rgba(0,0,0,0.6),0 0 0 1px color-mix(in srgb,var(--primary) 20%,transparent);transform:translateY(-24px) scale(.96);opacity:0;transition:transform .45s cubic-bezier(.22,.61,.36,1),opacity .45s cubic-bezier(.22,.61,.36,1)}.modal-content.modal-wide{width:min(var(--modal-max-wide,var(--container-max)),calc(100vw - 24px));max-width:var(--modal-max-wide,var(--container-max))}.modal.active .modal-content{transform:none;opacity:1}.modal-content::before{content:"";position:absolute;inset:0 0 auto 0;height:4px;border-radius:16px 16px 0 0;background:var(--primary)}.modal-close{position:absolute;top:10px;right:14px;background:none;border:none;cursor:pointer;font-size:30px;line-height:1;color:var(--text-muted);transition:color .25s;width:44px;height:44px;display:flex;align-items:center;justify-content:center;border-radius:50%}.modal-close:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.modal-close:hover{color:var(--primary);text-shadow:0 0 4px color-mix(in srgb,var(--primary) 40%,transparent)}.modal-title-strip{text-align:center;padding:32px 28px 24px;border-bottom:1px solid color-mix(in srgb,var(--text-light) 10%,transparent)}.modal-title{margin:0;font-family:'Inter';font-weight:600;font-size:1.9rem;letter-spacing:.3px;color:var(--primary)}.modal-header-details{flex:0 0 100%;display:flex;flex-wrap:wrap;justify-content:space-around;gap:12px;padding:22px 0;background:var(--surface-accent);border-top:1px solid color-mix(in srgb,var(--text-light) 12%,transparent);border-bottom:1px solid color-mix(in srgb,var(--text-light) 12%,transparent);position:relative}.modal-half{flex:1 1 260px;text-align:center;position:relative;padding:12px 0}.header-label{margin:0 0 10px;font-weight:600;font-size:.95rem;color:var(--primary);text-transform:uppercase;letter-spacing:.6px}.tool-badges,.icon-row{display:flex;justify-content:center;flex-wrap:wrap;gap:10px}.badge{background:color-mix(in srgb,var(--primary) 15%,transparent);color:var(--primary);padding:4px 10px;border-radius:6px;font-size:.85rem;font-weight:500}.icon-row .icon{width:38px;height:38px}.modal-body{flex:1 1 auto;display:flex;flex-wrap:wrap;gap:32px;padding:0 32px 32px;overflow-y:auto;align-items:flex-start}.modal-text{flex:.9 1 320px;max-width:520px;min-width:0;overflow-wrap:anywhere;word-break:break-word;hyphens:auto;font-size:1rem;line-height:1.75;color:var(--text-light)}.modal-text p{margin:0 0 .85em}.modal-text ul{margin:.5em 0 1em}.modal-text h4{color:var(--primary);margin-top:1em;margin-bottom:.5em;font-size:1.2rem}.modal-text ul{padding-left:20px}.modal-subtitle{margin-top:8px;color:var(--text-muted)}.modal-image{position:relative;flex:1 1 520px;width:min(var(--modal-media-max-width),100%);max-height:var(--modal-media-height);aspect-ratio:var(--media-aspect,auto);align-self:flex-start;min-width:320px;display:grid;place-items:center;border-radius:12px;overflow:hidden;background:color-mix(in srgb,var(--surface) 92%,#05080c 8%);box-shadow:0 6px 24px rgba(0,0,0,.4);height:auto}.modal-image picture{width:100%;height:auto;display:grid;place-items:center}.modal-image img,.modal-image video{width:auto;height:auto;max-width:100%;max-height:var(--modal-media-height);aspect-ratio:var(--media-aspect,auto);border-radius:0;display:block;object-fit:contain}.modal-content :focus-visible{outline:2px solid var(--focus);outline-offset:2px}.media-zoomable{position:relative}.media-zoom-toggle{position:absolute;top:10px;right:10px;z-index:2;display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;padding:0;border-radius:10px;border:1px solid color-mix(in srgb,var(--primary) 30%,transparent);background:color-mix(in srgb,var(--surface) 92%,#02060c 8%);color:var(--text-light);cursor:pointer;box-shadow:0 8px 18px rgba(0,0,0,.26);transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease,color .2s ease,background .2s ease}.media-zoom-toggle:hover,.media-zoom-toggle:focus-visible{transform:translateY(-1px);box-shadow:0 12px 24px rgba(0,0,0,.32);border-color:var(--primary);color:var(--primary);background:color-mix(in srgb,var(--surface) 96%,#02060c 4%)}.media-zoom-icon{display:inline-flex;width:18px;height:18px}.media-zoom-icon svg{width:18px;height:18px;display:block;stroke:currentColor;fill:none;stroke-width:2}.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}body.media-viewer-open{overflow:hidden}.media-viewer{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;--viewer-max-width:min(1100px,96vw);--viewer-max-height:calc(100vh - 48px);background:color-mix(in srgb,var(--bg) 86%,transparent);backdrop-filter:blur(6px);opacity:0;pointer-events:none;transition:opacity .3s ease;z-index:2400}.media-viewer.active{opacity:1;pointer-events:auto}.media-viewer-content{position:relative;width:auto;height:auto;max-width:var(--viewer-max-width);max-height:var(--viewer-max-height);padding:clamp(12px,3vw,20px);border-radius:18px;background:var(--surface);border:1px solid color-mix(in srgb,var(--primary) 24%,transparent);box-shadow:0 28px 56px rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;overflow:hidden;box-sizing:border-box}.media-viewer-frame{width:100%;height:100%;display:grid;place-items:center;max-height:100%;max-width:100%;min-height:0;padding:4px;box-sizing:border-box}.media-viewer img,.media-viewer video{max-width:100%;max-height:100%;width:100%;height:100%;border-radius:14px;box-shadow:0 20px 48px rgba(0,0,0,.45);background:var(--surface);object-fit:contain}.media-viewer-embed{width:100%;height:100%;border:none;border-radius:14px;background:var(--surface);box-shadow:0 20px 48px rgba(0,0,0,.45)}.media-viewer-video{width:100%;height:100%;max-width:100%;max-height:100%;object-fit:contain}.media-viewer-close{position:absolute;top:10px;right:12px;width:44px;height:44px;z-index:3;border:none;border-radius:50%;background:color-mix(in srgb,var(--surface) 92%,#05080c 8%);color:var(--text-light);font-size:28px;line-height:1;cursor:pointer;box-shadow:0 12px 24px rgba(0,0,0,.32);transition:transform .2s ease,color .2s ease,box-shadow .2s ease}.media-viewer-close:hover,.media-viewer-close:focus-visible{transform:translateY(-1px);color:var(--primary);box-shadow:0 16px 30px rgba(0,0,0,.38);outline:2px solid var(--primary);outline-offset:2px}@media (max-width:768px){.modal-image{min-width:0;width:100%;max-height:clamp(240px,62vh,520px)}.media-zoom-toggle{width:34px;height:34px;top:8px;right:8px}.media-viewer{--viewer-max-width:96vw;--viewer-max-height:min(78vh,620px)}.media-viewer-content{width:auto;height:auto;max-height:calc(100vh - 20px);padding:12px;border-radius:14px}.media-viewer img,.media-viewer video,.media-viewer-video{max-height:100%}.media-viewer-close{width:40px;height:40px;top:8px;right:8px}}.modal-copy{position:absolute;top:16px;right:56px;background:transparent;color:var(--text-muted);border:1px solid var(--surface-accent);border-radius:8px;padding:6px 10px;cursor:pointer;font-size:.85rem;transition:color .2s,border-color .2s,transform .2s}.modal-copy:hover,.modal-copy:focus-visible{color:var(--primary);border-color:var(--primary);transform:translateY(-1px)}.modal-toast{position:absolute;left:50%;bottom:12px;transform:translateX(-50%);background:color-mix(in srgb,var(--surface) 85%,#000 15%);color:var(--text-light);border:1px solid var(--surface-accent);padding:6px 10px;border-radius:8px;font-size:.85rem;box-shadow:var(--shadow-sm);opacity:0;pointer-events:none;transition:opacity .25s ease}.modal-toast.show{opacity:0.92}.modal-divider{position:absolute;left:50%;top:20%;width:1px;height:60%;background:color-mix(in srgb,var(--text-light) 12%,transparent);transform:translateX(-50%)}#contact-modal{z-index:2700}#contact-modal .modal-content{width:min(760px,calc(100vw - 24px));margin-inline:auto}#contact-modal .modal-body{overflow-x:hidden;overflow-y:auto;scrollbar-gutter:stable;flex-direction:column;align-items:stretch;gap:20px;padding:24px clamp(16px,6vw,32px) 28px}#contact-modal.contact-success .contact-form{display:none !important}#contact-modal.contact-success .contact-form-success{display:block !important}#contact-modal .contact-form,#contact-modal .contact-form-success{max-width:100%;min-width:0}.contact-form{display:flex;flex-direction:column;gap:18px;width:100%}.contact-form .form-field{display:flex;flex-direction:column;gap:6px}.contact-form label{font-weight:600;font-size:.95rem;color:var(--text-light)}.contact-form input:not([type="checkbox"]):not([type="radio"]),.contact-form textarea{width:100%;box-sizing:border-box;border-radius:10px;border:1px solid color-mix(in srgb,var(--text-light) 18%,transparent);background:color-mix(in srgb,var(--surface) 90%,#0a0f18 10%);color:var(--text-light);padding:12px 14px;font:inherit;transition:border-color .2s ease,box-shadow .2s ease}.contact-form input:not([type="checkbox"]):not([type="radio"]):focus,.contact-form textarea:focus{border-color:var(--primary);box-shadow:0 0 0 2px color-mix(in srgb,var(--primary) 30%,transparent);outline:none}.contact-form input[type="checkbox"],.contact-form input[type="radio"]{width:18px;height:18px;margin:0;padding:0;accent-color:color-mix(in srgb,var(--primary) 85%,#ffffff 15%)}.contact-form textarea{min-height:160px;resize:vertical}.contact-form .honeypot{position:absolute;left:-9999px;opacity:0;pointer-events:none}.contact-form .form-field.has-error label{color:var(--danger)}.contact-form .form-field.has-error input,.contact-form .form-field.has-error textarea{border-color:var(--danger);box-shadow:0 0 0 1px color-mix(in srgb,var(--danger) 40%,transparent)}.contact-form .field-required{font-size:.85rem;color:color-mix(in srgb,var(--text-light) 70%,var(--danger) 30%);font-weight:500;margin-left:6px}.contact-form .field-required[hidden]{display:none}.contact-form-status{min-height:1.5rem;font-size:.95rem;color:var(--text-muted);min-width:0;overflow-wrap:anywhere;word-break:break-word}.contact-form-status:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.contact-form-status[data-tone='success']{color:var(--success)}.contact-form-status[data-tone='warning']{color:var(--warning)}.contact-form-status[data-tone='error']{color:var(--danger)}.contact-form-alt{display:flex;gap:12px}.contact-form-alt[hidden]{display:none}.contact-form .form-actions{display:flex;gap:12px;flex-wrap:wrap;align-items:center;width:100%}.contact-form .form-actions > *{flex:1 1 200px}.contact-form .btn-primary{gap:10px;justify-content:center}.contact-form .btn-primary .btn-spinner{display:none;width:16px;height:16px;border-radius:50%;border:2px solid color-mix(in srgb,#fff 85%,var(--primary) 15%);border-right-color:transparent;animation:modal-spin 1s linear infinite}.contact-form .btn-primary.is-busy .btn-spinner{display:inline-block}.contact-form .btn-primary.is-busy .btn-label{opacity:.7}@keyframes modal-spin{to{transform:rotate(360deg)}}.contact-form-note{color:var(--text-muted);font-size:.85rem}.contact-form-success{width:100%;box-sizing:border-box;padding:32px;border-radius:16px;text-align:center;background:color-mix(in srgb,var(--surface) 95%,#020407 5%);border:1px solid color-mix(in srgb,var(--primary) 25%,transparent);box-shadow:0 18px 40px rgba(0,0,0,.26);min-width:0;overflow-wrap:anywhere;word-break:break-word}.contact-form-success[hidden]{display:none}.contact-form-success .success-icon{width:52px;height:52px;border-radius:50%;margin:0 auto 12px;display:inline-flex;align-items:center;justify-content:center;background:color-mix(in srgb,var(--success) 25%,transparent);color:var(--success);border:1px solid color-mix(in srgb,var(--success) 45%,transparent)}.contact-form-success .success-icon::before{content:"✓";font-size:1.6rem;font-weight:600}.contact-form-success h4{margin:8px 0;font-size:1.4rem;color:var(--text-light);overflow-wrap:anywhere;word-break:break-word}.contact-form-success p{margin:0 auto 18px;max-width:36ch;color:var(--text-muted);overflow-wrap:anywhere;word-break:break-word}.contact-form-success .form-actions{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;width:100%}.contact-form-success .form-actions > *{width:100%;max-width:320px;box-sizing:border-box}.contact-form-success .form-actions .btn-secondary{min-width:0}html.no-js #contact-modal{position:static;inset:auto;display:block;opacity:1;pointer-events:auto;background:transparent;backdrop-filter:none;margin-top:24px}html.no-js #contact-modal .modal-content{max-height:none;margin:0 auto;transform:none;opacity:1;box-shadow:0 6px 24px rgba(0,0,0,.35)}html.no-js #contact-modal .modal-body{overflow:visible}html.no-js #contact-modal .modal-close{display:none}html.no-js #contact-form-toggle{display:none}#smartSentence-modal .modal-body{overflow-x:hidden}#smartSentence-modal .modal-embed{overflow-x:hidden}.modal-body.stacked{display:grid;grid-template-columns:1fr;flex-direction:column;align-items:stretch;gap:clamp(18px,2.5vw,26px);overflow-x:hidden}.modal-body.stacked > *{width:100%}.modal-body.stacked .modal-embed{order:99}.modal-body.stacked .modal-text{max-width:none;width:100%;flex:0 0 auto}.modal-body.stacked .modal-header-details{width:100%}.modal-tableau-layout{display:grid;grid-template-columns:1fr;grid-template-rows:auto auto;gap:clamp(14px,2vw,20px);width:100%}.modal-tableau-layout .modal-text{max-width:none;width:100%}.modal-tableau-layout .modal-embed{width:100%;max-width:none;margin:0;flex:0 0 auto}.modal-tableau-layout .modal-embed iframe{min-height:clamp(520px,68vh,920px);height:clamp(520px,70vh,980px)}.modal-embed{width:100%;min-width:0;flex:1 1 420px;align-self:flex-start;margin:clamp(1rem,2vh,1.6rem) auto;padding:clamp(12px,3vw,18px);border-radius:22px;border:1px solid color-mix(in srgb,var(--primary) 24%,transparent);background:color-mix(in srgb,var(--surface) 92%,#03060a 8%);box-shadow:0 28px 48px rgba(0,0,0,.35);overflow:hidden;position:relative}.modal-embed-loader{position:absolute;inset:0;display:grid;place-items:center;gap:10px;background:color-mix(in srgb,var(--surface) 88%,#020507 12%);color:var(--text);text-align:center;opacity:0;pointer-events:none;transition:opacity 160ms ease;z-index:2}.modal-embed.is-loading .modal-embed-loader{opacity:1;pointer-events:auto}.modal-embed-spinner{width:34px;height:34px;border-radius:50%;border:3px solid color-mix(in srgb,var(--primary) 55%,#fff 45%);border-right-color:transparent;animation:modal-spin 1s linear infinite}.modal-embed-text{font-size:.92rem;color:var(--text-muted)}.modal-embed iframe{width:100%;border:none;display:block;border-radius:16px;background:var(--surface);min-height:320px;box-shadow:0 18px 36px rgba(0,0,0,.32);box-sizing:border-box}.tableau-scale-inner{transform-origin:top left}@media (max-width:768px){.modal-content{width:calc(100vw - 16px);max-height:calc(100svh - 16px);margin:8px;padding:18px var(--mobile-card-pad);border-radius:12px}.modal-content::before{border-radius:12px 12px 0 0}.modal-title-strip{padding:26px 16px 18px}.modal-header-details{flex-direction:column;align-items:center}.modal-half{flex:1 1 auto;width:100%}.modal-divider{position:static;width:80%;height:1px;margin:12px 0;transform:none}.modal-body{padding:0 0 18px;gap:18px}#contact-modal .modal-content{width:calc(100vw - 12px);max-height:calc(100svh - 12px);margin:6px}#contact-modal .modal-body{padding:18px var(--mobile-card-pad) 22px}.contact-form .form-actions{flex-direction:column;align-items:stretch}.contact-form .form-actions > *{width:100%;flex:0 0 auto}.contact-form-success .form-actions{flex-direction:column;align-items:stretch}.contact-form-success .form-actions .btn-secondary{min-width:0;width:100%}}}@layer components{.site-chatbot{--site-chatbot-edge:clamp(14px,2.5vw,24px);--site-chatbot-consent-offset:0px;--site-chatbot-keyboard-offset:0px;--site-chatbot-viewport-height:100dvh;position:fixed;right:calc(var(--site-chatbot-edge) + env(safe-area-inset-right));bottom:calc(var(--site-chatbot-edge) + env(safe-area-inset-bottom) + var(--site-chatbot-consent-offset) + var(--site-chatbot-keyboard-offset));z-index:99990;color:#122033;font-family:var(--font-sans,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif);transition:bottom 180ms ease}body[data-site-chatbot-active="true"] .speed-dial{display:none}.site-chatbot__launcher{position:relative;display:inline-grid;place-items:center;width:52px;height:52px;min-width:52px;min-height:52px;padding:0;border:1px solid var(--brand-signal-blue,#005fed);border-radius:10px;background:var(--brand-signal-blue,#005fed);color:#fff;box-shadow:0 10px 22px rgba(0,95,237,0.18);cursor:pointer;font:700 0.92rem/1.1 var(--font-sans,system-ui,sans-serif);letter-spacing:0;transition:transform 160ms ease,box-shadow 160ms ease,border-color 160ms ease,background 160ms ease}.site-chatbot__launcher:hover,.site-chatbot__launcher:focus-visible{border-color:var(--brand-deep-blue,#0145c8);background:var(--brand-deep-blue,#0145c8);box-shadow:0 16px 30px rgba(0,95,237,0.24);transform:none}.site-chatbot__launcher:focus-visible{outline:var(--focus-ring,3px solid rgba(0,95,237,0.32));outline-offset:3px}.site-chatbot__launcher-icon,.site-chatbot__send,.site-chatbot__nudge-close,.site-chatbot__reset,.site-chatbot__close{display:inline-grid;place-items:center;flex:0 0 auto}.site-chatbot svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8}.site-chatbot__launcher-icon{width:100%;height:100%;border-radius:inherit;background:transparent;color:inherit}.site-chatbot__launcher-icon svg{width:25px;height:25px}.site-chatbot__launcher-text{position:absolute;right:calc(100% + 8px);left:auto;top:50%;bottom:auto;z-index:99991;width:max-content;height:auto;min-width:0;max-width:calc(100vw - 88px);padding:8px 12px;overflow:visible;clip:auto;clip-path:none;border:1px solid color-mix(in srgb,var(--brand-midnight,#091f3b) 12%,transparent);border-radius:10px;background:#fff;color:var(--brand-midnight,#091f3b);box-shadow:var(--shadow-md,0 12px 28px rgba(9,31,59,0.12));opacity:0;pointer-events:none;transform:translate(4px,-50%);transition:opacity 160ms ease,transform 160ms ease;white-space:nowrap}.site-chatbot__launcher-text::after{content:"";position:absolute;right:-6px;top:50%;width:10px;height:10px;background:#fff;border-top:1px solid color-mix(in srgb,var(--brand-midnight,#091f3b) 12%,transparent);border-right:1px solid color-mix(in srgb,var(--brand-midnight,#091f3b) 12%,transparent);transform:translateY(-50%) rotate(45deg)}.site-chatbot__nudge{position:absolute;right:calc(100% + 8px);left:auto;top:50%;z-index:99992;display:flex;align-items:center;width:max-content;max-width:calc(100vw - 88px);min-height:36px;border:1px solid color-mix(in srgb,var(--brand-midnight,#091f3b) 12%,transparent);border-radius:10px;background:#fff;color:var(--brand-midnight,#091f3b);box-shadow:var(--shadow-md,0 12px 28px rgba(9,31,59,0.12));opacity:0;pointer-events:none;transform:translate(4px,-50%);transition:opacity 160ms ease,transform 160ms ease}.site-chatbot__nudge::after{content:"";position:absolute;right:-6px;top:50%;width:10px;height:10px;background:#fff;border-top:1px solid color-mix(in srgb,var(--brand-midnight,#091f3b) 12%,transparent);border-right:1px solid color-mix(in srgb,var(--brand-midnight,#091f3b) 12%,transparent);transform:translateY(-50%) rotate(45deg)}.site-chatbot__nudge-action,.site-chatbot__nudge-close{border:0;background:transparent;color:inherit;cursor:pointer;font:700 0.88rem/1.2 var(--font-sans,system-ui,sans-serif);letter-spacing:0}.site-chatbot__nudge-action{min-height:36px;padding:8px 6px 8px 12px;text-align:left;white-space:nowrap}.site-chatbot__nudge-close{width:36px;height:36px;border-radius:9px;color:#52627a}.site-chatbot__nudge-close svg{width:15px;height:15px}.site-chatbot__nudge-action:hover,.site-chatbot__nudge-action:focus-visible,.site-chatbot__nudge-close:hover,.site-chatbot__nudge-close:focus-visible{background:color-mix(in srgb,var(--brand-signal-blue,#005fed) 7%,#ffffff 93%);outline:none}.site-chatbot__nudge-action:focus-visible,.site-chatbot__nudge-close:focus-visible{box-shadow:inset 0 0 0 2px rgba(0,95,237,0.26)}@media (hover:hover) and (pointer:fine){.site-chatbot__launcher:hover .site-chatbot__launcher-text,.site-chatbot__launcher:focus-visible .site-chatbot__launcher-text{opacity:1;transform:translate(0,-50%)}}.site-chatbot__launcher:hover .site-chatbot__launcher-text,.site-chatbot__launcher:focus-visible .site-chatbot__launcher-text{opacity:1;transform:translate(0,-50%)}@media (max-width:420px){.site-chatbot__launcher-text,.site-chatbot__nudge{max-width:calc(100vw - 96px)}.site-chatbot__launcher-text,.site-chatbot__nudge-action{white-space:normal}}@media (hover:none) and (pointer:coarse){.site-chatbot__launcher:hover .site-chatbot__launcher-text,.site-chatbot__launcher:focus-visible .site-chatbot__launcher-text{opacity:0;transform:translate(4px,-50%)}}.site-chatbot[data-nudge="true"][data-state="closed"] .site-chatbot__launcher{animation:site-chatbot-nudge-pulse 1800ms ease-in-out 2}.site-chatbot[data-nudge="true"][data-state="closed"] .site-chatbot__nudge{opacity:1;pointer-events:auto;transform:translate(0,-50%)}.site-chatbot[data-nudge="true"][data-state="closed"] .site-chatbot__launcher-text{display:none}@keyframes site-chatbot-nudge-pulse{0%,100%{box-shadow:0 10px 22px rgba(0,95,237,0.18)}45%{box-shadow:0 16px 30px rgba(0,95,237,0.24),0 0 0 8px rgba(0,95,237,0.12)}}.site-chatbot__panel{--site-chatbot-panel-max-height:min(520px,calc(var(--site-chatbot-viewport-height) - var(--site-chatbot-consent-offset) - 120px));--site-chatbot-center-height:clamp(180px,calc(var(--site-chatbot-viewport-height) - var(--site-chatbot-consent-offset) - 310px),300px);--site-chatbot-expanded-height:calc(var(--site-chatbot-viewport-height) - var(--site-chatbot-consent-offset) - var(--site-chatbot-edge) - var(--site-chatbot-edge) - 64px);position:absolute;right:0;bottom:calc(100% + 12px);display:grid;grid-template-rows:auto auto auto auto auto auto;width:min(380px,calc(100vw - 28px));height:auto;max-height:var(--site-chatbot-panel-max-height);min-height:300px;overflow:hidden;border:1px solid rgba(15,23,42,0.14);border-radius:16px;background:#f8fafc;box-shadow:0 28px 70px rgba(15,23,42,0.26);opacity:0;pointer-events:none;transform:translateY(18px) scale(0.96);transform-origin:bottom right;transition:transform 220ms ease,opacity 220ms ease,max-height 280ms cubic-bezier(0.2,0.8,0.2,1);will-change:transform,opacity}.site-chatbot[data-state="open"] .site-chatbot__panel{opacity:1;pointer-events:auto;transform:translateY(0) scale(1)}.site-chatbot[data-expanded="true"] .site-chatbot__panel{--site-chatbot-panel-max-height:var(--site-chatbot-expanded-height);--site-chatbot-center-height:max(220px,calc(var(--site-chatbot-expanded-height) - 340px));height:var(--site-chatbot-panel-max-height)}.site-chatbot[data-expanded="true"][data-chips="hidden"] .site-chatbot__panel{grid-template-rows:auto minmax(0,1fr) auto auto auto}.site-chatbot[data-expanded="true"][data-chips="hidden"] .site-chatbot__messages{height:auto;max-height:none}.site-chatbot[data-enabled="false"] .site-chatbot__panel{--site-chatbot-panel-max-height:min(340px,calc(var(--site-chatbot-viewport-height) - var(--site-chatbot-consent-offset) - 110px));--site-chatbot-center-height:clamp(150px,calc(var(--site-chatbot-viewport-height) - var(--site-chatbot-consent-offset) - 190px),250px);grid-template-rows:auto auto;height:auto;min-height:0;max-height:var(--site-chatbot-panel-max-height)}.site-chatbot[data-enabled="false"] .site-chatbot__messages{max-height:min(260px,calc(var(--site-chatbot-viewport-height) - var(--site-chatbot-consent-offset) - 190px))}.site-chatbot[data-enabled="false"][data-expanded="true"] .site-chatbot__panel{--site-chatbot-panel-max-height:var(--site-chatbot-expanded-height);--site-chatbot-center-height:max(150px,calc(var(--site-chatbot-expanded-height) - 190px));grid-template-rows:auto auto;height:var(--site-chatbot-panel-max-height)}.site-chatbot[data-enabled="false"][data-expanded="true"] .site-chatbot__messages{max-height:none}.site-chatbot[data-enabled="false"] .site-chatbot__challenge,.site-chatbot[data-enabled="false"] .site-chatbot__form,.site-chatbot[data-enabled="false"] .site-chatbot__status{display:none}.site-chatbot__header{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding:16px 16px 14px;border-bottom:1px solid rgba(15,23,42,0.1);background:#fff;cursor:default}.site-chatbot[data-expanded="false"] .site-chatbot__header{cursor:pointer}.site-chatbot__header-expand,.site-chatbot__reset,.site-chatbot__header-toggle{min-width:0;margin:0;border:0;border-radius:10px;background:transparent;color:inherit;cursor:pointer;font:inherit}.site-chatbot__header-expand{display:block;flex:1 1 auto;padding:0;text-align:left}.site-chatbot[data-expanded="true"] .site-chatbot__header-expand{cursor:default}.site-chatbot__header-toggle{display:inline-grid;place-items:center;flex:0 0 34px;width:34px;height:34px;padding:0}.site-chatbot__header-expand:focus-visible,.site-chatbot__reset:focus-visible,.site-chatbot__header-toggle:focus-visible{outline:var(--focus-ring,3px solid rgba(0,95,237,0.32));outline-offset:3px}.site-chatbot__header-copy{display:block;min-width:0}.site-chatbot__expand-icon{display:inline-grid;place-items:center;flex:0 0 28px;width:28px;height:28px;margin-top:1px;border-radius:999px;background:#f8fafc;color:#52627a}.site-chatbot__expand-icon svg{width:17px;height:17px;transform:rotate(180deg);transition:transform 180ms ease}.site-chatbot[data-expanded="true"] .site-chatbot__expand-icon svg{transform:rotate(0deg)}.site-chatbot__eyebrow,.site-chatbot__status,.site-chatbot__challenge p{margin:0;color:#52627a;font-size:0.78rem;line-height:1.35}.site-chatbot__eyebrow{display:block}.site-chatbot__title{display:block;margin:2px 0 0;color:#122033;font-size:1.03rem;line-height:1.2;letter-spacing:0}.site-chatbot__close,.site-chatbot__reset,.site-chatbot__send{border:0;cursor:pointer}.site-chatbot__reset{width:34px;height:34px;border-radius:50%;background:#f8fafc;color:#52627a}.site-chatbot__close{width:34px;height:34px;border-radius:50%;background:#eef3f8;color:#26364f}.site-chatbot__reset:hover,.site-chatbot__reset:focus-visible,.site-chatbot__close:hover,.site-chatbot__close:focus-visible{background:#e0e9f3}.site-chatbot__messages{order:2;display:flex;flex-direction:column;gap:12px;box-sizing:border-box;height:var(--site-chatbot-center-height);max-width:100%;min-height:0;min-width:0;padding:14px;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;transition:height 280ms cubic-bezier(0.2,0.8,0.2,1);will-change:height}.site-chatbot[data-chips="visible"] .site-chatbot__messages:empty{height:0;min-height:0;padding-block:0;overflow:hidden}.site-chatbot[data-expanded="true"][data-chips="visible"] .site-chatbot__messages:empty{height:var(--site-chatbot-center-height);padding-block:14px;overflow-y:auto}.site-chatbot__message{display:grid;gap:6px;min-width:0;max-width:88%}.site-chatbot__message--user{justify-self:end;margin-left:auto}.site-chatbot__message--assistant{justify-self:start}.site-chatbot__bubble{box-sizing:border-box;max-width:100%;min-width:0;padding:10px 12px;overflow-wrap:anywhere;border-radius:14px;background:#fff;box-shadow:0 8px 18px rgba(15,23,42,0.08);color:#1c2b3f;font-size:0.91rem;line-height:1.45}.site-chatbot__message--user .site-chatbot__bubble{background:#1565c0}.site-chatbot__message--user .site-chatbot__bubble,.site-chatbot__message--user .site-chatbot__bubble p{color:#fff;-webkit-text-fill-color:#fff}.site-chatbot__bubble p{margin:0;max-width:100%;min-width:0;overflow-wrap:anywhere}.site-chatbot__bubble p + p{margin-top:0.7em}.site-chatbot__bubble ul{margin:0;max-width:100%;min-width:0;padding-left:1.15rem;overflow-wrap:anywhere}.site-chatbot__bubble li + li{margin-top:0.35em}.site-chatbot__bubble a{color:#0f559f;font-weight:700;overflow-wrap:anywhere;text-decoration:underline;text-underline-offset:2px;word-break:break-word}.site-chatbot__nav-links,.site-chatbot__source-pills,.site-chatbot__followups{display:flex;flex-wrap:wrap;gap:6px}.site-chatbot__nav-links a,.site-chatbot__source-pills a,.site-chatbot__followups button{max-width:100%;padding:5px 8px;overflow:hidden;border:1px solid rgba(21,101,192,0.24);border-radius:999px;background:rgba(255,255,255,0.8);color:#165fae;font-size:0.75rem;line-height:1.2;text-decoration:none;text-overflow:ellipsis;white-space:nowrap}.site-chatbot__nav-links a{border-color:rgba(15,87,157,0.28);background:#e9f2fc;color:#0f559f;font-weight:700}.site-chatbot__followups{margin-top:8px}.site-chatbot__followups button{flex:1 1 100%;background:#fff;color:#165fae;cursor:pointer;font-weight:700;overflow:visible;overflow-wrap:anywhere;text-align:left;text-overflow:clip;white-space:normal;word-break:normal}.site-chatbot__followups button:hover,.site-chatbot__followups button:focus-visible{border-color:rgba(21,101,192,0.38);color:#0f559f}.site-chatbot__followups button:disabled{cursor:not-allowed;opacity:0.58}.site-chatbot__sources{color:#52627a;font-size:0.76rem}.site-chatbot__sources summary{width:max-content;cursor:pointer;list-style-position:inside}.site-chatbot__source-pills{margin-top:6px}.site-chatbot__quick-prompts{order:1;display:grid;grid-template-columns:minmax(0,1fr);gap:8px;padding:14px 14px 12px;overflow-x:hidden;border-bottom:1px solid rgba(15,23,42,0.08);background:#f8fafc}.site-chatbot__quick-prompts[hidden]{display:none !important}.site-chatbot__quick-prompts button{width:100%;max-width:100%;padding:9px 11px;border:1px solid rgba(15,23,42,0.12);border-radius:10px;background:#fff;color:#26364f;cursor:pointer;font:700 0.78rem/1.2 var(--font-sans,system-ui,sans-serif);letter-spacing:0;box-shadow:0 6px 14px rgba(15,23,42,0.07);text-align:left;white-space:normal}.site-chatbot__quick-prompts button:hover,.site-chatbot__quick-prompts button:focus-visible{border-color:rgba(21,101,192,0.34);color:#0f559f}.site-chatbot__quick-prompts button:disabled{cursor:not-allowed;opacity:0.55}.site-chatbot__challenge{order:3;padding:0 14px 12px}.site-chatbot__turnstile{margin-top:8px;min-height:65px}.site-chatbot__form{--site-chatbot-input-height:64px;order:4;display:block;padding:12px 14px;border-top:1px solid rgba(15,23,42,0.1);background:#fff}.site-chatbot__input-shell{display:grid;grid-template-areas:"message send";grid-template-columns:minmax(0,1fr) 44px;gap:0;align-items:stretch;border:1px solid rgba(15,23,42,0.16);border-radius:12px;background:#f8fafc;transition:border-color 160ms ease,outline-color 160ms ease}.site-chatbot__input-shell:focus-within{border-color:#1565c0;outline:3px solid rgba(21,101,192,0.16);outline-offset:2px}.site-chatbot__input{grid-area:message;width:100%;min-width:0;height:var(--site-chatbot-input-height);min-height:var(--site-chatbot-input-height);max-height:var(--site-chatbot-input-height);box-sizing:border-box;display:block;overflow-y:auto;resize:none;padding:10px 12px;border:0;border-radius:11px 0 0 11px;background:transparent;color:#122033;font:0.91rem/1.35 var(--font-sans,system-ui,sans-serif)}.site-chatbot__input:focus{outline:none}.site-chatbot__send{grid-area:send;justify-self:stretch;align-self:stretch;width:44px;height:var(--site-chatbot-input-height);min-height:var(--site-chatbot-input-height);border-radius:0 10px 10px 0;background:#1565c0;color:#fff}.site-chatbot__send:hover,.site-chatbot__send:focus-visible{background:#0f559f}.site-chatbot__send:disabled,.site-chatbot__input:disabled{cursor:not-allowed;opacity:0.58}.site-chatbot__status{order:5;min-height:28px;padding:0 14px 12px;background:#fff}.site-chatbot__status:empty{min-height:0;padding-block:0}.site-chatbot__website{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);border:0;opacity:0;pointer-events:none;white-space:nowrap}@media (max-width:640px){.site-chatbot{--site-chatbot-edge:var(--floating-control-mobile-edge,12px);right:calc(var(--site-chatbot-edge) + env(safe-area-inset-right));left:calc(var(--site-chatbot-edge) + env(safe-area-inset-left))}.site-chatbot__launcher{display:grid;margin-left:auto;width:52px;height:52px;min-width:52px;min-height:52px}.site-chatbot__nudge{right:0;top:auto;bottom:calc(100% + 10px);max-width:min(320px,calc(100vw - 96px));transform:translateY(4px)}.site-chatbot__nudge::after{right:22px;top:auto;bottom:-6px;border-top:0;border-left:0;border-right:1px solid color-mix(in srgb,var(--brand-midnight,#091f3b) 12%,transparent);border-bottom:1px solid color-mix(in srgb,var(--brand-midnight,#091f3b) 12%,transparent);transform:rotate(45deg)}.site-chatbot[data-nudge="true"][data-state="closed"] .site-chatbot__nudge{transform:translateY(0)}.site-chatbot__panel{--site-chatbot-panel-max-height:min(500px,calc(var(--site-chatbot-viewport-height) - var(--site-chatbot-consent-offset) - 92px));--site-chatbot-center-height:clamp(220px,calc(var(--site-chatbot-viewport-height) - var(--site-chatbot-consent-offset) - 320px),280px);--site-chatbot-expanded-height:calc(var(--site-chatbot-viewport-height) - var(--site-chatbot-consent-offset) - 92px);right:0;left:0;width:100%;height:auto;max-height:var(--site-chatbot-panel-max-height);min-height:0;border-radius:14px;transform-origin:bottom center}.site-chatbot[data-expanded="true"] .site-chatbot__panel{--site-chatbot-panel-max-height:var(--site-chatbot-expanded-height);--site-chatbot-center-height:max(220px,calc(var(--site-chatbot-expanded-height) - 330px))}.site-chatbot[data-enabled="false"] .site-chatbot__panel{--site-chatbot-panel-max-height:min(320px,calc(var(--site-chatbot-viewport-height) - var(--site-chatbot-consent-offset) - 92px));--site-chatbot-center-height:clamp(180px,calc(var(--site-chatbot-viewport-height) - var(--site-chatbot-consent-offset) - 170px),240px);height:auto;max-height:var(--site-chatbot-panel-max-height)}.site-chatbot[data-enabled="false"][data-expanded="true"] .site-chatbot__panel{--site-chatbot-panel-max-height:var(--site-chatbot-expanded-height);--site-chatbot-center-height:max(150px,calc(var(--site-chatbot-expanded-height) - 190px));height:var(--site-chatbot-panel-max-height)}.site-chatbot[data-keyboard="true"][data-state="open"] .site-chatbot__launcher{display:none}.site-chatbot[data-keyboard="true"][data-state="open"] .site-chatbot__panel{--site-chatbot-panel-max-height:max(260px,calc(var(--site-chatbot-viewport-height) - var(--site-chatbot-consent-offset) - var(--site-chatbot-keyboard-offset) - var(--site-chatbot-edge) - env(safe-area-inset-bottom) - 10px));--site-chatbot-center-height:clamp(130px,calc(var(--site-chatbot-panel-max-height) - 244px),360px);--site-chatbot-expanded-height:var(--site-chatbot-panel-max-height);position:fixed;right:calc(var(--site-chatbot-edge) + env(safe-area-inset-right));left:calc(var(--site-chatbot-edge) + env(safe-area-inset-left));bottom:calc(var(--site-chatbot-edge) + env(safe-area-inset-bottom) + var(--site-chatbot-keyboard-offset));width:auto;max-height:var(--site-chatbot-panel-max-height);transform-origin:bottom center}.site-chatbot[data-keyboard="true"][data-state="open"][data-expanded="true"] .site-chatbot__panel{--site-chatbot-center-height:max(130px,calc(var(--site-chatbot-expanded-height) - 246px))}.site-chatbot[data-keyboard="true"][data-state="open"] .site-chatbot__quick-prompts{display:none}.site-chatbot__messages{padding:12px}.site-chatbot__message{max-width:94%}}@media (max-width:420px){.site-chatbot__quick-prompts{padding-inline:12px}}@media (prefers-reduced-motion:reduce){.site-chatbot__launcher,.site-chatbot__launcher-text,.site-chatbot__nudge,.site-chatbot__panel,.site-chatbot__messages,.site-chatbot{transition:none}.site-chatbot[data-nudge="true"][data-state="closed"] .site-chatbot__launcher{animation:none}}}html[data-project-demo-theme="brand"]{color-scheme:light;--bg:var(--brand-canvas,#f9f9fa);--surface:#ffffff;--surface-2:color-mix(in srgb,var(--brand-mist,#eef2f7) 72%,#ffffff 28%);--surface-3:color-mix(in srgb,var(--brand-mist,#eef2f7) 58%,#ffffff 42%);--surface-4:color-mix(in srgb,var(--brand-mist,#eef2f7) 48%,#ffffff 52%);--surface-accent:color-mix(in srgb,var(--brand-midnight,#091f3b) 12%,transparent);--panel:#ffffff;--panel-soft:color-mix(in srgb,var(--brand-mist,#eef2f7) 72%,#ffffff 28%);--panel-raised:#ffffff;--text:var(--brand-midnight,#091f3b);--muted:var(--brand-slate,#475569);--line:color-mix(in srgb,var(--brand-midnight,#091f3b) 12%,transparent);--line-strong:color-mix(in srgb,var(--brand-signal-blue,#005fed) 32%,transparent);--primary:var(--brand-signal-blue,#005fed);--primary-soft:color-mix(in srgb,var(--brand-signal-blue,#005fed) 12%,transparent);--accent:var(--brand-signal-blue,#005fed);--accent-2:var(--brand-deep-blue,#0145c8);--accent-strong:var(--brand-deep-blue,#0145c8);--accent-soft:color-mix(in srgb,var(--brand-signal-blue,#005fed) 12%,transparent);--warning:var(--brand-action-copper,#d97706);--danger:var(--brand-risk,#b91c1c);--success:var(--brand-success,#166534);--border:color-mix(in srgb,var(--brand-midnight,#091f3b) 12%,transparent);--chart-grid:color-mix(in srgb,var(--brand-midnight,#091f3b) 10%,transparent);--chart-line:var(--brand-signal-blue,#005fed);--chart-dot:#ffffff;--grid-line:color-mix(in srgb,var(--brand-midnight,#091f3b) 10%,transparent);--shadow-1:0 2px 8px rgba(9,31,59,.08);--shadow-2:0 18px 40px rgba(9,31,59,.14);--shadow:0 18px 42px rgba(9,31,59,.14)}html[data-project-demo-theme="brand"] body{font-family:var(--font-sans,"Inter",system-ui,-apple-system,"Segoe UI",sans-serif);color:var(--brand-midnight,#091f3b);background:radial-gradient(900px 460px at 8% -12%,color-mix(in srgb,var(--brand-signal-blue,#005fed) 11%,transparent),transparent 64%),radial-gradient(680px 380px at 100% 0%,color-mix(in srgb,var(--brand-action-copper,#d97706) 8%,transparent),transparent 70%),var(--brand-canvas,#f9f9fa)}html[data-project-demo-theme="brand"][data-embedded="true"]{--page-pad:0px}html[data-project-demo-theme="brand"][data-embedded="true"] body{background:#ffffff;padding:0 !important}html[data-project-demo-theme="brand"][data-embedded="true"] :is( #demo-box,#demo-shell,#demo-card,main.card,.demo-root ){width:100%;max-width:none;border:0;border-radius:0;box-shadow:none;background:#ffffff}html[data-project-demo-theme="brand"][data-embedded="true"] :is( #demo-box,#demo-shell,#demo-card,main.card ){min-height:0 !important}html[data-project-demo-theme="brand"][data-embedded="true"] .demo-root{padding:0 !important;gap:8px}html[data-project-demo-theme="brand"] :is( #demo-box,#demo-shell,#demo-card,main.card,.demo-root,.chat-shell,.popup-phone ){background:#ffffff;border-color:color-mix(in srgb,var(--brand-midnight,#091f3b) 12%,transparent);box-shadow:var(--shadow-2);color:var(--brand-midnight,#091f3b)}html[data-project-demo-theme="brand"][data-embedded="true"] :is( header.card-header,.demo-toolbar,.health-row,.status-row ){border-radius:0;box-shadow:none}html[data-project-demo-theme="brand"][data-embedded="true"] :is( header.card-header,.demo-toolbar ){background:#ffffff}@media (max-width:768px){html[data-project-demo-theme="brand"][data-embedded="true"] :is( header.card-header,.demo-toolbar ){gap:8px;padding:10px 12px}html[data-project-demo-theme="brand"][data-embedded="true"] :is( .health-row,.status-row,.controls ){gap:8px;padding-inline:12px}html[data-project-demo-theme="brand"][data-embedded="true"] :is( .panel,.stat-card,.kpi-card,.insight-card,.result-card,.score-card,.settings-panel ){border-radius:10px;box-shadow:none}}html[data-project-demo-theme="brand"] :is( header.card-header,.demo-toolbar,.chat-head,.chat-composer,.status-row,.health-row,.panel,.stat-card,.kpi-card,.insight-card,.result-card,.timer-detail-panel,.startup-notice-panel,.source-menu,.result,.results article,.score-card,.settings-panel ){background:color-mix(in srgb,var(--brand-mist,#eef2f7) 64%,#ffffff 36%);border-color:color-mix(in srgb,var(--brand-midnight,#091f3b) 12%,transparent);color:var(--brand-midnight,#091f3b);box-shadow:var(--shadow-1)}html[data-project-demo-theme="brand"] :is(.health-row,.status-row){display:flex !important;align-items:center !important;flex-wrap:wrap !important;justify-content:flex-start !important;gap:12px !important;width:100% !important;padding:10px 18px 14px !important;border-bottom:1px solid color-mix(in srgb,var(--brand-midnight,#091f3b) 12%,transparent) !important;background:color-mix(in srgb,var(--brand-mist,#eef2f7) 64%,#ffffff 36%) !important;box-shadow:none !important}html[data-project-demo-theme="brand"] :is(.health-pill,.status-pill){display:inline-flex !important;align-items:center !important;flex:0 0 auto !important;gap:6px !important;padding:6px 12px !important;border-radius:999px !important;font-size:.68rem !important;letter-spacing:.1em !important;line-height:1 !important;text-transform:uppercase !important}html[data-project-demo-theme="brand"] :is(.health-meta,.status-meta){color:var(--brand-slate,#475569) !important;font-size:.78rem !important}html[data-project-demo-theme="brand"] .status-note{margin-left:auto !important;color:color-mix(in srgb,var(--brand-slate,#475569) 74%,#ffffff 26%) !important;font-size:.72rem !important}@media (max-width:768px){html[data-project-demo-theme="brand"] :is(.health-row,.status-row){gap:8px !important;padding:10px 12px 12px !important}html[data-project-demo-theme="brand"] .status-note{width:100% !important;margin-left:0 !important}}html[data-project-demo-theme="brand"] :is( .title,.demo-title h1,.chat-head h2,.panel-title h2,.panel-title h3,.kpi-value,.metric-value,.stat-card strong,.result-card strong ){font-family:var(--font-sans,"Inter",system-ui,-apple-system,"Segoe UI",sans-serif);color:var(--brand-midnight,#091f3b);letter-spacing:0}html[data-project-demo-theme="brand"] :is( .subtitle,.demo-title p,.status-meta,.status-note,.demo-note,.hint,.metric-label,.kpi-label,.kpi-sub,.meta-chip,.table-header,.message-meta,.timer-detail-label,.source-title ){color:var(--brand-slate,#475569)}html[data-project-demo-theme="brand"] :is( input,select,textarea,.chat-form textarea,.endpoint-input,.input,.control,.name-search,.number-input ){background:#ffffff;border-color:color-mix(in srgb,var(--brand-midnight,#091f3b) 14%,transparent);color:var(--brand-midnight,#091f3b);box-shadow:none}html[data-project-demo-theme="brand"] :is( input,select,textarea,.chat-form textarea ):focus{outline:3px solid color-mix(in srgb,var(--brand-signal-blue,#005fed) 18%,transparent);border-color:color-mix(in srgb,var(--brand-signal-blue,#005fed) 48%,transparent)}html[data-project-demo-theme="brand"] :is( button,.btn,.warmup-button,.chat-send,.grid-number-pill,.toolbar button,.control-btn ){font-family:var(--font-sans,"Inter",system-ui,-apple-system,"Segoe UI",sans-serif);letter-spacing:0;border-color:color-mix(in srgb,var(--brand-signal-blue,#005fed) 34%,transparent)}html[data-project-demo-theme="brand"] :is( .primary,button.primary,.warmup-button,.chat-send,.grid-number-pill ){background:linear-gradient(180deg,var(--brand-signal-blue,#005fed),var(--brand-deep-blue,#0145c8));color:#ffffff;box-shadow:0 10px 24px color-mix(in srgb,var(--brand-signal-blue,#005fed) 22%,transparent)}html[data-project-demo-theme="brand"] :is( .clear-button,.view-tab,.tab,.toolbar button,button.secondary ){background:#ffffff;color:var(--brand-midnight,#091f3b);border-color:color-mix(in srgb,var(--brand-midnight,#091f3b) 12%,transparent)}html[data-project-demo-theme="brand"] :is( .view-tab.active,.tab.active,.toolbar button.active,button[aria-selected="true"] ){background:color-mix(in srgb,var(--brand-signal-blue,#005fed) 10%,#ffffff 90%);color:var(--brand-midnight,#091f3b);border-color:color-mix(in srgb,var(--brand-signal-blue,#005fed) 36%,transparent)}html[data-project-demo-theme="brand"] :is( .health-pill,.status-pill,.pill,.risk-pill,.badge,.source-pill ){background:color-mix(in srgb,var(--brand-signal-blue,#005fed) 9%,#ffffff 91%);border-color:color-mix(in srgb,var(--brand-signal-blue,#005fed) 26%,transparent);color:var(--brand-deep-blue,#0145c8)}html[data-project-demo-theme="brand"] :is(.health-pill,.status-pill,.pill)[data-state="ready"],html[data-project-demo-theme="brand"] :is(.health-pill,.status-pill,.pill)[data-state="ok"]{background:color-mix(in srgb,var(--brand-success,#166534) 10%,#ffffff 90%);border-color:color-mix(in srgb,var(--brand-success,#166534) 32%,transparent);color:var(--brand-success,#166534)}html[data-project-demo-theme="brand"] :is(.health-pill,.status-pill,.pill)[data-state="warming"],html[data-project-demo-theme="brand"] :is(.health-pill,.status-pill,.pill)[data-state="loading"]{background:color-mix(in srgb,var(--brand-action-copper,#d97706) 12%,#ffffff 88%);border-color:color-mix(in srgb,var(--brand-action-copper,#d97706) 36%,transparent);color:color-mix(in srgb,var(--brand-action-copper,#d97706) 78%,var(--brand-midnight,#091f3b) 22%)}html[data-project-demo-theme="brand"] :is(.health-pill,.status-pill,.pill)[data-state="err"],html[data-project-demo-theme="brand"] :is(.health-pill,.status-pill,.pill)[data-state="error"]{background:color-mix(in srgb,var(--brand-risk,#b91c1c) 10%,#ffffff 90%);border-color:color-mix(in srgb,var(--brand-risk,#b91c1c) 36%,transparent);color:var(--brand-risk,#b91c1c)}html[data-project-demo-theme="brand"] :is( .kpi-card.is-accent,.kpi-card.is-primary,.stat-card.is-primary,.result-card.is-primary ){background:linear-gradient(140deg,color-mix(in srgb,var(--brand-signal-blue,#005fed) 12%,#ffffff 88%),color-mix(in srgb,var(--brand-mist,#eef2f7) 70%,#ffffff 30%));border-color:color-mix(in srgb,var(--brand-signal-blue,#005fed) 28%,transparent)}html[data-project-demo-theme="brand"] :is( .bar-fill,.confidence,.score-bar,.heat-legend-bar,.progress-fill ){background:linear-gradient(90deg,var(--brand-signal-blue,#005fed),var(--brand-deep-blue,#0145c8),var(--brand-action-copper,#d97706))}html[data-project-demo-theme="brand"] :is( .table-row,.name-row,.score-row,.confidence-row,.list-row,.signal-block,.metric-card,.backend-card,.message-assistant .message-bubble,.assistant-message .message-bubble ){background:#ffffff;border-color:color-mix(in srgb,var(--brand-midnight,#091f3b) 10%,transparent);color:var(--brand-midnight,#091f3b)}html[data-project-demo-theme="brand"] :is( .message-user .message-bubble,.chat-message.user .message-bubble ){background:var(--brand-signal-blue,#005fed);color:#ffffff}html[data-project-demo-theme="brand"] :is(.message.user,.chat-message.user){background:linear-gradient(180deg,var(--brand-signal-blue,#005fed),var(--brand-deep-blue,#0145c8));color:#ffffff}html[data-project-demo-theme="brand"] :is(.message.assistant,.chat-message.assistant){background:#ffffff;color:var(--brand-midnight,#091f3b);border-color:color-mix(in srgb,var(--brand-midnight,#091f3b) 10%,transparent);box-shadow:var(--shadow-1)}html[data-project-demo-theme="brand"] :is(.view-tabs,.source-menu){background:#ffffff;border-color:color-mix(in srgb,var(--brand-midnight,#091f3b) 12%,transparent)}html[data-project-demo-theme="brand"] :is(.chat-messages){background:radial-gradient(circle at 80% 0%,color-mix(in srgb,var(--brand-signal-blue,#005fed) 8%,transparent),transparent 18rem),color-mix(in srgb,var(--brand-mist,#eef2f7) 58%,#ffffff 42%)}html[data-project-demo-theme="brand"] :is(.followup,.suggestion,.popup-close){background:color-mix(in srgb,var(--brand-signal-blue,#005fed) 7%,#ffffff 93%);border-color:color-mix(in srgb,var(--brand-signal-blue,#005fed) 24%,transparent);color:var(--brand-midnight,#091f3b)}html[data-project-demo-theme="brand"] :is(.canvas-frame,.board-shell,.grid-shell,.map-panel,#map){background:#ffffff;border-color:color-mix(in srgb,var(--brand-midnight,#091f3b) 12%,transparent);box-shadow:var(--shadow-1)}html[data-project-demo-theme="brand"] .leaflet-container{background:var(--brand-mist,#eef2f7);color:var(--brand-midnight,#091f3b)}html[data-project-demo-theme="brand"] a{color:var(--brand-deep-blue,#0145c8)}html[data-project-demo-theme="brand"] :is( #demo-box,#demo-shell,#demo-card,main.card,.demo-root ){max-width:100% !important;min-width:0 !important;background:#ffffff !important;border-color:color-mix(in srgb,var(--brand-midnight,#091f3b) 12%,transparent) !important;color:var(--brand-midnight,#091f3b) !important}html[data-project-demo-theme="brand"] header.card-header{display:flex !important;align-items:center !important;justify-content:space-between !important;flex-wrap:wrap !important;gap:14px !important;padding:16px clamp(16px,2.1vw,22px) !important;background:#ffffff !important;border-bottom:1px solid color-mix(in srgb,var(--brand-midnight,#091f3b) 12%,transparent) !important;box-shadow:none !important}html[data-project-demo-theme="brand"] header.card-header .header-actions{display:flex !important;align-items:center !important;justify-content:flex-end !important;flex-wrap:wrap !important;gap:10px !important;margin-left:auto !important}html[data-project-demo-theme="brand"] .aws-status-badge{flex:0 0 auto !important;box-shadow:none !important}html[data-project-demo-theme="brand"] .demo-meta-row{display:flex !important;align-items:center !important;flex-wrap:wrap !important;justify-content:flex-start !important;gap:12px !important;width:100% !important;padding:8px clamp(16px,2.1vw,22px) 12px !important;border-bottom:1px solid color-mix(in srgb,var(--brand-midnight,#091f3b) 10%,transparent) !important;background:color-mix(in srgb,var(--brand-mist,#eef2f7) 56%,#ffffff 44%) !important;color:var(--brand-slate,#475569) !important;box-shadow:none !important}html[data-project-demo-theme="brand"] .demo-meta-row :is(.status,.status-meta,.status-note,.health-meta){color:var(--brand-slate,#475569) !important}html[data-project-demo-theme="brand"] .status.demo-meta-row{color:var(--brand-slate,#475569) !important;font-size:0.85rem !important}html[data-project-demo-theme="brand"] :is(.content,.panel,.section-head,.panel-header,.metric-header,.panel-title,.detail-header,.kpi-grid,.grid,.result-grid,.chart-grid,.metrics){max-width:100% !important;min-width:0 !important}html[data-project-demo-theme="brand"] :is(.section-head,.panel-header,.metric-header,.panel-title,.detail-header){flex-wrap:wrap !important;gap:8px !important}html[data-project-demo-theme="brand"] :is(.section-head,.panel-header,.metric-header,.panel-title,.detail-header) > *{max-width:100% !important;min-width:0 !important}html[data-project-demo-theme="brand"] :is( .panel,.stat-card,.kpi-card,.metric-card,.result-card,.score-card,.insight-card,.metric,.trend,.board-shell,.backend-card,.settings-panel,.grid-shell,.canvas-frame,.chart-wrap,.map-svg,.scenario-segment,.source-menu,.timer-detail-panel,.startup-notice-panel ){background:color-mix(in srgb,var(--brand-mist,#eef2f7) 42%,#ffffff 58%) !important;border-color:color-mix(in srgb,var(--brand-midnight,#091f3b) 12%,transparent) !important;color:var(--brand-midnight,#091f3b) !important;box-shadow:var(--shadow-1) !important}html[data-project-demo-theme="brand"] :is( .stat-card,.kpi-card,.metric-card,.result-card,.score-card,.insight-card,.metric ){--dashboard-card-accent:var(--kpi-accent,var(--brand-signal-blue,#005fed));position:relative !important;overflow:hidden !important;background:linear-gradient(135deg,color-mix(in srgb,var(--dashboard-card-accent) 5%,#ffffff 95%),#ffffff 58%) !important;border-color:color-mix(in srgb,var(--dashboard-card-accent) 22%,transparent) !important}html[data-project-demo-theme="brand"] :is( .stat-card,.kpi-card,.metric-card,.result-card,.score-card,.insight-card,.metric )::before{content:"";position:absolute;inset:0 auto 0 0;width:3px;background:var(--dashboard-card-accent)}html[data-project-demo-theme="brand"] :is( .stat-label,.kpi-label,.metric-label,.insight-title,.result-label ){color:color-mix(in srgb,var(--dashboard-card-accent,var(--brand-signal-blue,#005fed)) 54%,var(--brand-midnight,#091f3b) 46%) !important;font-weight:700 !important;letter-spacing:.08em !important;text-transform:uppercase !important}html[data-project-demo-theme="brand"] :is( .stat-value,.kpi-value,.metric-value,.insight-value,.result-value,.result-card strong,.score-card strong,.hotspot-score,.driver-label ){color:var(--brand-midnight,#091f3b) !important;font-weight:700 !important}html[data-project-demo-theme="brand"] :is( .stat-sub,.kpi-sub,.metric-sub,.insight-meta,.result-meta,.detail-meta ){color:var(--brand-slate,#475569) !important}html[data-project-demo-theme="brand"] :is( .mini-list li,.name-list li,.breakdown-list li,.record-list li,.drivers li,.hotspots li,.territories li,.log-entry,.clue,.list-item,.table-row,.map-meta span,.bar-row:hover,.digit-cell,.step,.meta-chip,.pill,.tab-btn,.segment,.filter-row input,.filter-row select,.filter-grid input,.filter-grid select ){background:#ffffff !important;border-color:color-mix(in srgb,var(--brand-midnight,#091f3b) 12%,transparent) !important;color:var(--brand-midnight,#091f3b) !important}html[data-project-demo-theme="brand"] :is(.drivers li,.hotspots li,.territories li){padding:8px 10px !important;border:1px solid color-mix(in srgb,var(--brand-midnight,#091f3b) 12%,transparent) !important;border-radius:10px !important}html[data-project-demo-theme="brand"] :is(.tab-btn.is-active,.segment button.is-active){background:color-mix(in srgb,var(--brand-signal-blue,#005fed) 10%,#ffffff 90%) !important;border-color:color-mix(in srgb,var(--brand-signal-blue,#005fed) 36%,transparent) !important;color:var(--brand-deep-blue,#0145c8) !important}html[data-project-demo-theme="brand"] :is(.bar-track,.confidence-track,.score-track){background:color-mix(in srgb,var(--brand-midnight,#091f3b) 10%,#ffffff 90%) !important}@media (max-width:768px){html[data-project-demo-theme="brand"] header.card-header{align-items:flex-start !important;padding:12px !important}html[data-project-demo-theme="brand"] header.card-header .header-actions{width:100% !important;max-width:100% !important;min-width:0 !important;margin-left:0 !important;justify-content:flex-start !important}html[data-project-demo-theme="brand"] header.card-header .header-actions > *{flex:0 1 auto !important;max-width:100% !important;min-width:0 !important}html[data-project-demo-theme="brand"] header.card-header .header-actions :is(.pill,.btn-ghost,.health-meta,.status-meta){white-space:normal !important;overflow-wrap:anywhere !important;line-height:1.35 !important}html[data-project-demo-theme="brand"] header.card-header .header-actions .aws-status-badge{white-space:nowrap !important}html[data-project-demo-theme="brand"] .demo-meta-row{gap:8px !important;padding:8px 12px 10px !important}}@media (max-width:520px){html[data-project-demo-theme="brand"] header.card-header .header-actions{display:grid !important;grid-template-columns:1fr !important}html[data-project-demo-theme="brand"] header.card-header .header-actions > *{width:100% !important;justify-content:center !important;text-align:center !important}html[data-project-demo-theme="brand"] :is(.section-head,.panel-header,.metric-header,.panel-title,.detail-header){align-items:flex-start !important;flex-wrap:wrap !important;gap:8px !important}html[data-project-demo-theme="brand"] :is(.section-head,.panel-header,.metric-header,.panel-title,.detail-header) > *{max-width:100% !important;min-width:0 !important}}@layer layout{.footer{margin-top:auto;background:#090C10;color:var(--text-muted);text-align:center;padding:32px 0;display:flex;flex-direction:column;align-items:center;gap:18px;font-size:14px}.footer.footer-classic{text-align:left;padding:clamp(1.9rem,4.5vh,2.6rem) 0 clamp(1.2rem,3vh,1.6rem);gap:0}.footer.footer-classic .footer-inner{width:100%;display:grid;gap:clamp(14px,3vw,18px)}.footer.footer-classic .footer-nav{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:clamp(14px,3.2vw,22px);align-items:start}.footer.footer-classic .footer-col{display:grid;gap:6px;align-content:start}.footer.footer-classic .footer-col-title{margin:0 0 2px;font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:color-mix(in srgb,var(--text-muted) 88%,#ffffff 12%);font-family:'Inter';font-weight:600}.footer.footer-classic .footer-link{display:inline-flex;align-items:center;justify-content:flex-start;padding:1px 0;border:none;background:none;color:color-mix(in srgb,var(--text-muted) 92%,#ffffff 8%);font-size:12.5px;font-family:'Inter';line-height:1.6;text-decoration:none;cursor:pointer;appearance:none;text-align:left}.footer.footer-classic .footer-link:hover{color:color-mix(in srgb,var(--text-light) 92%,#ffffff 8%);text-decoration:underline;text-underline-offset:3px}.footer.footer-classic .footer-link:focus-visible{outline:2px solid color-mix(in srgb,var(--primary) 70%,#ffffff 30%);outline-offset:3px;border-radius:8px}.footer.footer-classic .footer-meta{margin:0;padding-top:clamp(12px,2.4vh,14px);border-top:1px solid color-mix(in srgb,var(--primary) 12%,transparent);font-size:12.5px;font-family:'Inter';font-weight:500;color:color-mix(in srgb,var(--text-light) 72%,var(--text-muted) 28%)}@media (max-width:640px){.footer.footer-classic{text-align:left}.footer.footer-classic .footer-nav{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 20px}.footer.footer-classic .footer-link{justify-content:flex-start;text-align:left}}}@layer utilities{.featured-track{display:flex;gap:24px;overflow-x:auto;scroll-behavior:smooth;margin-inline:-16px;padding:8px 16px}.featured-track::-webkit-scrollbar{display:none}.featured-card{flex:0 0 80%;max-width:320px;scroll-snap-align:center;border-radius:14px;overflow:hidden;cursor:pointer;background:var(--surface);transition:transform .35s,box-shadow .35s}.featured-card img{width:100%;height:200px;object-fit:cover;display:block}.featured-card .card-body{padding:20px}.featured-card h3{margin:0 0 4px}.featured-card p{margin:0;color:var(--text-muted)}.featured-card:hover{transform:translateY(-8px)scale(1.04);box-shadow:0 14px 34px color-mix(in srgb,var(--primary) 32%,transparent),0 6px 20px rgba(0,0,0,.55)}#portfolio-carousel{position:relative;overflow:hidden;max-width:var(--container-max);margin-inline:auto}#portfolio-carousel-section{margin-top:24px;margin-bottom:24px}#portfolio-carousel-section .section-title{text-align:center;margin-bottom:20px}#portfolio-carousel .carousel-track{display:flex;gap:24px;transition:transform .6s cubic-bezier(.22,.61,.36,1);will-change:transform}.carousel-card{--carousel-scale:.9;flex:0 0 70%;max-width:340px;opacity:.7;transform:translateZ(0) scale(var(--carousel-scale));transition:transform .5s cubic-bezier(.22,.61,.36,1),opacity .5s cubic-bezier(.22,.61,.36,1),box-shadow .35s cubic-bezier(.22,.61,.36,1);will-change:transform;backface-visibility:hidden;-webkit-transform:translateZ(0) scale(var(--carousel-scale))}.carousel-card.active{--carousel-scale:1;opacity:1}.carousel-card{user-select:none}.carousel-card img,.carousel-card video{-webkit-user-drag:none;user-select:none;pointer-events:none}#portfolio-carousel .carousel-card:hover{transform:translateZ(0) translateY(-4px) scale(var(--carousel-scale))}.carousel-dots{text-align:center;margin-top:16px}.carousel-dot{display:inline-block;width:24px;height:24px;padding:0;line-height:0;border-radius:50%;border:2px solid var(--primary);background:transparent;cursor:pointer;aspect-ratio:1;margin:0 6px}.carousel-dot.active{background:var(--primary)}#portfolio-carousel.dragging{cursor:grabbing;user-select:none}@media (max-width:768px){.carousel-card{flex:0 0 80%}}.contact-page{scrollbar-color:var(--primary) var(--surface)}.contact-page::-webkit-scrollbar{width:10px;background:var(--surface)}.contact-page::-webkit-scrollbar-thumb{background:var(--primary);border-radius:6px}.contact-page::-webkit-scrollbar-thumb:hover{background:color-mix(in srgb,var(--primary) 75%,#000 25%)}#cta{padding:clamp(3.2rem,6vw,4.6rem) 0}#cta .wrapper{display:flex;justify-content:center}#cta #cta-link{display:flex;flex-direction:column;gap:clamp(1.1rem,2vw,1.6rem);align-items:center;max-width:640px;border-radius:24px;padding:clamp(2.2rem,4vw,2.8rem) clamp(2.2rem,4vw,3.2rem);background:color-mix(in srgb,var(--surface) 88%,#000 12%);border:1px solid color-mix(in srgb,var(--primary) 18%,transparent);box-shadow:0 22px 48px rgba(0,0,0,.32);text-align:center}#cta #cta-link h2{margin:0}#cta #cta-link p{margin:0;color:color-mix(in srgb,var(--text-muted) 92%,#ffffff 8%)}#cta #cta-link > div{display:flex;justify-content:center;align-items:center;gap:16px;flex-wrap:wrap}.burger{display:none}@media (max-width:768px){.burger{display:block;margin-left:auto;padding:8px;background:none;border:none;cursor:pointer;z-index:1001}.burger .bar{display:block;width:22px;height:3px;margin:4px 0;background:var(--text-light);transition:transform .3s,opacity .3s}.burger[aria-expanded="true"] .bar:nth-child(1){transform:translateY(7px) rotate(45deg)}.burger[aria-expanded="true"] .bar:nth-child(2){opacity:0}.burger[aria-expanded="true"] .bar:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.nav{--nav-block-padding:clamp(12px,3vw,18px);--nav-inline-padding:clamp(20px,6vw,28px);--nav-mobile-dropdown-max:calc(100svh - var(--nav-height,72px) - clamp(32px,12vh,96px))}.nav .wrapper{padding:var(--nav-block-padding) var(--nav-inline-padding);gap:16px}.nav-row{position:absolute;top:calc(100% - var(--nav-border-width));left:50%;right:auto;width:min(420px,calc(100% - 32px));box-sizing:border-box;display:flex;flex-direction:column;align-items:stretch;gap:12px;padding:16px;border-radius:0 0 20px 20px;border:1px solid color-mix(in srgb,var(--primary) 22%,var(--surface) 78%);border-top:none;background:var(--surface);box-shadow:0 24px 48px rgba(0,0,0,.45);transform:translateX(-50%);opacity:0;pointer-events:none;max-height:0;overflow:hidden;-webkit-clip-path:inset(0 0 100% 0);clip-path:inset(0 0 100% 0);transition:max-height .28s ease,-webkit-clip-path .28s ease,clip-path .28s ease,opacity .2s ease}.nav-row.open{opacity:1;max-height:var(--nav-mobile-dropdown-max,calc(100svh - var(--nav-height,72px) - 48px));pointer-events:auto;-webkit-clip-path:inset(0 0 0 0);clip-path:inset(0 0 0 0);overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch}.nav-row,.nav-row.open{scrollbar-width:none}.nav-row::-webkit-scrollbar{width:0;height:0}.nav-row .nav-link{width:100%;justify-content:center;text-align:center;gap:8px;padding:14px 18px;box-sizing:border-box;border:1px solid color-mix(in srgb,var(--primary) 22%,transparent);border-radius:14px;font-size:1.02rem;letter-spacing:.01em;background:color-mix(in srgb,var(--surface) 86%,#020509 14%);box-shadow:0 16px 32px rgba(0,0,0,.28);transition:color .25s ease,border-color .25s ease,background .25s ease,transform .25s ease}.nav-row .nav-link::after{display:none}.nav-row .nav-link:hover,.nav-row .nav-link:focus-visible{color:color-mix(in srgb,var(--text-light) 96%,#ffffff 4%);border-color:color-mix(in srgb,var(--primary) 42%,transparent);background:color-mix(in srgb,var(--surface) 92%,#0b1520 8%);transform:translateY(-1px)}.nav-row .nav-link.is-current{color:color-mix(in srgb,var(--text-light) 94%,#ffffff 6%);border-color:color-mix(in srgb,var(--primary) 36%,transparent)}.nav-row .nav-link + .nav-link{margin-top:4px}.nav-row .nav-link.nav-link-cta{margin-top:10px;justify-content:center;padding:14px 18px;border-radius:999px;border:none;background:linear-gradient(135deg,color-mix(in srgb,var(--primary) 92%,#ffffff 8%) 0%,color-mix(in srgb,var(--primary) 70%,#071219 30%) 100%);box-shadow:0 22px 42px rgba(0,0,0,.36)}.nav-search{order:-1;justify-self:stretch;width:100%;min-width:0}.nav-search-field{width:100%;min-width:0}.nav-search.nav-search-is-enhanced,.nav-search.nav-search-is-enhanced.is-expanded{width:100%}.nav-search-input{width:100%;box-sizing:border-box;padding:14px 52px 14px 18px;border-radius:14px;border:1px solid color-mix(in srgb,var(--primary) 22%,transparent);background:color-mix(in srgb,var(--surface) 86%,#020509 14%);box-shadow:0 16px 32px rgba(0,0,0,.28);font-size:1.02rem}.nav-search.nav-search-is-enhanced:not(.is-expanded) .nav-search-input{opacity:1;pointer-events:auto}.nav-search-button{right:10px;width:38px;height:38px;border-radius:12px;background:color-mix(in srgb,var(--primary) 18%,var(--surface) 82%);border-color:color-mix(in srgb,var(--primary) 32%,transparent)}.nav-item{width:100%;display:block}.nav-item-portfolio .nav-link-has-menu,.nav-item-contributions .nav-link-has-menu,.nav-item-resume .nav-link-has-menu,.nav-item-contact .nav-link-has-menu{gap:0}.nav-item-portfolio .nav-link-caret,.nav-item-contributions .nav-link-caret,.nav-item-resume .nav-link-caret,.nav-item-contact .nav-link-caret{display:none}.nav-item-portfolio .nav-dropdown,.nav-item-contributions .nav-dropdown,.nav-item-resume .nav-dropdown,.nav-item-contact .nav-dropdown{display:none !important}.grid-container{grid-template-columns:1fr;margin-inline:auto;width:100%;max-width:min(var(--container-max),480px);justify-items:stretch;gap:clamp(18px,5vw,26px)}.hero-kpis.grid-container{margin:clamp(1.6rem,4.5vh,2.4rem) auto 0;padding-inline:clamp(10px,2vw,18px);width:100%;max-width:min(var(--container-max),1100px);box-sizing:border-box;gap:clamp(1.1rem,4.5vw,1.8rem);display:flex;flex-wrap:wrap;justify-content:center}.hero-kpis .hero-kpi-link{box-sizing:border-box;width:100%;max-width:100%;margin-inline:auto}.brand{flex-shrink:1;min-width:0;overflow:hidden}.brand-name{white-space:normal;word-break:break-word;text-align:left}.cta-group{display:flex;flex-direction:column;gap:12px;align-items:center;width:90%;max-width:100%;margin:0 auto}.cta-group .hero-cta{width:90%;text-align:center;align-items:center;padding:16px;font-size:1.05rem}.hero h1{font-size:clamp(28px,8vw,34px);line-height:1.2;text-align:center}.hero p{font-size:clamp(16px,4.5vw,18px);text-align:center}.hero-status{font-size:0.78rem;margin-inline:auto}#cta .wrapper{padding-inline:clamp(18px,6vw,28px)}#cta #cta-link{align-items:center;text-align:center}#cta #cta-link p{text-align:center}.btn-primary,.btn-secondary{padding:14px 28px;font-size:1rem}}.modal-content{scrollbar-color:var(--primary) var(--surface)}.modal-content::-webkit-scrollbar{width:10px;background:var(--surface)}.modal-content::-webkit-scrollbar-thumb{background:var(--primary);border-radius:6px}.modal-content::-webkit-scrollbar-thumb:hover{background:color-mix(in srgb,var(--primary) 75%,#000 25%)}.docs-carousel.dragging{cursor:grabbing;user-select:none}.skill-link{position:relative;border:2px solid var(--interactive-border);transition:transform var(--motion-base) var(--easing-standard),box-shadow var(--motion-base) var(--easing-standard),border-color var(--motion-fast) var(--easing-standard),background var(--motion-fast) var(--easing-standard),color var(--motion-fast) var(--easing-standard);background:var(--interactive-bg)}.skill-link small{display:block;margin-top:6px;color:var(--text-2)}@media (hover:hover) and (pointer:fine){.skill-link:hover,.skill-link:focus-visible{transform:translateY(var(--hover-lift));box-shadow:var(--interactive-shadow-hover);border-color:var(--interactive-border-hover);cursor:pointer}.skill-link:hover small,.skill-link:focus-visible small{color:var(--text-1)}}.icon-row a{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:12px;padding:6px;background:radial-gradient(circle at 30% 30%,#ffffff 0%,#f2f4f6 65%,#e8ebed 100%);border:1px solid rgba(0,0,0,.06);box-shadow:0 2px 6px rgba(0,0,0,.25),inset 0 1px 2px rgba(255,255,255,.6);transition:transform .25s,box-shadow .25s;cursor:pointer}.icon-row a:hover{transform:translateY(-4px) scale(1.05);box-shadow:0 6px 16px rgba(0,0,0,.30),inset 0 1px 2px rgba(255,255,255,.65)}.icon-row img.icon{width:30px;height:30px}.nav{position:fixed;inset:0 auto auto 0;width:100%;z-index:1001;background:var(--surface);border-bottom:1px solid var(--border-subtle)}body.menu-open::before{content:"";position:fixed;inset:0;background:rgba(0,0,0,.65);z-index:1000;pointer-events:none}body.menu-open{overflow:hidden;overscroll-behavior:none;touch-action:none}.hero{padding-top:0;padding-bottom:0}@media(max-width:768px){.reveal{opacity:1 !important;transform:none !important}}@media(max-width:768px){.nav{--brand-logo-size:clamp(44px,10vw,56px);--brand-title-size:clamp(18px,5vw,22px);--brand-tagline-size:clamp(14px,4.4vw,18px)}.nav .wrapper{padding-inline:clamp(12px,5vw,20px);gap:12px;align-items:center}.brand{flex:1 1 auto;min-width:0}.wrapper{width:100%;box-sizing:border-box;margin-inline:auto;padding-inline:var(--mobile-page-gutter)}body .surface-band,body .interest-pad{padding:var(--mobile-section-y) 0}body:not([data-page="home"]):not(.home-pattern-page) .hero.hero--default{min-height:auto;margin-bottom:0;padding-block:var(--mobile-section-y)}body .hero.hero--tools,body .hero.hero--games{padding-block:var(--mobile-section-y-tight);box-shadow:0 12px 26px rgba(0,0,0,.28)}#projects.grid{padding:16px var(--mobile-page-gutter) 8px}#cta{padding:var(--mobile-section-y) 0}#cta #cta-link{width:100%;box-sizing:border-box;padding:var(--mobile-card-pad);border-radius:14px;box-shadow:0 12px 26px rgba(0,0,0,.24)}#cta #cta-link > div{width:100%}}@media (max-width:768px) and (orientation:landscape){:root{--nav-height:48px}.nav{--brand-logo-size:clamp(36px,7vw,44px);--brand-title-size:clamp(16px,4vw,19px);--brand-tagline-size:clamp(13px,3.4vw,16px)}.nav .wrapper{padding-block:12px;gap:clamp(8px,2vw,20px)}}body{padding-top:var(--nav-height,72px)}body::before{content:"";position:fixed;inset:0;background:color-mix(in srgb,var(--bg) 88%,transparent);backdrop-filter:blur(4px);opacity:0;pointer-events:none;z-index:1000;transition:opacity .45s ease}body.menu-open::before{opacity:1}.brand{gap:clamp(10px,2vw,16px)}.brand-name{position:relative}@media (max-width:768px){.brand{align-items:center;gap:clamp(8px,3vw,12px)}.brand-logo{--mobile-logo-target:calc(var(--nav-height,96px) * 0.5);width:max(48px,var(--mobile-logo-target));height:max(48px,var(--mobile-logo-target));min-width:max(48px,var(--mobile-logo-target));display:block}.brand-name{flex-direction:column;align-items:flex-start;gap:6px}.brand-divider{display:none}.brand-title{display:inline-block}.brand-title::after{content:"";display:block;width:100%;height:2px;margin:4px 0 2px;background:linear-gradient(90deg,color-mix(in srgb,var(--primary) 18%,transparent) 0%,color-mix(in srgb,var(--primary) 72%,transparent) 52%,color-mix(in srgb,var(--primary) 30%,transparent) 100%);border-radius:2px}.brand-tagline{display:flex;flex-direction:column;align-items:flex-start;row-gap:2px}.brand-tagline-chunk{white-space:nowrap}}.see-less-float{position:fixed;left:50%;bottom:1rem;transform:translateX(-50%);display:none;z-index:1000}.see-more-wrap.sticky{position:sticky;bottom:1rem;width:100%;text-align:center;z-index:1000;transition:opacity 0.3s ease}.see-more-wrap.sticky.fade-out{opacity:0;pointer-events:none}body:is([data-page="home"],.home-pattern-page){--home-band-a:var(--surface);--home-band-b:var(--surface-accent);--home-band-border:1px solid color-mix(in srgb,var(--primary) 14%,transparent)}body:is([data-page="home"],.home-pattern-page) main > section:not(.hero){--home-band-base:var(--home-band-a);background:linear-gradient(120deg,color-mix(in srgb,var(--home-band-base) 96%,#000 4%) 0%,color-mix(in srgb,var(--home-band-base) 88%,#000 12%) 100%);border-block:var(--home-band-border)}body:is([data-page="home"],.home-pattern-page) main > section:not(.hero):nth-of-type(odd){--home-band-base:var(--home-band-b)}.error-page #main{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:4rem 1rem;min-height:calc(100vh - var(--nav-height,0px) - 64px)}}@layer utilities{.reveal{opacity:0;transform:translateY(50px);transition:opacity .7s cubic-bezier(.2,.7,.3,1),transform .7s cubic-bezier(.2,.7,.3,1)}.reveal.active{opacity:1;transform:none}html.no-js .reveal{opacity:1;transform:none}.interest-pad{padding:48px 0}.contact-big{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:28px;padding:32px}@media (max-width:768px){.contact-big{padding:28px 0 32px}}.contact-big .contact-card{padding:32px}@media (max-width:640px){.contact-big{gap:14px;padding:var(--mobile-section-y-tight) 0}.contact-big .contact-card{padding:22px 16px;border-radius:12px;box-shadow:none}}.contact-card i{font-size:38px}#projects.grid{content-visibility:auto;contain-intrinsic-size:800px}.docs-grid{content-visibility:auto;contain-intrinsic-size:600px}.featured-track,.cert-track{content-visibility:auto;contain-intrinsic-size:220px}.health-pill[data-state="warming"]::after{content:"";width:10px;height:10px;border-radius:50%;border:2px solid currentColor;border-right-color:transparent;animation:modal-spin .9s linear infinite}@media (prefers-reduced-motion:reduce){.health-pill[data-state="warming"]::after{animation:none}}}@layer utilities{p a:not(.btn-primary):not(.btn-secondary):not(.doc-link):not(.pcz-link):not(.hero-kpi-link),li a:not(.btn-primary):not(.btn-secondary):not(.doc-link):not(.pcz-link):not(.hero-kpi-link),.modal-text a:not(.btn-primary):not(.btn-secondary):not(.doc-link):not(.pcz-link){color:var(--link);text-decoration:underline;text-underline-offset:2px}p a:hover:not(.btn-primary):not(.btn-secondary):not(.doc-link):not(.pcz-link):not(.hero-kpi-link),li a:hover:not(.btn-primary):not(.btn-secondary):not(.doc-link):not(.pcz-link):not(.hero-kpi-link),.modal-text a:hover:not(.btn-primary):not(.btn-secondary):not(.doc-link):not(.pcz-link){color:var(--link-hover)}.hero-kpis .hero-kpi-link,.hero-kpis .hero-kpi-link:hover,.hero-kpis .hero-kpi-link:visited{text-decoration:none}.surface-band{padding:clamp(2.8rem,6vh,3.8rem) 0}.section-title{margin:0;font-size:clamp(1.85rem,3vw,2.35rem);line-height:1.25;letter-spacing:.02em}.section-subtitle{margin:10px 0 0;max-width:72ch;color:var(--text-muted);font-size:1.02rem;line-height:1.7}}@layer utilities{}@layer utilities{.visually-hidden{position:absolute !important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:absolute;left:-999px;top:auto;width:1px;height:1px;overflow:hidden}.skip-link:focus{position:absolute;left:10px;top:10px;width:auto;height:auto;padding:8px 12px;background:#fff;color:#000;z-index:1000}:focus-visible{outline:var(--focus-ring);outline-offset:3px}}@layer overrides{body{--hero-art-layer:url("../img/brand/23-hero-general-light.png");--hero-mobile-art-layer:url("../img/brand/27-hero-mobile-light.png")}body[data-audience="analytics"]{--hero-art-layer:url("../img/brand/24-hero-analytics-light.png")}body[data-page="analytics"]{--hero-art-layer:url("../img/brand/07-website-hero-light-version.png");--hero-mobile-art-layer:url("../img/brand/27-hero-mobile-light.png")}body:is([data-page="data-science"],[data-audience="data-science"]){--hero-art-layer:url("../img/brand/25-hero-data-science-light.png")}body:is([data-page="tourism"],[data-audience="tourism"]){--hero-art-layer:url("../img/brand/26-hero-tourism-light.png")}:is( .btn-primary,.btn-secondary,.btn-ghost,.btn-icon,.skill-link,.icon-info,.nav-link.nav-link-cta,.nav-dropdown-link,.nav-dropdown-card,.nav-prefilter-link,.nav-highlight-card,.nav-project-card,.project-pager-link,.project-demo-help-trigger ){transition:transform var(--motion-base) var(--easing-standard),box-shadow var(--motion-base) var(--easing-standard),border-color var(--motion-fast) var(--easing-standard),background var(--motion-fast) var(--easing-standard),color var(--motion-fast) var(--easing-standard)}:is( .btn-secondary,.btn-ghost,.btn-icon,.skill-link,.icon-info,.nav-dropdown-link,.nav-dropdown-card,.nav-prefilter-link,.nav-highlight-card,.nav-project-card,.project-pager-link,.project-demo-help-trigger ){border-color:var(--interactive-border);color:var(--interactive-text)}:is( .btn-primary,.btn-secondary,.btn-ghost,.btn-icon,.skill-link,.icon-info,.nav-link,.nav-dropdown-link,.nav-dropdown-card,.nav-prefilter-link,.nav-highlight-card,.nav-project-card,.project-pager-link,.project-demo-help-trigger ):focus-visible{outline:var(--focus-ring);outline-offset:3px}@media (hover:hover) and (pointer:fine){:is( .btn-secondary,.btn-ghost,.btn-icon,.skill-link,.icon-info,.nav-dropdown-link,.nav-dropdown-card,.nav-prefilter-link,.nav-highlight-card,.nav-project-card,.project-pager-link,.project-demo-help-trigger ):hover{transform:translateY(var(--hover-lift));box-shadow:var(--interactive-shadow-hover);border-color:var(--interactive-border-hover);color:var(--text-1)}:is( .btn-primary,.nav-link.nav-link-cta,.btn-icon.btn-icon-featured ):hover{transform:translateY(var(--hover-lift-strong));box-shadow:var(--interactive-shadow-strong)}}@media (hover:none),(pointer:coarse){:is( .btn-primary,.btn-secondary,.btn-ghost,.btn-icon,.skill-link,.icon-info,.nav-link.nav-link-cta,.nav-dropdown-link,.nav-dropdown-card,.nav-prefilter-link,.nav-highlight-card,.nav-project-card,.project-pager-link,.project-demo-help-trigger ){transform:none !important}}:is( .btn-secondary,.btn-ghost,.btn-icon,.skill-link,.icon-info,.nav-dropdown-link,.nav-dropdown-card,.nav-prefilter-link,.nav-highlight-card,.nav-project-card,.project-pager-link,.project-demo-help-trigger ){background:var(--interactive-bg)}:is( .btn-secondary:hover,.btn-ghost:hover,.btn-icon:hover,.skill-link:hover,.icon-info:hover,.nav-dropdown-link:hover,.nav-dropdown-card:hover,.nav-prefilter-link:hover,.nav-highlight-card:hover,.nav-project-card:hover,.project-pager-link:hover,.project-demo-help-trigger:hover ){background:var(--interactive-bg-hover)}:is( .speed-dial__toggle.btn-icon-featured,.speed-dial .speed-dial__action--direct.btn-icon ){background:linear-gradient( 135deg,color-mix(in srgb,var(--brand-signal-blue) 88%,#ffffff 12%) 0%,var(--brand-deep-blue) 100% );color:color-mix(in srgb,#ffffff 94%,var(--bg) 6%);border-color:color-mix(in srgb,var(--brand-signal-blue) 55%,transparent);box-shadow:0 8px 22px rgba(0,95,237,.16)}@media (hover:hover) and (pointer:fine){:is( .speed-dial__toggle.btn-icon-featured,.speed-dial .speed-dial__action--direct.btn-icon ):hover,:is( .speed-dial__toggle.btn-icon-featured,.speed-dial .speed-dial__action--direct.btn-icon ):focus-visible{background:linear-gradient( 135deg,color-mix(in srgb,var(--brand-signal-blue) 94%,#ffffff 6%) 0%,color-mix(in srgb,var(--brand-deep-blue) 88%,var(--brand-midnight) 12%) 100% );color:color-mix(in srgb,#ffffff 96%,var(--bg) 4%);border-color:color-mix(in srgb,var(--brand-signal-blue) 68%,transparent);box-shadow:0 10px 26px rgba(0,95,237,.2)}}.cookie-settings__toggle.btn-icon-featured{width:52px;height:52px;background:var(--brand-signal-blue);color:#ffffff;border-color:var(--brand-signal-blue);border-radius:10px;box-shadow:0 10px 22px rgba(0,95,237,.18)}@media (hover:hover) and (pointer:fine){.cookie-settings__toggle.btn-icon-featured:hover,.cookie-settings__toggle.btn-icon-featured:focus-visible{background:var(--brand-deep-blue);color:#ffffff;border-color:var(--brand-deep-blue);box-shadow:0 16px 30px rgba(0,95,237,.24);transform:translateY(-1px)}}@media (max-width:768px){:root{--mobile-page-gutter:clamp(10px,3.6vw,16px);--mobile-section-y:clamp(1.15rem,4vw,1.8rem);--mobile-section-y-tight:clamp(.85rem,3.4vw,1.25rem);--mobile-card-pad:clamp(.85rem,3.4vw,1rem)}body .surface-band,body .interest-pad,body .home-proof-band,body .project-examples-band,body .work-band,body .cert-band{padding-block:var(--mobile-section-y)}body .project-examples-band,body .home-proof-band,body .cert-band,body .portfolio-library-section{border-block-color:color-mix(in srgb,var(--brand-cyan) 8%,transparent);background:var(--brand-mist)}body:is([data-page="analytics"],[data-page="data-science"],[data-page="tourism"]) .project-examples-band{background:#ffffff;border-block-color:color-mix(in srgb,var(--brand-midnight) 9%,transparent)}body[data-page="analytics"] #project-examples,body[data-page="analytics"] #work-experience,body[data-page="analytics"] #certifications{background:#ffffff}body[data-page="analytics"] #selected-outcomes,body[data-page="analytics"] #about-me,body[data-page="analytics"] #cta{background:var(--brand-mist)}body .home-proof-head,body .project-examples-head,body .work-head,body .cert-head,body .portfolio-library-head,body .contact-options-heading{margin-bottom:14px}body .hero.hero--tools,body .hero.hero--games{box-shadow:none}body .hero-status{display:flex;flex-wrap:wrap;min-width:0;padding:5px 12px;border-color:color-mix(in srgb,var(--primary) 14%,transparent);background:color-mix(in srgb,var(--surface) 42%,transparent);box-shadow:none;letter-spacing:.09em;line-height:1.35;overflow-wrap:anywhere;white-space:normal}body .hero h1,body .hero-tagline,body .section-title,body .section-subtitle,body .project-examples-head h2,body .destination-section-head h2,body .destination-section-head p,body .transfer-head h2,body .transfer-head p,body .audience-section-head h2,body .audience-section-head p,body .portfolio-library-copy,body .project-examples-subtitle,body .skill-subtitle,body .work-subtitle,body .cert-subtitle{width:100%;min-width:0;max-width:100%;box-sizing:border-box;overflow-wrap:anywhere;white-space:normal}body .hero h1{font-size:clamp(2rem,8vw,2.55rem);line-height:1.15}body .hero-tagline{font-size:clamp(.98rem,4.2vw,1.08rem);line-height:1.55}body .hero-proof-row{gap:0;overflow:hidden;border:1px solid color-mix(in srgb,var(--brand-cyan) 12%,transparent);border-radius:8px;background:color-mix(in srgb,var(--surface) 34%,transparent)}body .hero-proof-row li{padding:9px 10px;border:0;border-radius:0;background:transparent;box-shadow:none}body .hero-proof-row li:nth-child(odd){border-right:1px solid color-mix(in srgb,var(--brand-cyan) 10%,transparent)}body .hero-proof-row li:nth-child(n + 3){border-top:1px solid color-mix(in srgb,var(--brand-cyan) 10%,transparent)}body .hero-kpis,body .home-proof-kpis,body .work-grid,body .contact-big{gap:10px}body .hero-kpi-link,body .home-proof-card,body .work-card,body .icon-info,body .contact-card,body .audience-proof-card,body .audience-feature-card,body .audience-fit-card,body .destination-card,body .destination-output-card,body .destination-link-card,body .who-i-work-with-card,body .destination-proof-link,body .destination-metric-pill,body .hero-bullet-list li{border-radius:8px;border-color:color-mix(in srgb,var(--primary) 12%,transparent);background:color-mix(in srgb,var(--surface) 32%,transparent);box-shadow:none}body .hero-kpi-link::before,body .home-proof-card::before{opacity:.18}body .hero-kpi-link,body .home-proof-card{gap:8px;padding:12px 10px}body .home-proof-card{align-items:flex-start;text-align:left}body .home-proof-value,body .home-proof-label{justify-content:flex-start;text-align:left;margin-inline:0}body .home-proof-label,body .hero-kpi-label{line-height:1.45}body .work-card{padding:14px;gap:9px}body .work-logo-shell{height:58px;min-width:58px;padding-inline:12px;border-radius:8px;border-color:color-mix(in srgb,var(--primary) 12%,transparent);box-shadow:none}body .work-logo-shell img{max-height:40px;max-width:190px}body .work-highlights{margin-top:4px}body .work-highlights li{margin-bottom:7px}body .icon-info{align-items:flex-start;gap:8px;padding:16px 14px 14px;text-align:left}body .icon-info::before{inset:10px 14px auto;opacity:.5}body .contact-big{padding-block:8px}body .contact-card{align-items:flex-start;justify-content:flex-start;color:var(--text-light);padding:15px 14px;text-align:left}body .contact-card svg,body .contact-card .icon{width:30px;height:30px;color:color-mix(in srgb,var(--primary) 84%,#ffffff 16%)}body .contact-card small{color:color-mix(in srgb,var(--text-muted) 90%,#ffffff 10%)}body .contact-card.contact-card-recommended{background:color-mix(in srgb,var(--primary) 14%,var(--surface) 86%);border-color:color-mix(in srgb,var(--primary) 28%,transparent);box-shadow:none}body .contact-card-badge{align-self:flex-start;margin-bottom:0;padding:3px 8px}body .cert-band-inner{gap:12px}body .cert-track{height:64px;mask-image:linear-gradient(90deg,transparent 0%,black 6%,black 94%,transparent 100%);-webkit-mask-image:linear-gradient(90deg,transparent 0%,black 6%,black 94%,transparent 100%)}body .cert{gap:9px;padding:7px 14px 7px 8px;border-color:color-mix(in srgb,var(--primary) 12%,transparent);background:#ffffff;box-shadow:var(--shadow-sm);font-size:.86rem}body .cert img{width:22px;height:22px;padding:6px}body .audience-proof-grid,body .audience-feature-grid,body .audience-fit-grid,body .destination-grid,body .destination-output-grid,body .destination-link-grid,body .who-i-work-with-grid,body .destination-proof-grid,body .destination-metric-grid,body .hero-bullet-list{gap:10px}body .audience-section-head,body .transfer-head,body .destination-section-head{margin-bottom:14px}body .audience-proof-card,body .audience-feature-card,body .audience-fit-card,body .destination-card,body .destination-output-card,body .destination-link-card,body .who-i-work-with-card,body .destination-proof-link,body .destination-metric-pill,body .hero-bullet-list li{padding:14px}body .transfer-map{border-radius:8px;border-color:color-mix(in srgb,var(--primary) 12%,transparent);background:color-mix(in srgb,var(--surface) 28%,transparent);box-shadow:none}body .transfer-map-cell{padding:11px 12px}body #portfolio-carousel-section{margin-block:10px}body #portfolio-carousel-section .section-title,body #portfolio-carousel-section .carousel-dots{margin-bottom:10px}body .carousel-dots{margin-top:10px}body .carousel-dot{width:18px;height:18px;margin-inline:3px;border-width:1px}body #projects.grid{padding:10px var(--mobile-page-gutter) 4px}body #projects.portfolio-library-grid{gap:10px;padding-top:10px}body #cta{padding-block:var(--mobile-section-y)}body #cta #cta-link{width:100%;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none}body #cta #cta-link > div{gap:10px}body[data-page="analytics"].home-pattern-page #cta #cta-link{width:min(100%,560px);box-sizing:border-box;margin-inline:auto;padding:clamp(1.35rem,5vw,1.8rem) clamp(1rem,4vw,1.35rem);border:1px solid color-mix(in srgb,var(--brand-midnight) 12%,transparent);border-radius:8px;background:#ffffff;box-shadow:var(--shadow-sm)}body[data-page="analytics"].home-pattern-page #cta #cta-link h2{color:var(--brand-midnight)}body[data-page="analytics"].home-pattern-page #cta #cta-link p{color:var(--brand-slate)}}body.site-page,body.project-page,body.contact-page,body.privacy-page,body.tools-tool-page{background:linear-gradient(180deg,var(--brand-canvas) 0%,#ffffff 38%,var(--brand-mist) 100%);color:var(--brand-midnight)}body[data-page="portfolio"].site-page{background:var(--brand-canvas)}body,button,input,select,textarea{font-family:var(--font-sans)}:is(code,pre,kbd,samp,.project-tag,.resume-chip,.game-pill,.hero-status,.hero-eyebrow,.project-star-label,.project-pager-label,.nav-project-rank,.tool-label,[class*="-stat"],[class*="-metric"],[class*="-badge"]){font-family:var(--font-mono);letter-spacing:0}:is(h1,h2,h3,h4,h5,h6,.section-title,.brand-title,.project-title,.resume-name,.modal-title){font-family:var(--font-sans);color:var(--brand-midnight);letter-spacing:0}:is(p,li,.section-subtitle,.hero-tagline,.project-subtitle,.skill-subtitle,.work-subtitle,.cert-subtitle,.portfolio-library-copy){color:var(--brand-slate)}.wrapper{max-width:min(1120px,calc(100vw - 32px))}.nav{background:rgba(255,255,255,.92);border-bottom:1px solid color-mix(in srgb,var(--brand-midnight) 12%,transparent);box-shadow:0 10px 28px rgba(9,31,59,.08);backdrop-filter:blur(18px)}.nav::after{background:linear-gradient(90deg,var(--brand-action-copper),var(--brand-signal-blue))}.brand{color:var(--brand-midnight)}.brand-logo{width:clamp(42px,4vw,56px);height:auto;aspect-ratio:381 / 392;box-sizing:border-box;padding:clamp(2px,.28vw,3px);object-fit:contain;filter:none}.brand-divider{background:var(--brand-action-copper)}.brand-title{font-weight:800}.brand-tagline,.nav-link{color:var(--brand-graphite)}.nav-link::after{background:var(--brand-action-copper)}.nav-search-input,.nav-search-button{background:#ffffff;color:var(--brand-midnight);border-color:color-mix(in srgb,var(--brand-midnight) 14%,transparent);box-shadow:none}.nav-link.nav-link-cta,.btn-primary{background:var(--brand-signal-blue);color:#ffffff;border:1px solid var(--brand-signal-blue);border-radius:10px;box-shadow:0 10px 22px rgba(0,95,237,.18);font-family:var(--font-sans);font-weight:750}.btn-secondary,.btn-ghost,.btn-icon{border-radius:10px;font-family:var(--font-sans);font-weight:700}.btn-secondary{background:#ffffff;color:var(--brand-midnight);border-color:color-mix(in srgb,var(--brand-midnight) 18%,transparent);box-shadow:var(--shadow-sm)}.btn-ghost{background:transparent;color:var(--brand-deep-blue);border:1px solid color-mix(in srgb,var(--brand-deep-blue) 34%,transparent);border-style:solid}:is(.btn-primary,.nav-link.nav-link-cta):hover{background:var(--brand-deep-blue);border-color:var(--brand-deep-blue);color:#ffffff}:is(.btn-secondary,.btn-ghost,.btn-icon):hover{background:color-mix(in srgb,var(--brand-signal-blue) 7%,#ffffff 93%);color:var(--brand-midnight);border-color:color-mix(in srgb,var(--brand-signal-blue) 36%,transparent)}.nav-dropdown,.nav-row.open{background:rgba(255,255,255,.98);border-color:color-mix(in srgb,var(--brand-midnight) 12%,transparent);box-shadow:0 24px 56px rgba(9,31,59,.14)}.nav-dropdown{--nav-dropdown-row-radius:10px;--nav-dropdown-row-shadow:0 8px 18px rgba(9,31,59,.08)}.nav-dropdown-inner,.nav-dropdown-inner-simple,.nav-dropdown-inner-portfolio,.nav-dropdown-inner-contact{grid-template-columns:minmax(0,1fr);gap:12px;align-items:start}.nav-dropdown-column{gap:0}.nav-dropdown-column-actions,.nav-dropdown-card,.nav-dropdown-link,.nav-project-card,.nav-prefilter-link,.nav-highlight-card{background:#ffffff;color:var(--brand-midnight);border-color:color-mix(in srgb,var(--brand-midnight) 12%,transparent);box-shadow:none}.nav-dropdown-header,.nav-dropdown-subtitle,.nav-highlight-label{color:var(--brand-slate)}.nav-dropdown-header{margin:0 0 12px;color:var(--brand-midnight);font-family:var(--font-sans);font-size:.78rem;font-weight:800;letter-spacing:.08em}.nav-dropdown-list{gap:8px}.nav-dropdown-list .nav-dropdown-link + .nav-dropdown-link{margin-top:0}.nav-dropdown-link{min-height:58px;justify-content:center;gap:3px;padding:10px 12px;border-radius:var(--nav-dropdown-row-radius);border-color:color-mix(in srgb,var(--brand-midnight) 10%,transparent);color:var(--brand-midnight)}.nav-dropdown-title{color:var(--brand-midnight);font-size:.92rem;font-weight:700;line-height:1.2}.nav-dropdown-subtitle{color:var(--brand-slate);font-size:.84rem;line-height:1.35}.nav-dropdown-badge,.contact-card-badge{background:color-mix(in srgb,var(--brand-action-copper) 16%,#ffffff 84%);color:color-mix(in srgb,var(--brand-action-copper) 72%,var(--brand-midnight) 28%)}.nav-dropdown-badge{margin-left:2px;padding:2px 6px;font-size:.62rem;line-height:1;letter-spacing:.06em}.nav-dropdown-link:hover,.nav-dropdown-link:focus-visible{background:color-mix(in srgb,var(--brand-signal-blue) 6%,#ffffff 94%);border-color:color-mix(in srgb,var(--brand-signal-blue) 30%,transparent);box-shadow:var(--nav-dropdown-row-shadow);color:var(--brand-midnight);transform:none}@media (hover:hover) and (pointer:fine){.nav-dropdown{padding:16px;border-radius:0 0 16px 16px}.nav-item-portfolio:hover .nav-dropdown,.nav-item-portfolio:focus-within .nav-dropdown,.nav-item-portfolio.dropdown-open .nav-dropdown,.nav-item-resume:hover .nav-dropdown,.nav-item-resume:focus-within .nav-dropdown,.nav-item-resume.dropdown-open .nav-dropdown,.nav-item-contact:hover .nav-dropdown,.nav-item-contact:focus-within .nav-dropdown,.nav-item-contact.dropdown-open .nav-dropdown{-webkit-clip-path:inset(0 0 0 0 round 0 0 16px 16px);clip-path:inset(0 0 0 0 round 0 0 16px 16px)}#nav-dropdown-resume,#nav-dropdown-contact{width:min(360px,64vw);max-width:360px}}#nav-dropdown-portfolio{background:rgba(255,255,255,.98);border-color:color-mix(in srgb,var(--brand-midnight) 12%,transparent)}#nav-dropdown-portfolio .nav-dropdown-header{margin-bottom:12px}#nav-dropdown-portfolio .nav-project-grid{gap:8px}#nav-dropdown-portfolio .nav-project-card{grid-template-columns:30px 82px minmax(0,1fr);gap:10px;padding:8px 10px;border-radius:var(--nav-dropdown-row-radius);background:#ffffff;border-color:color-mix(in srgb,var(--brand-midnight) 10%,transparent);color:var(--brand-midnight);box-shadow:none}#nav-dropdown-portfolio .nav-project-card:hover,#nav-dropdown-portfolio .nav-project-card:focus-visible{background:color-mix(in srgb,var(--brand-signal-blue) 6%,#ffffff 94%);border-color:color-mix(in srgb,var(--brand-signal-blue) 30%,transparent);box-shadow:var(--nav-dropdown-row-shadow);transform:none}#nav-dropdown-portfolio .nav-project-rank{align-self:stretch;width:30px;min-width:30px;height:auto;border-right:1px solid color-mix(in srgb,var(--brand-midnight) 10%,transparent);background:transparent;box-shadow:none;color:color-mix(in srgb,var(--brand-slate) 82%,var(--brand-midnight) 18%);font-family:var(--font-mono);font-size:0;font-weight:700;letter-spacing:.08em}#nav-dropdown-portfolio .nav-project-rank::before{font-size:.72rem;line-height:1}#nav-dropdown-portfolio .nav-project-thumb{width:82px;height:62px;border-radius:8px;border:1px solid color-mix(in srgb,var(--brand-midnight) 10%,transparent);box-shadow:0 2px 8px rgba(9,31,59,.08);filter:saturate(1)}#nav-dropdown-portfolio .nav-project-meta{gap:2px;min-width:0}#nav-dropdown-portfolio .nav-dropdown-title{line-height:1.2}#nav-dropdown-portfolio .nav-dropdown-subtitle{line-height:1.35}#nav-dropdown-portfolio .nav-dropdown-footer-inline{position:relative;display:grid;grid-template-columns:1fr;gap:0;margin-top:12px;padding-top:12px;border-top:1px solid color-mix(in srgb,var(--brand-midnight) 10%,transparent)}#nav-dropdown-portfolio .nav-dropdown-footer-inline::before{content:"";position:absolute;top:-1px;left:0;width:42px;height:2px;border-radius:999px;background:var(--brand-action-copper)}#nav-dropdown-portfolio .nav-dropdown-all{min-width:0;min-height:44px;justify-content:flex-start;padding:10px 12px;border-radius:var(--nav-dropdown-row-radius);background:color-mix(in srgb,var(--brand-mist) 28%,#ffffff 72%);border-color:color-mix(in srgb,var(--brand-midnight) 10%,transparent);box-shadow:none}#nav-dropdown-portfolio .nav-dropdown-all .nav-dropdown-title{font-size:.86rem;line-height:1.18}#nav-dropdown-portfolio .nav-dropdown-all .nav-dropdown-subtitle{display:block;margin-top:3px;color:color-mix(in srgb,var(--brand-slate) 84%,var(--brand-midnight) 16%);font-size:.78rem;line-height:1.35}#nav-dropdown-portfolio .nav-dropdown-all:hover,#nav-dropdown-portfolio .nav-dropdown-all:focus-visible{background:color-mix(in srgb,var(--brand-signal-blue) 6%,#ffffff 94%);border-color:color-mix(in srgb,var(--brand-signal-blue) 30%,transparent);box-shadow:var(--nav-dropdown-row-shadow);transform:none}.hero.hero--default,.project-hero,.games-hero,:is(.bgtool-hero,.imgopt-hero,.wordfreq-top-panel,.textcompare-top-panel,.povcheck-top-panel,.oxford-top-panel,.nbsp-hero,.ocean-wave-hero,.qrtool-hero,.utmtool-hero,.screenrec-hero){background:linear-gradient(90deg,rgba(249,249,250,.96) 0%,rgba(249,249,250,.82) 46%,rgba(249,249,250,.18) 100%),var(--hero-art-layer,url("../img/brand/23-hero-general-light.png")) center center / contain no-repeat,var(--brand-canvas);border-bottom:1px solid color-mix(in srgb,var(--brand-midnight) 10%,transparent);box-shadow:none;color:var(--brand-midnight)}.project-hero,.games-hero{background:linear-gradient(90deg,rgba(249,249,250,.98) 0%,rgba(249,249,250,.9) 52%,rgba(249,249,250,.28) 100%),var(--hero-art-layer,url("../img/brand/23-hero-general-light.png")) right bottom / min(52vw,620px) auto no-repeat,var(--brand-canvas)}.hero.hero--default .wrapper{align-items:flex-start;text-align:left;max-width:min(1120px,calc(100vw - 32px))}@media (min-width:769px){body[data-page="portfolio"] .hero.hero--default{background:linear-gradient(90deg,rgba(249,249,250,.96) 0%,rgba(249,249,250,.82) 46%,rgba(249,249,250,.18) 100%),var(--hero-art-layer,url("../img/brand/23-hero-general-light.png")) right bottom / auto 100% no-repeat,var(--brand-canvas)}}body:is([data-page="analytics"],[data-page="data-science"],[data-page="tourism"]) .hero.hero--default{box-sizing:border-box;min-height:calc(100svh - var(--nav-height,72px));justify-content:center;padding-block:clamp(3.2rem,6vh,4.4rem) clamp(2.2rem,4.5vh,3.2rem);background:linear-gradient(90deg,rgba(249,249,250,.98) 0%,rgba(249,249,250,.88) 48%,rgba(249,249,250,.22) 100%),var(--hero-art-layer,url("../img/brand/23-hero-general-light.png")) right bottom / auto 100% no-repeat,var(--brand-canvas)}body:is([data-page="analytics"],[data-page="data-science"],[data-page="tourism"]) .chevron-hint{display:inline-flex}body:is([data-page="analytics"],[data-page="data-science"],[data-page="tourism"]) .hero .cta-group .btn-ghost,body:is([data-page="analytics"],[data-page="data-science"],[data-page="tourism"]) .hero .cta-group .btn-ghost:visited,body:is([data-page="analytics"],[data-page="data-science"],[data-page="tourism"]) .hero .cta-group .btn-ghost:hover,body:is([data-page="analytics"],[data-page="data-science"],[data-page="tourism"]) .hero .cta-group .btn-ghost:focus-visible{color:var(--brand-ink)}body:is([data-page="analytics"],[data-page="data-science"],[data-page="tourism"]) .hero.hero--default .wrapper{gap:clamp(.85rem,1.8vh,1.3rem);padding-block:0}body:is([data-page="analytics"],[data-page="data-science"],[data-page="tourism"]) .hero-identity{display:inline-flex;align-items:center;gap:clamp(.75rem,1.6vw,1rem);max-width:100%;margin-top:clamp(-.3rem,-1vh,-.1rem)}body:is([data-page="analytics"],[data-page="data-science"],[data-page="tourism"]) .hero-identity .hero-eyebrow{margin:0}body:is([data-page="analytics"],[data-page="data-science"],[data-page="tourism"]) .hero h1{max-width:12ch;font-size:clamp(2.75rem,5vw,4.75rem)}body[data-page="tourism"] .hero h1{max-width:15ch;font-size:clamp(2.55rem,4.5vw,4.35rem)}body:is([data-page="analytics"],[data-page="data-science"],[data-page="tourism"]) .hero-tagline{width:min(100%,52ch);line-height:1.58}body:is([data-page="analytics"],[data-page="data-science"],[data-page="tourism"]) .hero-status{padding:6px 18px;font-size:.78rem}body:is([data-page="analytics"],[data-page="data-science"],[data-page="tourism"]) .hero-proof-row{width:min(100%,920px)}body:is([data-page="analytics"],[data-page="data-science"],[data-page="tourism"]) .hero-proof-row li{padding:12px 18px}body:is([data-page="analytics"],[data-page="data-science"],[data-page="tourism"]) .cta-group{margin-top:.1rem}body:is([data-page="analytics"],[data-page="data-science"],[data-page="tourism"]) .hero-avatar{display:block;width:clamp(96px,9vw,132px);height:clamp(96px,9vw,132px);border:3px solid #ffffff;outline:2px solid color-mix(in srgb,var(--brand-action-copper) 52%,transparent);box-shadow:0 18px 36px rgba(9,31,59,.18),0 0 0 6px rgba(255,255,255,.78);opacity:1;object-position:center 34%;background:#ffffff}.hero::before,.hero::after{display:none}.hero-eyebrow,.portfolio-library-eyebrow,.home-proof-eyebrow,.audience-feature-eyebrow,.resume-eyebrow{color:var(--brand-deep-blue);font-weight:800;letter-spacing:.08em}.hero h1{max-width:11ch;color:var(--brand-midnight);font-size:clamp(3rem,6vw,5.4rem);line-height:.96;font-weight:800}.hero-tagline{width:min(100%,56ch);color:var(--brand-graphite);font-size:clamp(1.04rem,1.5vw,1.2rem);line-height:1.68}.hero-status{background:color-mix(in srgb,var(--brand-mist) 76%,#ffffff 24%);color:var(--brand-midnight);border:1px solid color-mix(in srgb,var(--brand-midnight) 12%,transparent);border-radius:10px;box-shadow:none}.hero-proof-row{width:min(100%,980px);gap:0;border:1px solid color-mix(in srgb,var(--brand-midnight) 12%,transparent);border-radius:14px;overflow:hidden;background:rgba(255,255,255,.86);box-shadow:var(--shadow-md)}.hero-proof-row li{padding:16px 18px;background:transparent;border:0;border-radius:0;box-shadow:none}.hero-proof-row li + li{border-left:1px solid color-mix(in srgb,var(--brand-midnight) 10%,transparent)}.hero-proof-row strong,.home-proof-value,.audience-proof-value,.resume-highlight-value{color:var(--brand-deep-blue);font-family:var(--font-sans);font-weight:800}.hero-proof-row span,.home-proof-label,.audience-proof-label,.resume-highlight-label{color:var(--brand-slate)}.surface-band,.home-proof-band,.project-examples-band,.work-band,.cert-band,.transfer-band,.games-section,.project-body,.resume-section,.tools-section{background:transparent;border-color:color-mix(in srgb,var(--brand-midnight) 9%,transparent)}.surface-band:nth-of-type(even),.home-proof-band,.project-examples-band,.portfolio-library-section,.transfer-band{background:var(--brand-mist)}body[data-tools-layout] #main > .surface-band,body[data-tools-layout] #main > .surface-band:nth-of-type(even){background:transparent}body[data-page="portfolio"] .portfolio-library-section{background:var(--brand-mist)}body:is([data-page="analytics"],[data-page="data-science"],[data-page="tourism"]) .project-examples-band{background:#ffffff;border-block-color:color-mix(in srgb,var(--brand-midnight) 9%,transparent)}.section-title{position:relative;font-weight:800;color:var(--brand-midnight)}.section-title::before,body:is([data-page="analytics"],[data-page="data-science"],[data-page="tourism"]) .project-examples-head h2::before,.project-hero h1::after{content:"";display:block;width:34px;height:3px;margin:0 0 12px;border-radius:999px;background:var(--brand-action-copper)}.project-hero h1::after{width:52px;margin-top:14px;background:var(--brand-action-copper)}:is(.home-proof-card,.work-card,.cert,.cert-card,.contact-card,.resume-paper,.resume-highlight,.resume-chip,.resume-cert a,.resume-role,.resume-project,.project-demo-shell,.project-section,.project-star,.project-media,.project-link,.project-related-card,.audience-switch-card,.audience-proof-card,.audience-feature-card,.audience-fit-card,.destination-card,.destination-output-card,.destination-link-card,.who-i-work-with-card,.destination-proof-link,.transfer-map,.game-card,.tool-card,.tools-dashboard-card,.textcompare-card,.wordfreq-card,.povcheck-card,.oxford-card,.nbsp-card,.bgtool-card,.imgopt-card,.qrtool-card,.ocean-wave-card,.site-chatbot__panel){background:#ffffff;color:var(--brand-midnight);border-color:color-mix(in srgb,var(--brand-midnight) 12%,transparent);border-radius:10px;box-shadow:var(--shadow-sm)}:is(.home-proof-card,.work-card,.cert-card,.resume-paper,.project-section,.project-star,.project-demo-shell,.audience-proof-card,.audience-feature-card,.destination-card,.game-card,.tool-card,.site-chatbot__panel)::before{background:none}:is(.home-proof-card,.work-card,.audience-proof-card,.audience-feature-card,.destination-card,.game-card,.tool-card){position:relative;overflow:hidden}body[data-tools-layout="directory"] .tool-card{overflow:visible}:is(.home-proof-card,.work-card,.audience-proof-card,.audience-feature-card,.destination-card,.game-card,.tool-card)::after{content:"";position:absolute;left:18px;top:18px;width:3px;height:34px;border-radius:999px;background:var(--brand-signal-blue);opacity:.45}.home-proof-card{align-items:flex-start;min-height:170px;padding:28px 28px 24px 34px;text-align:left}.home-proof-card > *{z-index:1}.home-proof-value,.home-proof-label{justify-content:flex-start;text-align:left;margin-inline:0}.work-card,.cert-card,.resume-paper{border-radius:16px}.work-logo-shell,.resume-role-logo-shell{background:#ffffff;border-color:color-mix(in srgb,var(--brand-midnight) 10%,transparent);box-shadow:none}.project-card{background:#ffffff;border:1px solid color-mix(in srgb,var(--brand-midnight) 12%,transparent);border-radius:14px;box-shadow:var(--shadow-sm)}.project-card .overlay{background:linear-gradient(180deg,rgba(9,31,59,0) 22%,rgba(9,31,59,.88) 100%)}.project-card .project-title,.project-card .project-subtitle{color:#ffffff}body:is([data-page="analytics"],[data-page="data-science"],[data-page="tourism"]) .project-examples-card .overlay,body[data-page="portfolio"] .project-card .overlay{background:linear-gradient( 180deg,rgba(255,255,255,0) 0%,rgba(255,255,255,.14) 42%,rgba(255,255,255,.94) 82%,#ffffff 100% )}body:is([data-page="analytics"],[data-page="data-science"],[data-page="tourism"]) .project-examples-card .project-title,body[data-page="portfolio"] .project-card .project-title{color:var(--brand-midnight);text-shadow:none}body:is([data-page="analytics"],[data-page="data-science"],[data-page="tourism"]) .project-examples-card .project-subtitle,body[data-page="portfolio"] .project-card .project-subtitle{color:var(--brand-graphite);text-shadow:none}body:is([data-page="analytics"],[data-page="data-science"],[data-page="tourism"]) .project-examples-card,body[data-page="portfolio"] .project-card{--project-card-aspect:4 / 3;display:grid;grid-template-rows:auto minmax(104px,auto);align-content:start;text-decoration:none}body:is([data-page="analytics"],[data-page="data-science"],[data-page="tourism"]) .project-examples-card .overlay,body[data-page="portfolio"] .project-card .overlay{display:none}body:is([data-page="analytics"],[data-page="data-science"],[data-page="tourism"]) .project-examples-card > picture,body:is([data-page="analytics"],[data-page="data-science"],[data-page="tourism"]) .project-examples-card > img,body:is([data-page="analytics"],[data-page="data-science"],[data-page="tourism"]) .project-examples-card > video,body[data-page="portfolio"] .project-card > picture,body[data-page="portfolio"] .project-card > img,body[data-page="portfolio"] .project-card > video{grid-column:1;grid-row:1;width:100%;min-width:0}body:is([data-page="analytics"],[data-page="data-science"],[data-page="tourism"]) .project-examples-card .project-text,body[data-page="portfolio"] .project-card .project-text{position:relative;left:auto;right:auto;bottom:auto;grid-column:1;grid-row:2;min-height:104px;padding:18px 18px 20px;background:#ffffff;border-top:1px solid color-mix(in srgb,var(--brand-midnight) 10%,transparent);transform:none;-webkit-transform:none;will-change:auto}body:is([data-page="analytics"],[data-page="data-science"],[data-page="tourism"]) .project-examples-card .project-text::before,body[data-page="portfolio"] .project-card .project-text::before{content:"";display:block;width:34px;height:3px;margin-bottom:12px;border-radius:999px;background:var(--brand-action-copper)}body:is([data-page="analytics"],[data-page="data-science"],[data-page="tourism"]) .project-examples-card .project-title,body[data-page="portfolio"] .project-card .project-title{font-size:clamp(1rem,1.25vw,1.12rem);font-weight:750;line-height:1.18}body:is([data-page="analytics"],[data-page="data-science"],[data-page="tourism"]) .project-examples-card .project-subtitle,body[data-page="portfolio"] .project-card .project-subtitle{font-size:.88rem;line-height:1.4}body[data-page="portfolio"] #projects.portfolio-library-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,260px),1fr));gap:24px}body:is([data-page="analytics"],[data-page="data-science"],[data-page="tourism"]) .project-examples-card:hover,body[data-page="portfolio"] .project-card:hover{transform:translateY(-2px);box-shadow:0 14px 30px rgba(9,31,59,.12)}body[data-page="portfolio"] #portfolio-carousel .carousel-card:hover{transform:translateZ(0) translateY(-2px) scale(var(--carousel-scale))}@media (min-width:769px){body[data-page="analytics"].home-pattern-page{--home-section-pad:clamp(3.2rem,5vw,4.4rem);--home-section-gap:clamp(1.45rem,2.4vw,2rem);--home-section-border:1px solid color-mix(in srgb,var(--brand-midnight) 10%,transparent)}body[data-page="analytics"].home-pattern-page main > section:is( .project-examples-band,.home-proof-band,.work-band,.interest-pad,.cert-band,#cta ){padding-block:var(--home-section-pad);border-block:var(--home-section-border);box-shadow:none}body[data-page="analytics"] #project-examples,body[data-page="analytics"] #work-experience,body[data-page="analytics"] #certifications{background:#ffffff}body[data-page="analytics"] #selected-outcomes,body[data-page="analytics"] #about-me,body[data-page="analytics"] #cta{background:var(--brand-mist)}body[data-page="analytics"] .project-examples-head,body[data-page="analytics"] .home-proof-head,body[data-page="analytics"] .work-head,body[data-page="analytics"] .cert-head{margin:0 auto var(--home-section-gap);text-align:center}body[data-page="analytics"] .section-title::before,body[data-page="analytics"] .project-examples-head h2::before{margin-inline:auto}body[data-page="analytics"] .project-examples-subtitle,body[data-page="analytics"] .home-proof-head p,body[data-page="analytics"] .skill-subtitle,body[data-page="analytics"] .work-subtitle,body[data-page="analytics"] .cert-subtitle{margin-top:10px}body[data-page="analytics"] .project-examples-grid,body[data-page="analytics"] .home-proof-kpis,body[data-page="analytics"] .work-grid,body[data-page="analytics"] #about-me .grid-container{margin-top:0;margin-bottom:0}body[data-page="analytics"] #about-me .grid-container{margin-top:var(--home-section-gap)}body[data-page="analytics"] .project-examples-actions{margin-top:var(--home-section-gap)}body[data-page="analytics"] .cert-band-inner{gap:var(--home-section-gap);padding-inline:clamp(16px,5vw,36px)}body[data-page="analytics"] #cta{padding-block:var(--home-section-pad)}body[data-page="analytics"] #cta #cta-link{background:#ffffff;border-color:color-mix(in srgb,var(--brand-midnight) 12%,transparent);box-shadow:var(--shadow-sm)}body:is([data-page="analytics"],[data-page="data-science"],[data-page="tourism"]) .hero .cta-group .btn-ghost{background:#ffffff;color:var(--brand-ink);border-color:color-mix(in srgb,var(--brand-signal-blue) 34%,transparent);border-style:solid;box-shadow:var(--shadow-sm)}body:is([data-page="analytics"],[data-page="data-science"],[data-page="tourism"]) .hero .cta-group .btn-ghost:hover,body:is([data-page="analytics"],[data-page="data-science"],[data-page="tourism"]) .hero .cta-group .btn-ghost:focus-visible{background:color-mix(in srgb,var(--brand-signal-blue) 7%,#ffffff 93%);color:var(--brand-ink);border-color:color-mix(in srgb,var(--brand-signal-blue) 36%,transparent)}body[data-page="analytics"] .home-proof-card::after,body[data-page="analytics"] .work-card::after{background:var(--brand-action-copper);opacity:.8}body[data-page="analytics"] .skill-link::before{background:var(--brand-action-copper);opacity:1}body[data-page="analytics"] .cert{background:#ffffff;color:var(--brand-midnight);border-color:color-mix(in srgb,var(--brand-midnight) 12%,transparent);box-shadow:var(--shadow-sm)}body[data-page="analytics"] .cert img,body[data-page="analytics"] .cert-card-logo{box-sizing:content-box;border-radius:8px;background:#ffffff;border:1px solid color-mix(in srgb,var(--brand-midnight) 12%,transparent);filter:none;opacity:1}body[data-page="analytics"] .cert img[src*="purdue_global"],body[data-page="analytics"] .cert-card-logo[src*="purdue_global"]{background:var(--brand-midnight);border-color:color-mix(in srgb,var(--brand-signal-blue) 36%,transparent)}}body[data-page="analytics"].home-pattern-page main > section:is( #project-examples,#selected-outcomes,#work-experience,#about-me,#certifications,#cta ){background-color:var(--brand-canvas);background-image:var(--home-section-art);background-position:center center;background-repeat:no-repeat;background-size:cover;box-sizing:border-box}body[data-page="analytics"].home-pattern-page #project-examples{--home-section-art:url("../img/brand/analytics-project-examples-bg.png")}body[data-page="analytics"].home-pattern-page #selected-outcomes{--home-section-art:url("../img/brand/analytics-business-results-bg.png")}body[data-page="analytics"].home-pattern-page #work-experience{--home-section-art:url("../img/brand/analytics-work-experience-bg.png")}body[data-page="analytics"].home-pattern-page #about-me{--home-section-art:url("../img/brand/analytics-skills-practice-bg-02-balanced-wash.png")}body[data-page="analytics"].home-pattern-page #certifications{--home-section-art:url("../img/brand/analytics-certifications-bg.png")}body[data-page="analytics"].home-pattern-page #cta{--home-section-art:url("../img/brand/analytics-contact-cta-bg.png")}body:is([data-page="analytics"],[data-page="data-science"],[data-page="tourism"]).home-pattern-page main > section:not(.hero),body:is([data-page="analytics"],[data-page="data-science"],[data-page="tourism"]).home-pattern-page .jump-panel-link{--home-section-accent:var(--brand-signal-blue);--home-section-accent-soft:color-mix(in srgb,var(--home-section-accent) 9%,#ffffff 91%);--home-section-accent-border:color-mix(in srgb,var(--home-section-accent) 30%,transparent);--home-section-accent-strong:color-mix(in srgb,var(--home-section-accent) 82%,var(--brand-midnight) 18%)}body:is([data-page="analytics"],[data-page="data-science"],[data-page="tourism"]).home-pattern-page #project-examples,body:is([data-page="analytics"],[data-page="data-science"],[data-page="tourism"]).home-pattern-page .jump-panel-link[href="#project-examples"]{--home-section-accent:var(--brand-signal-blue)}body:is([data-page="analytics"],[data-page="data-science"],[data-page="tourism"]).home-pattern-page #selected-outcomes{--home-section-accent:var(--brand-deep-blue)}body:is([data-page="data-science"],[data-page="tourism"]).home-pattern-page #transferability{--home-section-accent:var(--brand-midnight)}body:is([data-page="data-science"],[data-page="tourism"]).home-pattern-page .jump-panel-link[href="#transferability"]{--home-section-accent:var(--brand-midnight)}body:is([data-page="analytics"],[data-page="data-science"],[data-page="tourism"]).home-pattern-page .jump-panel-link[href="#selected-outcomes"]{--home-section-accent:var(--brand-deep-blue)}body:is([data-page="analytics"],[data-page="data-science"],[data-page="tourism"]).home-pattern-page #work-experience,body:is([data-page="analytics"],[data-page="data-science"],[data-page="tourism"]).home-pattern-page .jump-panel-link[href="#work-experience"]{--home-section-accent:var(--brand-slate)}body:is([data-page="analytics"],[data-page="data-science"],[data-page="tourism"]).home-pattern-page #about-me,body:is([data-page="analytics"],[data-page="data-science"],[data-page="tourism"]).home-pattern-page .jump-panel-link[href="#about-me"]{--home-section-accent:var(--brand-action-copper)}body:is([data-page="analytics"],[data-page="data-science"],[data-page="tourism"]).home-pattern-page #certifications,body:is([data-page="analytics"],[data-page="data-science"],[data-page="tourism"]).home-pattern-page .jump-panel-link[href="#certifications"]{--home-section-accent:var(--brand-deep-blue)}body:is([data-page="analytics"],[data-page="data-science"],[data-page="tourism"]).home-pattern-page #cta,body:is([data-page="analytics"],[data-page="data-science"],[data-page="tourism"]).home-pattern-page .jump-panel-link[href="#cta"]{--home-section-accent:var(--brand-deep-blue)}body:is([data-page="analytics"],[data-page="data-science"],[data-page="tourism"]).home-pattern-page main > section:not(.hero) *:is(.section-title,.project-examples-head h2,.transfer-head h2){position:relative}body:is([data-page="analytics"],[data-page="data-science"],[data-page="tourism"]).home-pattern-page main > section:not(.hero) *:is(.section-title,.project-examples-head h2,.transfer-head h2)::before{content:"";display:block;width:34px;height:3px;margin:0 0 12px;border-radius:999px;background:var(--home-section-accent)}@media (min-width:769px){body:is([data-page="analytics"],[data-page="data-science"],[data-page="tourism"]).home-pattern-page main > section:not(.hero) *:is(.section-title,.project-examples-head h2,.transfer-head h2)::before{margin-inline:auto}}body:is([data-page="analytics"],[data-page="data-science"],[data-page="tourism"]).home-pattern-page main > section:not(.hero) *:is(.project-examples-card,.home-proof-card,.work-card,.icon-info,.cert,.cert-card,.transfer-map,#cta-link){border-color:var(--home-section-accent-border)}body:is([data-page="analytics"],[data-page="data-science"],[data-page="tourism"]).home-pattern-page #cta #cta-link{border-color:var(--home-section-accent-border)}body:is([data-page="analytics"],[data-page="data-science"],[data-page="tourism"]).home-pattern-page #project-examples .project-examples-card .project-text{border-top-color:var(--home-section-accent-border)}body:is([data-page="analytics"],[data-page="data-science"],[data-page="tourism"]).home-pattern-page #project-examples .project-examples-card .project-text::before,body:is([data-page="analytics"],[data-page="data-science"],[data-page="tourism"]).home-pattern-page #selected-outcomes .home-proof-card::after,body:is([data-page="analytics"],[data-page="data-science"],[data-page="tourism"]).home-pattern-page #work-experience .work-card::after,body:is([data-page="analytics"],[data-page="data-science"],[data-page="tourism"]).home-pattern-page #about-me .icon-info::before{background:var(--home-section-accent);opacity:.86}body:is([data-page="analytics"],[data-page="data-science"],[data-page="tourism"]).home-pattern-page #about-me .icon-info svg,body:is([data-page="analytics"],[data-page="data-science"],[data-page="tourism"]).home-pattern-page #certifications .cert-card-label,body:is([data-page="analytics"],[data-page="data-science"],[data-page="tourism"]).home-pattern-page #certifications .cert:hover span{color:var(--home-section-accent-strong)}body:is([data-page="analytics"],[data-page="data-science"],[data-page="tourism"]).home-pattern-page #certifications :is(.cert img,.cert-card-logo){background:#ffffff;border-color:color-mix(in srgb,var(--brand-midnight) 12%,transparent)}body:is([data-page="analytics"],[data-page="data-science"],[data-page="tourism"]).home-pattern-page #certifications :is(.cert img[src*="purdue_global"],.cert-card-logo[src*="purdue_global"]){background:var(--brand-midnight);border-color:color-mix(in srgb,var(--home-section-accent) 36%,transparent)}body:is([data-page="analytics"],[data-page="data-science"],[data-page="tourism"]).home-pattern-page #transferability .transfer-map-head .transfer-map-cell{background:color-mix(in srgb,var(--home-section-accent) 14%,#ffffff 86%);color:var(--home-section-accent-strong)}body:is([data-page="analytics"],[data-page="data-science"],[data-page="tourism"]).home-pattern-page main > section:not(.hero) *:is(.btn-secondary,.btn-ghost,.cert-modal-trigger){border-color:var(--home-section-accent-border);color:var(--home-section-accent-strong)}body:is([data-page="analytics"],[data-page="data-science"],[data-page="tourism"]).home-pattern-page main > section:not(.hero) *:is(.btn-secondary,.btn-ghost,.cert-modal-trigger):is(:hover,:focus-visible){background:var(--home-section-accent-soft);border-color:color-mix(in srgb,var(--home-section-accent) 42%,transparent);color:var(--brand-midnight)}body:is([data-page="analytics"],[data-page="data-science"],[data-page="tourism"]).home-pattern-page #cta .btn-primary{background:var(--home-section-accent);border-color:var(--home-section-accent);color:#ffffff}body:is([data-page="analytics"],[data-page="data-science"],[data-page="tourism"]).home-pattern-page #cta .btn-primary:is(:hover,:focus-visible){background:color-mix(in srgb,var(--home-section-accent) 82%,var(--brand-midnight) 18%);border-color:color-mix(in srgb,var(--home-section-accent) 82%,var(--brand-midnight) 18%)}body:is([data-page="analytics"],[data-page="data-science"],[data-page="tourism"]).home-pattern-page .jump-panel-link:hover,body:is([data-page="analytics"],[data-page="data-science"],[data-page="tourism"]).home-pattern-page .jump-panel-link:focus-visible{background:color-mix(in srgb,var(--home-section-accent) 14%,#ffffff 86%);border-color:var(--home-section-accent-border)}body:is([data-page="analytics"],[data-page="data-science"],[data-page="tourism"]).home-pattern-page .jump-panel-link.is-active,body:is([data-page="analytics"],[data-page="data-science"],[data-page="tourism"]).home-pattern-page .jump-panel-link[aria-current="location"]{background:linear-gradient(135deg,color-mix(in srgb,var(--home-section-accent) 22%,#ffffff 78%) 0%,color-mix(in srgb,var(--home-section-accent) 34%,#ffffff 66%) 100%);border-color:color-mix(in srgb,var(--home-section-accent) 58%,transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--home-section-accent) 36%,transparent),0 8px 18px color-mix(in srgb,var(--home-section-accent) 18%,transparent)}body:is([data-page="analytics"],[data-page="data-science"],[data-page="tourism"]).home-pattern-page .jump-panel-dot,body:is([data-page="analytics"],[data-page="data-science"],[data-page="tourism"]).home-pattern-page .jump-panel-link.is-active .jump-panel-dot,body:is([data-page="analytics"],[data-page="data-science"],[data-page="tourism"]).home-pattern-page .jump-panel-link[aria-current="location"] .jump-panel-dot{background:color-mix(in srgb,var(--home-section-accent) 82%,#ffffff 18%);border-color:color-mix(in srgb,var(--home-section-accent) 92%,#ffffff 8%)}.project-card:hover::before,.project-card:focus-visible::before{border-color:var(--brand-action-copper)}body:is([data-page="analytics"],[data-page="data-science"],[data-page="tourism"]).home-pattern-page #project-examples .project-examples-card:is(:hover,:focus-visible)::before{border-color:var(--home-section-accent)}.project-metric,.project-tag,.game-pill{background:color-mix(in srgb,var(--brand-mist) 84%,#ffffff 16%);color:var(--brand-midnight);border:1px solid color-mix(in srgb,var(--brand-midnight) 10%,transparent);border-radius:8px}.project-pager{background:color-mix(in srgb,var(--brand-mist) 78%,#ffffff 22%);border-color:color-mix(in srgb,var(--brand-midnight) 10%,transparent)}.project-demo-header{background:#ffffff;border-color:color-mix(in srgb,var(--brand-midnight) 10%,transparent)}.project-star-label{color:var(--brand-deep-blue)}.resume-paper::before{background:linear-gradient(90deg,var(--brand-action-copper),var(--brand-signal-blue))}.resume-main{border-left-color:color-mix(in srgb,var(--brand-midnight) 12%,transparent)}.resume-block,.resume-wide-category::before,.resume-wide-category::after{border-color:color-mix(in srgb,var(--brand-midnight) 12%,transparent)}.contact-card{align-items:flex-start;color:var(--brand-midnight);font-family:var(--font-sans);text-align:left}.contact-card svg,.contact-card .icon{color:var(--brand-signal-blue)}.contact-card.contact-card-recommended{background:var(--brand-midnight);color:#ffffff;border-color:var(--brand-midnight)}.contact-card.contact-card-recommended small,.contact-card.contact-card-recommended svg{color:color-mix(in srgb,#ffffff 86%,var(--brand-mist) 14%)}.modal-content,.contact-success-card{background:#ffffff;color:var(--brand-midnight);border-color:color-mix(in srgb,var(--brand-midnight) 12%,transparent);box-shadow:var(--shadow-lg)}:is(input,textarea,select){background:#ffffff;color:var(--brand-midnight);border-color:color-mix(in srgb,var(--brand-midnight) 16%,transparent)}:is(input,textarea,select):focus{border-color:var(--brand-signal-blue);box-shadow:0 0 0 3px color-mix(in srgb,var(--brand-signal-blue) 16%,transparent)}.footer.footer-classic,.footer{background:var(--brand-midnight);color:color-mix(in srgb,#ffffff 72%,var(--brand-mist) 28%)}.footer.footer-classic .footer-col-title,.footer.footer-classic .footer-meta{color:#ffffff;font-family:var(--font-sans)}.footer.footer-classic .footer-link{color:color-mix(in srgb,#ffffff 76%,var(--brand-mist) 24%);font-family:var(--font-sans)}.site-chatbot__launcher{background:var(--brand-signal-blue);color:#ffffff;border-color:var(--brand-signal-blue);border-radius:10px;box-shadow:0 10px 22px rgba(0,95,237,.18)}.site-chatbot__send,.site-chatbot__message--user .site-chatbot__bubble{background:var(--brand-signal-blue)}.site-chatbot__send,.site-chatbot__message--user .site-chatbot__bubble,.site-chatbot__message--user .site-chatbot__bubble p{color:#ffffff;-webkit-text-fill-color:#ffffff}.site-chatbot__launcher:hover,.site-chatbot__launcher:focus-visible{background:var(--brand-deep-blue);border-color:var(--brand-deep-blue);box-shadow:0 16px 30px rgba(0,95,237,.24);transform:none}.site-chatbot__launcher-icon{background:transparent;color:inherit}.site-chatbot__header,.site-chatbot__quick-prompts,.site-chatbot__form{background:#ffffff;border-color:color-mix(in srgb,var(--brand-midnight) 10%,transparent)}.site-chatbot__bubble{background:var(--brand-mist);color:var(--brand-midnight);box-shadow:none}@media (max-width:768px){.nav{background:rgba(255,255,255,.96)}.nav-row.open{background:#ffffff;border-color:color-mix(in srgb,var(--brand-midnight) 12%,transparent);box-shadow:none}.nav-row .nav-link,.nav-row .nav-search-input{background:#ffffff;border-color:color-mix(in srgb,var(--brand-midnight) 12%,transparent);box-shadow:none}.nav-row .nav-link:hover,.nav-row .nav-link:focus-visible,.nav-row .nav-link.is-current{background:color-mix(in srgb,var(--brand-signal-blue) 7%,#ffffff 93%);border-color:color-mix(in srgb,var(--brand-signal-blue) 28%,transparent);color:var(--brand-midnight)}.nav-row .nav-link.nav-link-cta{background:var(--brand-signal-blue);border-color:var(--brand-signal-blue);color:#ffffff;box-shadow:none}.nav-row .nav-link.nav-link-cta:hover,.nav-row .nav-link.nav-link-cta:focus-visible{background:var(--brand-deep-blue);border-color:var(--brand-deep-blue);color:#ffffff}#nav-dropdown-portfolio .nav-project-card{grid-template-columns:28px 72px minmax(0,1fr);gap:8px;padding:8px;border-radius:10px}#nav-dropdown-portfolio .nav-project-rank{width:28px;min-width:28px}#nav-dropdown-portfolio .nav-project-rank::before{font-size:.68rem}#nav-dropdown-portfolio .nav-project-thumb{width:72px;height:54px;border-radius:8px}#nav-dropdown-portfolio .nav-dropdown-footer-inline{grid-template-columns:1fr;margin-top:10px;padding-top:10px}.hero.hero--default,.project-hero,.games-hero,:is(.bgtool-hero,.imgopt-hero,.wordfreq-top-panel,.textcompare-top-panel,.povcheck-top-panel,.oxford-top-panel,.nbsp-hero,.ocean-wave-hero,.qrtool-hero,.utmtool-hero,.screenrec-hero){background:linear-gradient(180deg,rgba(249,249,250,.97),rgba(249,249,250,.84)),var(--hero-mobile-art-layer,var(--hero-art-layer,url("../img/brand/23-hero-general-light.png"))) center bottom / cover no-repeat,var(--brand-canvas)}.hero h1{max-width:12ch;font-size:clamp(2.45rem,12vw,3.35rem)}body:is([data-page="analytics"],[data-page="data-science"],[data-page="tourism"]) .hero.hero--default{padding-block:clamp(1.8rem,5vh,2.8rem) clamp(1.4rem,4vh,2.2rem);background:linear-gradient(180deg,rgba(249,249,250,.98),rgba(249,249,250,.86)),var(--hero-mobile-art-layer,var(--hero-art-layer,url("../img/brand/23-hero-general-light.png"))) center bottom / cover no-repeat,var(--brand-canvas)}body:is([data-page="analytics"],[data-page="data-science"],[data-page="tourism"]) .hero.hero--default .wrapper{align-items:center;gap:clamp(.85rem,2.4vh,1.1rem);max-width:none;padding-block:0;text-align:center}body:is([data-page="analytics"],[data-page="data-science"],[data-page="tourism"]) .hero-identity{order:2;max-width:calc(100vw - (var(--mobile-page-gutter) * 2));margin-inline:auto;flex-direction:column;gap:.6rem;text-align:center}body:is([data-page="analytics"],[data-page="data-science"],[data-page="tourism"]) .hero-avatar{width:clamp(84px,24vw,112px);height:clamp(84px,24vw,112px)}body:is([data-page="analytics"],[data-page="data-science"],[data-page="tourism"]) .hero-eyebrow{font-size:.82rem;text-align:center}body:is([data-page="analytics"],[data-page="data-science"],[data-page="tourism"]) .hero h1{order:1;width:min(100%,340px);max-width:calc(100vw - (var(--mobile-page-gutter) * 2));margin-inline:auto;font-size:clamp(1.95rem,8vw,2.4rem);line-height:1.04;overflow-wrap:normal;text-align:center;text-wrap:balance}body[data-page="tourism"] .hero h1{width:min(100%,350px);font-size:clamp(1.78rem,7.2vw,2.25rem)}body:is([data-page="analytics"],[data-page="data-science"],[data-page="tourism"]) .hero-tagline{order:3;width:min(100%,32ch);max-width:calc(100vw - (var(--mobile-page-gutter) * 2));margin-inline:auto;font-size:.98rem;line-height:1.55;text-align:center}body:is([data-page="analytics"],[data-page="data-science"],[data-page="tourism"]) .hero-status{order:4;justify-content:center;width:min(100%,330px);max-width:calc(100vw - (var(--mobile-page-gutter) * 2));margin-inline:auto;padding:8px 12px;font-size:.72rem;line-height:1.35;text-align:center;white-space:normal}body:is([data-page="analytics"],[data-page="data-science"],[data-page="tourism"]) .cta-group{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch;order:5;width:min(100%,300px);max-width:calc(100vw - (var(--mobile-page-gutter) * 2));margin-inline:auto;gap:6px}body:is([data-page="analytics"],[data-page="data-science"],[data-page="tourism"]) .cta-group .hero-cta{min-height:44px;padding:10px 8px;font-size:.86rem}body:is([data-page="analytics"],[data-page="data-science"],[data-page="tourism"]) .hero-proof-row{order:6;width:min(100%,330px);max-width:calc(100vw - (var(--mobile-page-gutter) * 2));margin-inline:auto;margin-top:.15rem}body:is([data-page="analytics"],[data-page="data-science"],[data-page="tourism"]) .hero-proof-row li{padding:9px 10px}body:is([data-page="analytics"],[data-page="data-science"],[data-page="tourism"]) .hero-proof-row strong{font-size:clamp(1.25rem,5vw,1.55rem)}body:is([data-page="analytics"],[data-page="data-science"],[data-page="tourism"]) .hero-proof-row span{font-size:.78rem;line-height:1.25}@media (max-width:430px){body:is([data-page="analytics"],[data-page="data-science"],[data-page="tourism"]) .hero h1{width:min(100%,310px);font-size:clamp(1.8rem,7.4vw,2.16rem)}body[data-page="tourism"] .hero h1{width:min(100%,310px);font-size:clamp(1.72rem,7vw,2.04rem)}body:is([data-page="analytics"],[data-page="data-science"],[data-page="tourism"]) .hero-tagline,body:is([data-page="analytics"],[data-page="data-science"],[data-page="tourism"]) .hero-status,body:is([data-page="analytics"],[data-page="data-science"],[data-page="tourism"]) .cta-group,body:is([data-page="analytics"],[data-page="data-science"],[data-page="tourism"]) .hero-proof-row{width:min(100%,300px)}body:is([data-page="analytics"],[data-page="data-science"],[data-page="tourism"]) .hero-status{padding-inline:10px;font-size:.68rem}body:is([data-page="analytics"],[data-page="data-science"],[data-page="tourism"]) .cta-group .hero-cta{padding-inline:6px;font-size:.82rem}}.hero-proof-row{grid-template-columns:repeat(2,minmax(0,1fr));box-shadow:none}.hero-proof-row li + li{border-left:0}.hero-proof-row li:nth-child(odd){border-right:1px solid color-mix(in srgb,var(--brand-midnight) 10%,transparent)}body:is([data-page="analytics"],[data-page="data-science"],[data-page="tourism"]) .home-proof-head .section-title,body:is([data-page="analytics"],[data-page="data-science"],[data-page="tourism"]) .project-examples-head h2{width:min(100%,300px);max-width:calc(100vw - 48px);margin-inline:auto;font-size:clamp(1.38rem,6vw,1.72rem);line-height:1.14;overflow-wrap:anywhere;text-align:center;word-break:normal}body:is([data-page="analytics"],[data-page="data-science"],[data-page="tourism"]) .home-proof-head p,body:is([data-page="analytics"],[data-page="data-science"],[data-page="tourism"]) .project-examples-subtitle,body:is([data-page="analytics"],[data-page="data-science"],[data-page="tourism"]) .skill-subtitle{width:min(100%,310px);max-width:calc(100vw - 48px);margin-inline:auto;overflow-wrap:anywhere;text-align:center}}@media (max-width:640px){body[data-page="analytics"][data-consent-banner="open"] .site-chatbot{opacity:0;pointer-events:none;transform:translateY(8px)}body .home-proof-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}body:is([data-page="analytics"],[data-page="data-science"],[data-page="tourism"]) .home-proof-kpis{grid-template-columns:minmax(0,1fr);width:min(100%,340px);max-width:calc(100vw - (var(--mobile-page-gutter) * 2));gap:10px}body .home-proof-card{min-height:100%}body:is([data-page="analytics"],[data-page="data-science"],[data-page="tourism"]) .home-proof-card{min-height:0;padding:14px 12px}body:is([data-page="analytics"],[data-page="data-science"],[data-page="tourism"]) .home-proof-card::after{display:none}body .home-proof-value{font-size:clamp(1.12rem,5vw,1.58rem)}body .home-proof-label{font-size:.82rem}body .work-company{margin-top:0}body .contact-card{flex-direction:row;align-items:center;gap:12px}body .contact-card-badge{position:absolute;top:10px;right:10px}}@media (max-width:768px){html,body{max-width:100%;overflow-x:hidden}body .nav .wrapper{width:100%;max-width:100%;box-sizing:border-box;padding-inline:var(--mobile-page-gutter);gap:10px}body .brand{min-width:0;max-width:calc(100% - 54px)}body .brand-logo{flex:0 0 auto}body .brand-name{min-width:0;overflow:hidden}body .brand-title,body .brand-tagline-chunk{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}body .burger{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;flex:0 0 42px;width:42px;height:42px;border:1px solid color-mix(in srgb,var(--brand-midnight) 12%,transparent);border-radius:10px;background:#ffffff;box-shadow:none}body .burger .bar{background:var(--brand-midnight);margin:0}body .nav-row{width:min(420px,calc(100vw - (var(--mobile-page-gutter) * 2)))}body main,body main > section,body .wrapper,body .hero .wrapper,body .project-hero .wrapper,body .games-hero .wrapper,body .tools-hero .wrapper,body .surface-band > .wrapper{min-width:0;box-sizing:border-box}body .hero.hero--default > .wrapper,body .project-hero > .wrapper,body .games-hero > .wrapper,body .tools-hero > .wrapper{width:min(100%,calc(100vw - (var(--mobile-page-gutter) * 2)));max-width:calc(100vw - (var(--mobile-page-gutter) * 2));padding-inline:0}body:not([data-page="analytics"]):not([data-page="data-science"]):not([data-page="tourism"]) .hero.hero--default .wrapper{align-items:center;text-align:center}body .project-hero h1,body .games-hero h1,body .tools-hero h1,body:not([data-page="analytics"]):not([data-page="data-science"]):not([data-page="tourism"]) .hero h1{width:100%;max-width:100%;font-size:clamp(2rem,9.5vw,2.85rem);line-height:1.08;overflow-wrap:break-word;text-wrap:balance}body .project-hero h1{font-size:2.05rem;line-height:1.12;overflow-wrap:anywhere;text-wrap:wrap}body .hero-tagline,body .project-subtitle,body .tools-hero-lead,body .portfolio-library-copy,body .project-examples-subtitle,body .skill-subtitle,body .tools-category-head p,body .tools-directory-head p,body .who-i-work-with-card p,body .game-card p,body .tool-card p{max-width:100%;overflow-wrap:break-word}body .cta-group,body .project-cta{width:100%;max-width:100%;justify-content:center}body .hero-cta,body .project-cta .btn-primary,body .project-cta .btn-secondary{max-width:100%;white-space:normal}body .project-card,body .tool-card,body .game-card,body .contact-card,body .who-i-work-with-card,body .tools-account-bar,body .tools-resume-panel,body .project-section,body .project-star{min-width:0;max-width:100%;box-sizing:border-box}body:is([data-page="analytics"],[data-page="data-science"],[data-page="tourism"]) .project-examples-grid,body[data-page="portfolio"] #portfolio-carousel,body[data-page="portfolio"] #projects.portfolio-library-grid{width:min(100%,calc(100vw - (var(--mobile-page-gutter) * 2)));max-width:calc(100vw - (var(--mobile-page-gutter) * 2));box-sizing:border-box;margin-inline:auto}body[data-page="portfolio"] #projects.portfolio-library-grid{grid-template-columns:minmax(0,1fr);padding-inline:0}body:is([data-page="analytics"],[data-page="data-science"],[data-page="tourism"]) .project-examples-grid{grid-template-columns:minmax(0,1fr)}body[data-page="portfolio"] #portfolio-carousel .carousel-card{flex-basis:min(84vw,320px);max-width:min(84vw,320px)}body:is([data-page="analytics"],[data-page="data-science"],[data-page="tourism"]) .project-examples-card,body[data-page="portfolio"] .project-card{width:100%}body:is([data-page="analytics"],[data-page="data-science"],[data-page="tourism"]) .project-examples-card .project-text,body[data-page="portfolio"] .project-card .project-text{min-height:auto;padding:16px}body:is([data-page="analytics"],[data-page="data-science"],[data-page="tourism"]) .project-examples-card .project-title,body:is([data-page="analytics"],[data-page="data-science"],[data-page="tourism"]) .project-examples-card .project-subtitle,body[data-page="portfolio"] .project-card .project-title,body[data-page="portfolio"] .project-card .project-subtitle{overflow-wrap:break-word}body .project-tags{flex-wrap:wrap;overflow:visible;padding-inline:0}body .tools-grid,body .games-grid{grid-template-columns:minmax(0,1fr)}body .tools-filter{grid-template-columns:minmax(0,1fr)}body .tools-filter-clear{width:100%}}}@layer utilities{@supports not (color:color-mix(in srgb,black,white)){.project-metric{background:rgba(0,95,237,0.12)}.hero{background:#F9F9FA}.modal{background:rgba(9,31,59,0.72)}.modal-content{box-shadow:0 10px 28px rgba(9,31,59,0.18),0 0 0 1px rgba(0,95,237,0.12)}p a:not(.btn-primary):not(.btn-secondary):not(.doc-link):not(.pcz-link),li a:not(.btn-primary):not(.btn-secondary):not(.doc-link):not(.pcz-link),.modal-text a:not(.btn-primary):not(.btn-secondary):not(.doc-link):not(.pcz-link){color:#0145C8}:focus-visible{outline:2px solid var(--primary);outline-offset:2px}}}