@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;--cta-blue:var(--brand-signal-blue);--cta-blue-hover:var(--brand-deep-blue);--cta-blue-text:#FFFFFF;--cta-blue-soft:color-mix(in srgb,var(--cta-blue) 8%,#ffffff 92%);--cta-blue-border:color-mix(in srgb,var(--cta-blue) 36%,transparent);--cta-blue-shadow:0 10px 22px rgba(0,95,237,.18);--cta-blue-shadow-hover:0 16px 30px rgba(0,95,237,.24);--cta-blue-gradient:linear-gradient(135deg,color-mix(in srgb,var(--cta-blue) 92%,#ffffff 8%) 0%,color-mix(in srgb,var(--cta-blue-hover) 88%,var(--brand-midnight) 12%) 100%);--cta-blue-gradient-hover:linear-gradient(135deg,color-mix(in srgb,var(--cta-blue) 94%,#ffffff 6%) 0%,color-mix(in srgb,var(--cta-blue-hover) 92%,var(--brand-midnight) 8%) 100%);--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:var(--cta-blue-gradient);--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 540px;max-width:min(820px,88vw)}.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:var(--cta-blue-text);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{background:var(--cta-blue-gradient-hover);transform:translateY(-1px);box-shadow:0 16px 32px rgba(0,0,0,.32);color:var(--cta-blue-text)}.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}.nav-dropdown-inner-directory{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;align-items:start}.nav-dropdown-group{display:grid;gap:8px;min-width:0}@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-dropdown-tools{width:min(620px,88vw)}#nav-dropdown-games{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-tools:hover .nav-link-caret,.nav-item-tools:focus-within .nav-link-caret,.nav-item-tools.dropdown-open .nav-link-caret,.nav-item-games:hover .nav-link-caret,.nav-item-games:focus-within .nav-link-caret,.nav-item-games.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-tools{width:min(620px,78vw);max-width:640px;--nav-dropdown-max:760px}#nav-dropdown-games{width:min(380px,66vw);max-width:400px;--nav-dropdown-max:620px}#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-tools:hover .nav-dropdown,.nav-item-tools:focus-within .nav-dropdown,.nav-item-tools.dropdown-open .nav-dropdown,.nav-item-games:hover .nav-dropdown,.nav-item-games:focus-within .nav-dropdown,.nav-item-games.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-tools::after,.nav-item-games::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-tools:hover::after,.nav-item-tools:focus-within::after,.nav-item-tools.dropdown-open::after,.nav-item-games:hover::after,.nav-item-games:focus-within::after,.nav-item-games.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:var(--cta-blue-gradient);color:var(--cta-blue-text);border:1px solid var(--cta-blue);box-shadow:var(--cta-blue-shadow)}.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{background:var(--cta-blue-gradient-hover);border-color:var(--cta-blue-hover);transform:translateY(var(--hover-lift-strong));box-shadow:var(--cta-blue-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:var(--cta-blue-gradient);color:var(--cta-blue-text);border-color:var(--cta-blue-border);box-shadow:var(--cta-blue-shadow)}.btn-icon.btn-icon-featured svg{stroke-width:1.6}.btn-icon.btn-icon-featured:hover{background:var(--cta-blue-gradient-hover);color:var(--cta-blue-text);border-color:var(--cta-blue);transform:translateY(var(--hover-lift-strong)) scale(var(--hover-scale));box-shadow:var(--cta-blue-shadow-hover)}.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{body[data-page="portfolio"],body.portfolio-workbench-page{background:var(--brand-canvas)}.portfolio-main{background:linear-gradient(180deg,#ffffff 0%,var(--brand-canvas) 220px),var(--brand-canvas);min-height:0}.portfolio-main > [hidden]{display:none !important}.portfolio-workbench{min-height:0;padding:clamp(0.7rem,2vw,1.2rem) clamp(1rem,3vw,1.5rem)}.portfolio-workbench__shell{width:min(100%,1488px);margin-inline:auto}.portfolio-workbench__header{margin-bottom:0.8rem}.portfolio-workbench__title-block h1{margin:0;color:var(--brand-midnight);font-size:clamp(1.7rem,3vw,2.35rem);line-height:1.1;font-weight:700}.portfolio-workbench__layout{display:grid;grid-template-columns:minmax(210px,248px) minmax(320px,1fr) minmax(290px,380px);gap:1rem;align-items:start}.portfolio-workbench__filters,.portfolio-workbench__results,.portfolio-inspector{border:1px solid color-mix(in srgb,var(--brand-midnight) 12%,transparent);border-radius:8px;background:color-mix(in srgb,#ffffff 96%,var(--brand-mist) 4%);box-shadow:0 12px 30px rgba(9,31,59,0.07)}.portfolio-workbench__filters{display:flex;min-height:0;flex-direction:column;padding:1.12rem 1.2rem}.portfolio-filter-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem}.portfolio-filter-head h2,.portfolio-filter-group__title,.portfolio-inspector__section-title{margin:0;color:var(--brand-midnight);font-size:1rem;line-height:1.25;font-weight:700}.portfolio-filter-head h2{font-size:1.18rem}.portfolio-filter-clear{border:0;background:transparent;color:var(--brand-signal-blue);font:700 0.78rem/1.2 var(--font-sans);cursor:pointer}.portfolio-filter-clear:disabled{opacity:0.45;cursor:default}.portfolio-filter-groups{min-height:0}.portfolio-filter-group{margin:0;padding:0 0 1.08rem;border:0;border-bottom:1px solid color-mix(in srgb,var(--brand-midnight) 12%,transparent)}.portfolio-filter-group + .portfolio-filter-group{margin-top:1.22rem}.portfolio-filter-group:last-child{border-bottom:0;padding-bottom:0}.portfolio-filter-group__legend{width:100%;margin:0;padding:0}.portfolio-filter-group__toggle{display:flex;align-items:center;justify-content:space-between;width:100%;border:0;background:transparent;color:var(--brand-midnight);padding:0 0 0.46rem;font:inherit;cursor:pointer;transition:padding var(--motion-base) var(--easing-standard)}.portfolio-filter-group__toggle[aria-expanded="false"]{padding-bottom:0.08rem}.portfolio-filter-group__toggle:focus-visible{outline:2px solid color-mix(in srgb,var(--brand-signal-blue) 60%,transparent);outline-offset:3px;border-radius:6px}.portfolio-filter-group__chevron{width:0.55rem;height:0.55rem;border-right:1.8px solid var(--brand-slate);border-bottom:1.8px solid var(--brand-slate);transform:rotate(45deg) translateY(-1px);transition:transform var(--motion-base) var(--easing-standard)}.portfolio-filter-group__toggle[aria-expanded="false"] .portfolio-filter-group__chevron{transform:rotate(-45deg)}.portfolio-filter-options{max-height:18rem;overflow:hidden;opacity:1;pointer-events:auto;transition:max-height 360ms var(--easing-standard),opacity 260ms var(--easing-standard)}.portfolio-filter-group.is-collapsed .portfolio-filter-options{max-height:0;opacity:0;pointer-events:none}.portfolio-filter-options__inner{display:grid;gap:0.72rem}.portfolio-filter-option{display:grid;grid-template-columns:18px minmax(0,1fr) auto;gap:0.68rem;align-items:center;color:var(--brand-midnight);font-size:0.88rem;line-height:1.25;cursor:pointer}.portfolio-filter-option input{width:16px;height:16px;margin:0;accent-color:var(--brand-signal-blue)}.portfolio-filter-option__count{color:var(--brand-slate);font-size:0.75rem;font-variant-numeric:tabular-nums}.portfolio-workbench__results{min-width:0;min-height:0;display:flex;flex-direction:column;padding:0.95rem 1rem 1rem}.portfolio-results-toolbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:0.85rem;color:var(--brand-slate);font-size:0.85rem}.portfolio-results-count{margin:0;font-weight:600}.portfolio-sort-control{display:inline-flex;align-items:center;gap:0.45rem;white-space:nowrap;color:var(--brand-slate);font-size:0.82rem}.portfolio-sort-control select{min-height:34px;border:1px solid transparent;border-radius:6px;background:transparent;color:var(--brand-midnight);font:600 0.84rem/1.2 var(--font-sans);cursor:pointer}.portfolio-search{margin-bottom:0.85rem}.portfolio-search input{width:100%;min-height:42px;border:1px solid color-mix(in srgb,var(--brand-midnight) 13%,transparent);border-radius:8px;background:#ffffff;color:var(--brand-midnight);font:500 0.92rem/1.3 var(--font-sans);padding:0.65rem 0.85rem;box-shadow:inset 0 1px 0 rgba(9,31,59,0.03)}.portfolio-search input::placeholder{color:color-mix(in srgb,var(--brand-slate) 72%,#ffffff 28%)}.portfolio-results-list{display:grid;grid-auto-rows:max-content;align-content:start;align-items:start;gap:0.85rem;min-height:0}.portfolio-result-card{display:grid;grid-template-columns:minmax(190px,34%) minmax(0,1fr);gap:1.05rem;width:100%;min-height:190px;border:1px solid color-mix(in srgb,var(--brand-midnight) 12%,transparent);border-radius:8px;background:#ffffff;color:inherit;padding:0.82rem;text-align:left;cursor:pointer;overflow-anchor:none;transition:background-color var(--motion-base) var(--easing-standard),border-color var(--motion-base) var(--easing-standard),color var(--motion-base) var(--easing-standard),box-shadow var(--motion-base) var(--easing-standard),transform var(--motion-base) var(--easing-standard)}.portfolio-result-card:hover,.portfolio-result-card:focus-visible{border-color:color-mix(in srgb,var(--brand-signal-blue) 58%,transparent);box-shadow:0 12px 26px rgba(9,31,59,0.11);transform:translateY(-1px);outline:0}.portfolio-result-card.is-selected{border-color:var(--brand-signal-blue);background:linear-gradient(135deg,var(--brand-signal-blue),color-mix(in srgb,var(--brand-signal-blue) 72%,var(--brand-midnight) 28%));color:#ffffff;box-shadow:0 0 0 1px color-mix(in srgb,var(--brand-signal-blue) 52%,transparent),0 18px 34px rgba(0,95,237,0.18)}.portfolio-result-card.is-selected .portfolio-result-card__title,.portfolio-result-card.is-selected .portfolio-result-card__summary,.portfolio-result-card.is-selected .portfolio-result-meta{color:#ffffff}.portfolio-result-card.is-selected .portfolio-chip{border-color:rgba(255,255,255,0.24);background:rgba(255,255,255,0.14);color:#ffffff}.portfolio-result-card.is-selected .portfolio-chip--accent{border-color:rgba(255,255,255,0.72);background:#ffffff;color:var(--brand-signal-blue)}.portfolio-result-card__media{overflow:hidden;border:1px solid color-mix(in srgb,var(--brand-midnight) 9%,transparent);border-radius:6px;background:linear-gradient(135deg,var(--brand-midnight),#123761);aspect-ratio:16 / 9}.portfolio-result-card__media--icon{display:grid;place-items:center;background:radial-gradient(circle at 28% 24%,color-mix(in srgb,var(--brand-signal-blue) 18%,transparent),transparent 45%),linear-gradient(135deg,#f8fbff,#eef4fb)}.portfolio-result-card__media picture,.portfolio-result-card__media img{display:block;width:100%;height:100%}.portfolio-result-card__media img{object-fit:cover;object-position:top}.portfolio-result-card__icon{display:grid;place-items:center;width:76px;height:76px;border:1px solid color-mix(in srgb,var(--brand-signal-blue) 18%,transparent);border-radius:8px;background:#ffffff;color:var(--brand-signal-blue);box-shadow:0 14px 28px rgba(9,31,59,0.1)}.portfolio-result-card__icon img{width:54px;height:54px;object-fit:contain}.portfolio-result-card__icon svg{width:38px;height:38px;fill:none;stroke:currentColor;stroke-width:1.8}.portfolio-result-card__initial{font-size:1.35rem;font-weight:800}.portfolio-result-card.is-selected .portfolio-result-card__media{border-color:rgba(255,255,255,0.28)}.portfolio-result-card.is-selected .portfolio-result-card__media--icon{background:rgba(255,255,255,0.14)}.portfolio-result-card.is-selected .portfolio-result-card__icon{border-color:rgba(255,255,255,0.28);background:rgba(255,255,255,0.18);color:#ffffff;box-shadow:none}.portfolio-result-card__body{min-width:0;display:flex;flex-direction:column;justify-content:center;gap:0.46rem;align-self:stretch}.portfolio-result-card__title{margin:0;color:var(--brand-midnight);font-size:clamp(1rem,1.4vw,1.18rem);line-height:1.25;font-weight:700}.portfolio-result-card__summary{margin:0;color:var(--brand-graphite);font-size:0.88rem;line-height:1.38}.portfolio-chip-row{display:flex;flex-wrap:wrap;gap:0.42rem}.portfolio-chip{display:inline-flex;align-items:center;min-height:25px;border:1px solid color-mix(in srgb,var(--brand-midnight) 10%,transparent);border-radius:6px;background:var(--brand-mist);color:var(--brand-graphite);padding:0.24rem 0.5rem;font-size:0.74rem;line-height:1.1;font-weight:600}.portfolio-chip--accent{border-color:color-mix(in srgb,var(--brand-signal-blue) 18%,transparent);background:color-mix(in srgb,var(--brand-signal-blue) 10%,#ffffff 90%);color:var(--brand-signal-blue)}.portfolio-result-meta{display:flex;flex-wrap:wrap;gap:0.42rem 0.72rem;margin-top:0.08rem;color:var(--brand-slate);font-size:0.78rem}.portfolio-result-meta span{display:inline-flex;align-items:center;gap:0.32rem}.portfolio-result-meta svg,.portfolio-inspector__list svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}.portfolio-empty-state{margin:1rem 0 0;border:1px dashed color-mix(in srgb,var(--brand-midnight) 18%,transparent);border-radius:8px;color:var(--brand-slate);padding:1.2rem;text-align:center}.portfolio-inspector{display:flex;min-height:0;flex-direction:column;padding:0.95rem;overflow:visible}.portfolio-inspector__head{display:flex;align-items:start;justify-content:space-between;gap:1rem;margin-bottom:0.62rem}.portfolio-inspector__title{margin:0;color:var(--brand-midnight);font-size:clamp(1.28rem,2vw,1.58rem);line-height:1.18;font-weight:800}.portfolio-inspector__rule{width:34px;height:3px;margin-top:0.5rem;border-radius:999px;background:var(--brand-action-copper)}.portfolio-inspector__media{overflow:hidden;margin-bottom:1rem;border:1px solid color-mix(in srgb,var(--brand-midnight) 10%,transparent);border-radius:8px;background:var(--brand-mist);aspect-ratio:16 / 9}.portfolio-inspector__media picture,.portfolio-inspector__media img{display:block;width:100%;height:100%}.portfolio-inspector__media img{object-fit:cover;object-position:top}.portfolio-inspector__type{display:inline-flex;align-items:center;min-height:27px;margin-bottom:0.72rem;border:1px solid color-mix(in srgb,var(--brand-signal-blue) 18%,transparent);border-radius:6px;background:color-mix(in srgb,var(--brand-signal-blue) 9%,#ffffff 91%);color:var(--brand-signal-blue);padding:0.3rem 0.62rem;font-size:0.78rem;font-weight:700}.portfolio-inspector__section{padding-block:0.58rem;border-top:1px solid color-mix(in srgb,var(--brand-midnight) 12%,transparent)}.portfolio-inspector__section:first-of-type{border-top:0;padding-top:0}.portfolio-inspector__copy{margin:0.38rem 0 0;color:var(--brand-graphite);font-size:0.84rem;line-height:1.38}.portfolio-inspector__list{display:grid;gap:0.36rem;margin:0.48rem 0 0;padding:0;list-style:none;color:var(--brand-graphite);font-size:0.8rem;line-height:1.3}.portfolio-inspector__list li{display:grid;grid-template-columns:18px minmax(0,1fr);gap:0.45rem;align-items:start}.portfolio-inspector__links{display:flex;flex-wrap:wrap;gap:0.5rem;margin-top:0.8rem}.portfolio-inspector__links a{display:inline-flex;align-items:center;min-height:30px;border:1px solid color-mix(in srgb,var(--brand-midnight) 10%,transparent);border-radius:6px;background:var(--brand-mist);color:var(--brand-midnight);padding:0.32rem 0.6rem;font-size:0.78rem;font-weight:700;text-decoration:none}.portfolio-inspector__cta{display:inline-flex;align-items:center;justify-content:center;gap:0.55rem;width:100%;min-height:42px;margin-top:auto;border-radius:7px;background:var(--cta-blue);color:var(--cta-blue-text);font-weight:800;text-decoration:none;box-shadow:var(--cta-blue-shadow)}.portfolio-inspector__cta:hover,.portfolio-inspector__cta:focus-visible{background:var(--cta-blue-hover);color:var(--cta-blue-text);outline:0}.portfolio-inspector__loading{color:var(--brand-slate)}@media (min-width:821px){body[data-page="portfolio"],body.portfolio-workbench-page{height:calc(var(--vh,100vh) - var(--nav-height,72px));min-height:0;overflow:hidden}body[data-page="portfolio"] .portfolio-main,body.portfolio-workbench-page .portfolio-main{flex:1 1 auto;display:flex;flex-direction:column;width:100%;overflow:hidden}body[data-page="portfolio"] .footer.footer-classic,body.portfolio-workbench-page .footer.footer-classic{flex:0 0 auto;margin-top:0;padding:0.78rem 0 0.68rem}body[data-page="portfolio"] .footer.footer-classic .footer-inner,body.portfolio-workbench-page .footer.footer-classic .footer-inner{grid-template-columns:minmax(0,1fr) max-content;align-items:start;gap:0.48rem 1.35rem}body[data-page="portfolio"] .footer.footer-classic .footer-nav,body.portfolio-workbench-page .footer.footer-classic .footer-nav{grid-template-columns:repeat(3,minmax(0,1fr));gap:0.5rem clamp(1rem,2vw,1.5rem);align-items:start}body[data-page="portfolio"] .footer.footer-classic .footer-col,body.portfolio-workbench-page .footer.footer-classic .footer-col{grid-template-columns:repeat(2,minmax(0,1fr));gap:0.16rem clamp(0.85rem,1.6vw,1.2rem);align-content:start}body[data-page="portfolio"] .footer.footer-classic .footer-col-title,body.portfolio-workbench-page .footer.footer-classic .footer-col-title{grid-column:1 / -1;margin-bottom:0.1rem;font-size:0.68rem;line-height:1.1}body[data-page="portfolio"] .footer.footer-classic .footer-link,body[data-page="portfolio"] .footer.footer-classic .footer-meta,body.portfolio-workbench-page .footer.footer-classic .footer-link,body.portfolio-workbench-page .footer.footer-classic .footer-meta{font-size:0.74rem;line-height:1.28}body[data-page="portfolio"] .footer.footer-classic .footer-link,body.portfolio-workbench-page .footer.footer-classic .footer-link{padding:0}body[data-page="portfolio"] .footer.footer-classic .footer-meta,body.portfolio-workbench-page .footer.footer-classic .footer-meta{justify-self:end;padding-top:0;border-top:0;white-space:nowrap}.portfolio-workbench{flex:1 1 100%;display:flex;width:100%;max-width:100%;box-sizing:border-box;overflow:hidden;padding-block:clamp(0.45rem,1vh,0.75rem)}.portfolio-workbench__shell{flex:1 1 auto;display:flex;width:100%;max-width:1488px;min-height:0;flex-direction:column}.portfolio-workbench__header{flex:0 0 auto;margin-bottom:0.55rem}.portfolio-workbench__layout{flex:1 1 auto;min-height:0;align-items:stretch}.portfolio-workbench__filters,.portfolio-workbench__results,.portfolio-inspector{min-height:0;max-height:100%}.portfolio-workbench__filters{overflow:hidden}.portfolio-filter-groups{flex:1 1 auto;overflow-y:auto;overscroll-behavior:contain;padding-right:0.22rem;scrollbar-gutter:stable}.portfolio-inspector{overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable}.portfolio-workbench__results{overflow:hidden}.portfolio-results-list{flex:1 1 auto;overflow-y:auto;overscroll-behavior:contain;padding-right:0.24rem;scrollbar-gutter:stable}}@media (max-width:900px){.portfolio-workbench__layout{grid-template-columns:minmax(210px,250px) minmax(0,1fr)}.portfolio-inspector{grid-column:1 / -1}}@media (max-width:820px){.portfolio-workbench{padding-inline:var(--mobile-page-gutter)}.portfolio-workbench__header{align-items:stretch;flex-direction:column;display:flex}.portfolio-workbench__layout{grid-template-columns:1fr}.portfolio-workbench__results{order:1}.portfolio-workbench__filters{order:2;max-height:none}.portfolio-inspector{order:3}.portfolio-result-card{grid-template-columns:1fr}.portfolio-result-card__media{max-height:230px}}@media (max-width:560px){.portfolio-workbench{padding-top:1rem}.portfolio-results-toolbar,.portfolio-filter-head{align-items:flex-start;flex-direction:column}}@media (prefers-reduced-motion:reduce){.portfolio-result-card{transition:none}.portfolio-result-card:hover,.portfolio-result-card:focus-visible{transform:none}}}@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));top:50%;width:max-content;clip-path:inset(-40px 0 -40px calc(-1 * var(--speed-dial-label-room)));pointer-events:none;transform:translateY(-50%);z-index:1}.speed-dial.is-open .speed-dial__tray{pointer-events:auto}.speed-dial__actions{box-sizing:border-box;display:flex;flex-direction:row;align-items:center;gap:var(--space-12);height:var(--speed-dial-toggle-size);padding:3px calc(10px + var(--speed-dial-join)) 3px 16px;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:var(--cta-blue-gradient);color:var(--cta-blue-text);border-color:var(--cta-blue-border);box-shadow:var(--cta-blue-shadow)}.speed-dial .speed-dial__action--direct.btn-icon:hover,.speed-dial .speed-dial__action--direct.btn-icon:focus-visible{background:var(--cta-blue-gradient-hover);color:var(--cta-blue-text);border-color:var(--cta-blue);box-shadow:var(--cta-blue-shadow-hover)}.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;transform:none;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:var(--cta-blue-gradient);color:var(--cta-blue-text);border-color:var(--cta-blue-border);box-shadow:var(--cta-blue-shadow)}@media (hover:hover) and (pointer:fine){.speed-dial__toggle.btn-icon-featured:hover,.speed-dial__toggle.btn-icon-featured:focus-visible{background:var(--cta-blue-gradient-hover);color:var(--cta-blue-text);border-color:var(--cta-blue);box-shadow:var(--cta-blue-shadow-hover);transform:none}}@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 overrides{.speed-dial .btn-icon,.speed-dial .btn-icon:is(:hover,:focus-visible,:active),.speed-dial .speed-dial__toggle.btn-icon-featured,.speed-dial .speed-dial__toggle.btn-icon-featured:is(:hover,:focus-visible,:active){transform:none}.speed-dial.is-open .speed-dial__toggle.btn-icon-featured,.speed-dial.is-open .speed-dial__toggle.btn-icon-featured:is(:hover,:focus-visible,:active),.speed-dial.is-open .speed-dial__toggle.btn-icon-featured svg{transform: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(--cta-blue,var(--brand-signal-blue,var(--primary)));color:var(--cta-blue-text,#fff);border-color:var(--cta-blue,var(--brand-signal-blue,var(--primary)));box-shadow:var(--cta-blue-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(--cta-blue-hover,var(--brand-deep-blue,var(--primary)));color:var(--cta-blue-text,#fff);border-color:var(--cta-blue-hover,var(--brand-deep-blue,var(--primary)));box-shadow:var(--cta-blue-shadow-hover,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{body[data-page="home"].home-pattern-page{--home-graph-ink:#07152f;--home-graph-muted:#536079;--home-graph-soft:#f7faff;--home-graph-line:rgba(53,79,123,.14);--home-graph-line-strong:rgba(42,69,118,.2);--home-graph-blue:#155dfc;--home-graph-teal:#0798a6;--home-graph-orange:#f97316;--home-graph-surface:rgba(255,255,255,.96);--home-graph-shadow:0 22px 64px rgba(15,31,63,.12);--home-graph-footer-space:152px;box-sizing:border-box}.home-graph{position:relative;display:flex;flex-direction:column;flex:1 1 auto;height:auto;min-height:500px;padding:clamp(6px,1vw,10px) 0;overflow:hidden;color:var(--home-graph-ink);background:linear-gradient(180deg,#ffffff 0%,#f7faff 100%)}.home-graph::before{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,rgba(21,93,252,.045) 1px,transparent 1px),linear-gradient(180deg,rgba(7,152,166,.04) 1px,transparent 1px);background-size:34px 34px;mask-image:linear-gradient(180deg,rgba(0,0,0,.95),rgba(0,0,0,.62))}.home-graph__shell{position:relative;display:grid;flex:1 1 auto;grid-template-rows:minmax(0,1fr);width:min(1510px,calc(100vw - 28px));max-width:min(1510px,calc(100vw - 28px));height:auto;min-height:0;margin-inline:auto;padding:0;overflow:hidden;border:1px solid rgba(96,121,160,.22);border-radius:18px;background:rgba(255,255,255,.92);box-shadow:var(--home-graph-shadow)}.home-graph__center-title,.home-graph__node-title,.home-graph__category-title,.home-graph__inspector-title{color:var(--home-graph-ink);font-weight:790;letter-spacing:0}.home-graph__workspace{display:grid;grid-template-columns:minmax(0,4fr) minmax(260px,1fr);grid-template-rows:minmax(0,1fr);min-height:0}.home-graph__canvas{position:relative;min-height:0;overflow:hidden;background:linear-gradient(90deg,rgba(21,93,252,.038) 1px,transparent 1px),linear-gradient(180deg,rgba(7,152,166,.036) 1px,transparent 1px);background-size:32px 32px}.home-graph__canvas::before{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;background:linear-gradient(90deg,transparent 0%,rgba(21,93,252,.12) 50%,transparent 100%),linear-gradient(180deg,transparent 0%,rgba(7,152,166,.08) 50%,transparent 100%);opacity:.28;transform:translate3d(-58%,-58%,0);animation:homeGraphScan 8s linear infinite}.home-graph__canvas::after{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;background:linear-gradient(90deg,rgba(255,255,255,.88),rgba(255,255,255,0) 18%,rgba(255,255,255,0) 78%,rgba(255,255,255,.76)),linear-gradient(180deg,rgba(255,255,255,.58),rgba(255,255,255,0) 24%,rgba(255,255,255,.54))}.home-graph__map{position:absolute;inset:0;z-index:1}.home-graph__lines{position:absolute;inset:0;z-index:1;width:100%;height:100%;pointer-events:none}.home-graph__mobile-deck{display:none}.home-graph__line{fill:none;stroke:var(--line-color,var(--home-graph-blue));stroke-width:var(--line-width,2);stroke-linecap:round;opacity:var(--line-opacity,.58);filter:drop-shadow(0 5px 10px rgba(21,93,252,.12));stroke-dasharray:10 12;animation:homeGraphLineIn .7s cubic-bezier(.22,1,.36,1) both,homeGraphLineSignal 3.2s linear infinite}.home-graph__line--item{--line-width:1.45;--line-opacity:.38;filter:drop-shadow(0 4px 8px color-mix(in srgb,var(--line-color,var(--home-graph-blue)) 18%,transparent));stroke-dasharray:4 8}.home-graph__line--group{--line-width:2.2;--line-opacity:.56;stroke-dasharray:11 12}.home-graph__center,.home-graph__category,.home-graph__group-label,.home-graph__node{position:absolute;z-index:4;transform:translate(-50%,-50%)}.home-graph__center{left:var(--center-x,50%);top:var(--center-y,52%);display:grid;place-items:center;width:var(--center-size,118px);height:var(--center-size,118px);border:2px solid color-mix(in srgb,var(--home-graph-ink) 72%,var(--home-graph-blue));border-radius:18px;background:linear-gradient(180deg,rgba(255,255,255,.99),rgba(247,250,255,.97));box-shadow:0 18px 38px rgba(15,31,63,.12),0 0 0 7px rgba(21,93,252,.06),inset 0 0 0 1px rgba(255,255,255,.76);text-align:center;cursor:pointer;transition:left .46s cubic-bezier(.22,1,.36,1),top .46s cubic-bezier(.22,1,.36,1),transform .3s ease,box-shadow .3s ease,border-color .3s ease}.home-graph__center:is(:hover,:focus-visible){transform:translate(-50%,-50%) translateY(-2px);border-color:color-mix(in srgb,var(--home-graph-blue) 55%,var(--home-graph-ink));box-shadow:0 22px 48px rgba(15,31,63,.16),0 0 0 7px rgba(21,93,252,.08),inset 0 0 0 1px rgba(255,255,255,.76);outline:none}.home-graph__center.is-active{border-color:color-mix(in srgb,var(--home-graph-blue) 62%,var(--home-graph-ink));box-shadow:0 22px 48px rgba(15,31,63,.16),0 0 0 8px rgba(21,93,252,.1),0 0 0 15px rgba(7,152,166,.055),inset 0 0 0 1px rgba(255,255,255,.82)}.home-graph__center.is-active .home-graph__center-logo{transform:scale(1.04)}.home-graph__center-logo{display:block;width:78px;height:78px;object-fit:contain;transition:transform .25s ease}.home-graph__category{left:var(--x);top:var(--y);isolation:isolate;z-index:6;transition:left .46s cubic-bezier(.22,1,.36,1),top .46s cubic-bezier(.22,1,.36,1)}.home-graph__category.is-active{z-index:9}.home-graph__category.is-supporting{z-index:5}.home-graph__category-card{position:relative;z-index:2;display:grid;grid-template-columns:44px minmax(0,1fr) 28px 30px;align-items:center;gap:10px;min-width:216px;min-height:72px;padding:10px 12px 10px 14px;border:1px solid color-mix(in srgb,var(--accent) 28%,#c8d5ea);border-radius:999px;background:var(--home-graph-surface);box-shadow:0 16px 38px rgba(19,35,67,.1);overflow:visible;transition:transform .28s ease,opacity .28s ease,border-color .28s ease,box-shadow .28s ease,background-color .28s ease}.home-graph__category.is-active .home-graph__category-card{border-color:color-mix(in srgb,var(--accent) 46%,#ffffff);box-shadow:0 20px 46px color-mix(in srgb,var(--accent) 17%,rgba(19,35,67,.12)),0 0 0 8px color-mix(in srgb,var(--accent) 8%,transparent);transform:scale(1.025)}.home-graph__category:is(:hover,:focus-within) .home-graph__category-card{border-color:color-mix(in srgb,var(--accent) 54%,#ffffff);background:radial-gradient(circle at 24% 24%,color-mix(in srgb,var(--accent) 12%,transparent),transparent 44%),var(--home-graph-surface);box-shadow:0 20px 46px color-mix(in srgb,var(--accent) 18%,rgba(19,35,67,.14)),0 0 0 7px color-mix(in srgb,var(--accent) 8%,transparent),inset 0 1px 0 rgba(255,255,255,.88);transform:translateY(-2px) scale(1.018)}.home-graph__category.is-active:is(:hover,:focus-within) .home-graph__category-card{transform:translateY(-2px) scale(1.035)}.home-graph__category.is-supporting .home-graph__category-card{grid-template-columns:1fr;place-items:center;width:96px;min-width:96px;min-height:64px;padding:8px 14px;opacity:.92;box-shadow:0 12px 30px rgba(19,35,67,.075);transform:scale(.92)}.home-graph__category.is-supporting .home-graph__halo{width:calc(100% + 54px);height:calc(100% + 48px);opacity:.68}.home-graph__category.is-supporting .home-graph__category-icon{width:48px;height:48px;border-radius:15px}.home-graph__category.is-supporting .home-graph__category-icon svg{width:26px;height:26px}.home-graph__category-copy{min-width:0}.home-graph__category.is-supporting .home-graph__category-toggle{position:absolute;left:calc(50% + 29px);top:50%;width:19px;height:19px;border-radius:7px;box-shadow:0 6px 14px color-mix(in srgb,var(--accent) 13%,rgba(19,35,67,.1)),inset 0 1px 0 rgba(255,255,255,.86);transform:translate(-50%,-50%)}.home-graph__category.is-supporting .home-graph__category-toggle svg{width:10px;height:10px;stroke-width:2.7}.home-graph__category.is-supporting .home-graph__category-copy,.home-graph__category.is-supporting .home-graph__category-title,.home-graph__category.is-supporting .home-graph__category-count,.home-graph__category.is-supporting .home-graph__category-link{display:none}.home-graph__category.is-supporting:is(:hover,:focus-within) .home-graph__category-card{transform:translateY(-2px) scale(.98)}.home-graph[data-graph-active] .home-graph__category.is-active .home-graph__halo{opacity:0;visibility:hidden;transform:translate(-50%,-50%) scale(.92);pointer-events:none}.home-graph__category-main{display:contents}.home-graph__category-button{position:absolute;inset:0;z-index:2;border:0;border-radius:inherit;background:transparent;cursor:pointer}.home-graph__category-button:focus-visible{outline:3px solid color-mix(in srgb,var(--accent) 34%,transparent);outline-offset:5px}.home-graph__category-icon,.home-graph__node-icon,.home-graph__inspector-icon{display:grid;place-items:center;border:1px solid color-mix(in srgb,var(--accent) 18%,rgba(96,121,160,.16));border-radius:14px;color:var(--accent);background:color-mix(in srgb,var(--accent) 10%,#ffffff);box-shadow:inset 0 1px 0 rgba(255,255,255,.72)}.home-graph__category-icon{width:44px;height:44px}.home-graph__category-icon svg,.home-graph__node-icon svg,.home-graph__inspector-icon svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.home-graph__category-title{display:block;font-size:1.02rem;line-height:1.15}.home-graph__category-count{display:block;margin-top:4px;color:var(--home-graph-muted);font-size:.78rem;font-weight:720;line-height:1}.home-graph__category-link{position:relative;z-index:3;display:grid;place-items:center;width:28px;height:28px;border:1px solid rgba(96,121,160,.18);border-radius:50%;color:var(--accent);background:rgba(255,255,255,.82);transition:background-color .25s ease,transform .25s ease,box-shadow .25s ease}.home-graph__category-link:is(:hover,:focus-visible){color:#ffffff;background:var(--accent);box-shadow:0 10px 22px color-mix(in srgb,var(--accent) 22%,transparent);transform:translateY(-1px);outline:none}.home-graph__category-link svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.home-graph__category-toggle{position:relative;z-index:4;display:grid;place-items:center;width:30px;height:30px;border:1px solid color-mix(in srgb,var(--accent) 42%,#c8d5ea);border-radius:9px;color:var(--accent);background:#ffffff;box-shadow:0 10px 22px color-mix(in srgb,var(--accent) 14%,rgba(19,35,67,.12)),inset 0 1px 0 rgba(255,255,255,.82);transition:transform .24s ease,box-shadow .24s ease,opacity .24s ease;pointer-events:none}.home-graph__category-toggle svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2.3;stroke-linecap:round;stroke-linejoin:round}.home-graph__halo{display:block;position:absolute;left:50%;top:50%;z-index:1;width:calc(100% + 92px);height:calc(100% + 82px);border-radius:50%;opacity:.82;transform:translate(-50%,-50%);pointer-events:auto;transition:width .46s cubic-bezier(.22,1,.36,1),height .46s cubic-bezier(.22,1,.36,1),opacity .28s ease}.home-graph__halo::before{content:"";position:absolute;inset:0;border:1px dashed color-mix(in srgb,var(--accent) 34%,transparent);border-radius:50%;pointer-events:none}.home-graph__halo-dot{position:absolute;left:var(--dot-x);top:var(--dot-y);width:13px;height:13px;padding:0;border:0;border-radius:50%;background:var(--accent);box-shadow:0 0 0 4px color-mix(in srgb,var(--accent) 10%,transparent);transform:translate(-50%,-50%);cursor:pointer;pointer-events:auto;animation:homeGraphDotIn .46s cubic-bezier(.22,1,.36,1) both,homeGraphDotBreathe 3.8s ease-in-out infinite;animation-delay:calc(var(--dot-order,0) * 14ms),calc(480ms + (var(--dot-order,0) * 42ms))}.home-graph__halo-dot::after{content:"";position:absolute;inset:4px;border-radius:inherit;background:#ffffff;opacity:.78}.home-graph__halo-dot:is(:hover,:focus-visible){transform:translate(-50%,-50%) scale(1.18);box-shadow:0 0 0 7px color-mix(in srgb,var(--accent) 18%,transparent),0 8px 20px color-mix(in srgb,var(--accent) 22%,transparent);outline:none}.home-graph__node{left:var(--x);top:var(--y);z-index:8;display:grid;place-items:center;width:var(--node-size,42px);height:var(--node-size,42px);min-width:var(--node-size,42px);min-height:var(--node-size,42px);padding:0;border:1px solid color-mix(in srgb,var(--accent) 24%,#cfdbed);border-radius:50%;background:rgba(255,255,255,.92);box-shadow:0 14px 28px rgba(24,42,77,.095);color:var(--home-graph-ink);font:inherit;text-align:center;cursor:pointer;animation:homeGraphNodeIn .46s cubic-bezier(.22,1,.36,1) both;animation-delay:calc(var(--node-index,0) * 22ms);transition:left .46s cubic-bezier(.22,1,.36,1),top .46s cubic-bezier(.22,1,.36,1),transform .24s ease,box-shadow .24s ease,border-color .24s ease,background-color .24s ease}.home-graph__node:is(:hover,:focus-visible,:focus-within){z-index:35}.home-graph__node-preview{position:absolute;left:50%;bottom:calc(100% + 12px);z-index:90;display:grid;gap:4px;width:min(236px,68vw);padding:11px 12px;border:1px solid rgba(131,151,184,.24);border-radius:14px;background:linear-gradient(135deg,rgba(16,32,66,.98),rgba(5,18,43,.98)),linear-gradient(90deg,color-mix(in srgb,var(--accent) 38%,transparent),transparent);box-shadow:0 22px 46px rgba(7,21,47,.24),inset 0 1px 0 rgba(255,255,255,.08);color:#ffffff;font-size:.76rem;font-weight:650;line-height:1.35;text-align:left;opacity:0;pointer-events:none;transform:translate(-50%,8px) scale(.98);transition:opacity .18s ease,transform .18s ease}.home-graph__node.has-label .home-graph__node-preview{left:calc(100% + 12px);top:50%;bottom:auto;transform:translate(0,-50%) scale(.98)}.home-graph__node.has-label .home-graph__node-preview::before{left:0;top:50%;transform:translate(-50%,-50%) rotate(135deg)}.home-graph__node.has-label:is(:hover,:focus-visible,:focus-within) .home-graph__node-preview{transform:translate(0,-50%) scale(1)}.home-graph__node-preview::before{content:"";position:absolute;left:50%;top:100%;width:10px;height:10px;background:#07152f;border-right:1px solid rgba(131,151,184,.22);border-bottom:1px solid rgba(131,151,184,.22);transform:translate(-50%,-50%) rotate(45deg)}.home-graph__node-preview strong{display:block;color:#ffffff;font-size:.82rem;line-height:1.18}.home-graph__node:is(:hover,:focus-visible,:focus-within) .home-graph__node-preview{opacity:1;transform:translate(-50%,0) scale(1)}.home-graph__node:is(:hover,:focus-visible){border-color:color-mix(in srgb,var(--accent) 56%,#ffffff);background:#ffffff;box-shadow:0 20px 42px color-mix(in srgb,var(--accent) 16%,rgba(24,42,77,.12)),0 0 0 7px color-mix(in srgb,var(--accent) 10%,transparent);transform:translate(-50%,-50%) translateY(-3px) scale(1.08);outline:none}.home-graph__node.is-selected{border-color:color-mix(in srgb,var(--accent) 70%,#ffffff);background:var(--accent);color:#ffffff;box-shadow:0 22px 48px color-mix(in srgb,var(--accent) 28%,rgba(24,42,77,.18)),0 0 0 7px color-mix(in srgb,var(--accent) 16%,transparent);transform:translate(-50%,-50%) translateY(-3px) scale(1.08);outline:none}.home-graph__node.has-label:is(:hover,:focus-visible){transform:translate(-50%,-50%) translateY(-2px) scale(1.025)}.home-graph__node.has-label.is-selected{transform:translate(-50%,-50%) translateY(-2px) scale(1.025)}.home-graph__node-icon{width:100%;height:100%;border:0;border-radius:inherit;background:transparent;box-shadow:none}.home-graph__node-icon svg{width:52%;height:52%}.home-graph__node.has-label{grid-template-columns:minmax(0,1fr) 18px;justify-items:stretch;align-items:center;width:var(--node-width,178px);height:var(--node-height,50px);min-width:var(--node-width,178px);min-height:var(--node-height,50px);padding:4px 5px 4px 7px;border-radius:10px;box-shadow:0 8px 18px rgba(24,42,77,.07);text-align:left}.home-graph__node.has-label .home-graph__node-icon{width:18px;height:18px;border-radius:7px}.home-graph__node.is-selected .home-graph__node-icon{color:#ffffff;background:rgba(255,255,255,.16)}.home-graph__node.has-label .home-graph__node-icon svg{width:10px;height:10px;stroke-width:2.2}.home-graph__node-title{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.home-graph__node.has-label .home-graph__node-title{position:static;display:-webkit-box;width:auto;height:auto;margin:0;overflow:hidden;clip:auto;color:#17243d;font-size:.56rem;font-weight:790;line-height:1.02;text-overflow:clip;white-space:normal;overflow-wrap:anywhere;-webkit-box-orient:vertical;-webkit-line-clamp:2}.home-graph__node.is-selected .home-graph__node-title{color:#ffffff}.home-graph__node::after{content:none}.home-graph__group-label{left:var(--x);top:var(--y);z-index:9;position:absolute;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:38px;max-width:198px;padding:0 13px 0 16px;border:1px solid color-mix(in srgb,var(--accent) 22%,#c8d5ea);border-radius:999px;color:color-mix(in srgb,var(--accent) 76%,#07152f);background:radial-gradient(circle at 14px 50%,color-mix(in srgb,var(--accent) 10%,transparent),transparent 38px),rgba(255,255,255,.94);box-shadow:0 14px 30px rgba(24,42,77,.085),inset 0 1px 0 rgba(255,255,255,.86);font-size:.74rem;font-weight:820;letter-spacing:0;line-height:1.05;text-align:center;text-transform:uppercase;white-space:nowrap;cursor:pointer;appearance:none;pointer-events:auto;animation:homeGraphNodeIn .42s cubic-bezier(.22,1,.36,1) both;animation-delay:calc(var(--node-index,0) * 16ms);transition:left .46s cubic-bezier(.22,1,.36,1),top .46s cubic-bezier(.22,1,.36,1),opacity .24s ease,transform .2s ease,border-color .2s ease,box-shadow .2s ease,background-color .2s ease}.home-graph__group-label::before{content:"";position:absolute;left:50%;top:50%;z-index:-1;width:var(--cluster-width,276px);height:var(--cluster-height,204px);border:1px dashed color-mix(in srgb,var(--accent) 24%,transparent);border-radius:50%;transform:translate(-50%,-50%);opacity:.34;pointer-events:none}.home-graph__group-label:is(:hover,:focus-visible),.home-graph__group-label.is-selected{border-color:color-mix(in srgb,var(--accent) 52%,#ffffff);background:radial-gradient(circle at 14px 50%,color-mix(in srgb,var(--accent) 16%,transparent),transparent 40px),#ffffff;box-shadow:0 18px 36px color-mix(in srgb,var(--accent) 13%,rgba(24,42,77,.12)),0 0 0 6px color-mix(in srgb,var(--accent) 9%,transparent);transform:translate(-50%,-50%) translateY(-2px);outline:none}.home-graph__group-count{display:inline-grid;place-items:center;min-width:24px;height:24px;padding:0 6px;border-radius:999px;background:color-mix(in srgb,var(--accent) 10%,#ffffff);color:color-mix(in srgb,var(--accent) 84%,#07152f);font-size:.68rem;font-weight:860}.home-graph__status{display:none;position:absolute;left:24px;top:20px;z-index:9;align-items:center;gap:8px;min-height:30px;padding:0 11px;border:1px solid rgba(96,121,160,.16);border-radius:999px;color:var(--active-accent,var(--home-graph-blue));background:rgba(255,255,255,.78);box-shadow:0 10px 24px rgba(15,31,63,.08);font-size:.8rem;font-weight:760}.home-graph__status::before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor}.home-graph__tooltip{position:absolute;z-index:90;width:min(245px,calc(100% - 32px));padding:12px 13px;border:1px solid rgba(96,121,160,.18);border-radius:16px;background:#07152f;color:#ffffff;box-shadow:0 20px 46px rgba(7,21,47,.24);font-size:.86rem;line-height:1.38;opacity:0;pointer-events:none;transform:translate3d(-50%,8px,0);transition:opacity .18s ease,transform .18s ease}.home-graph__tooltip.is-visible{opacity:1;transform:translate3d(-50%,0,0)}.home-graph__tooltip strong{display:block;margin-bottom:4px;color:#ffffff;font-size:.9rem;line-height:1.2}.home-graph__inspector{position:relative;z-index:5;display:grid;grid-template-columns:minmax(0,1fr);align-content:start;align-items:start;gap:15px;min-width:0;min-height:0;padding:18px 18px 20px;overflow-x:hidden;overflow-y:auto;border-left:1px solid var(--home-graph-line);background:rgba(255,255,255,.94);box-shadow:-18px 0 54px rgba(20,38,72,.06)}.home-graph__inspector.is-overview{overflow-y:hidden}.home-graph__inspector-kicker{position:static;display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0;color:#2a3650;font-size:.78rem;font-weight:820;letter-spacing:0;line-height:1;text-transform:uppercase}.home-graph__inspector-close{display:none}.home-graph__inspector-head{display:grid;grid-template-columns:52px minmax(0,1fr);align-items:center;gap:12px;min-width:0;padding-top:0}.home-graph__inspector-icon{width:52px;height:52px;border-radius:16px}.home-graph__inspector-title{margin:0;font-size:1.08rem;line-height:1.08}.home-graph__inspector-type{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.home-graph__pill{display:inline-flex;align-items:center;min-height:24px;padding:4px 8px;border:1px solid rgba(96,121,160,.18);border-radius:999px;color:color-mix(in srgb,var(--accent) 76%,#07152f);background:color-mix(in srgb,var(--accent) 8%,#ffffff);font-size:.72rem;font-weight:760;line-height:1}.home-graph__summary{margin:0;color:#334059;font-size:.9rem;line-height:1.48}.home-graph__tag-list,.home-graph__related-list{display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none}.home-graph__tag-list li{display:inline-flex;align-items:center;min-height:28px;padding:5px 9px;border:1px solid rgba(96,121,160,.16);border-radius:999px;background:rgba(248,251,255,.92);color:#34415c;font-size:.78rem;font-weight:700}.home-graph__inspector-section{display:grid;gap:9px}.home-graph__inspector-section--related{display:grid}.home-graph__inspector-section h3{margin:0;color:#24324c;font-size:.76rem;font-weight:820;letter-spacing:0;line-height:1;text-transform:uppercase}.home-graph__related-list{display:grid}.home-graph__related-list a{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:42px;padding:0 12px;border:1px solid rgba(96,121,160,.14);border-radius:14px;color:var(--home-graph-ink);background:rgba(255,255,255,.76);font-size:.86rem;font-weight:740;text-decoration:none;transition:border-color .22s ease,background-color .22s ease,transform .22s ease}.home-graph__related-list a:is(:hover,:focus-visible){border-color:color-mix(in srgb,var(--accent) 28%,#c8d5ea);background:#ffffff;transform:translateY(-1px);outline:none}.home-graph__cta{box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;width:100%;min-width:0;padding:0 18px;border-radius:16px;background:var(--home-graph-blue);color:#ffffff;box-shadow:0 16px 34px rgba(21,93,252,.24);font-weight:780;line-height:1.15;text-decoration:none;transition:background-color .22s ease,box-shadow .22s ease,transform .22s ease}.home-graph__cta:is(:hover,:focus-visible){background:#0b4ed8;box-shadow:0 20px 42px rgba(21,93,252,.3);transform:translateY(-1px);outline:none}.home-graph__cta svg{flex:0 0 auto;width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.home-graph__library-link{box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;min-height:46px;width:100%;min-width:0;border:1px solid rgba(96,121,160,.18);border-radius:14px;color:#24324c;background:rgba(255,255,255,.82);font-size:.9rem;font-weight:760;text-decoration:none}.home-graph__library-link:is(:hover,:focus-visible){color:var(--home-graph-blue);border-color:rgba(21,93,252,.26);outline:none}.home-graph__noscript{position:relative;z-index:10;display:grid;gap:12px;max-width:520px;margin:42px auto;padding:18px;border:1px solid var(--home-graph-line);border-radius:18px;background:#ffffff;text-align:center}.home-graph__noscript-links{display:flex;flex-wrap:wrap;justify-content:center;gap:10px}.js .home-graph__noscript{display:none}.home-pattern-page .speed-dial{bottom:calc(22px + env(safe-area-inset-bottom,0px))}[data-graph-item-host].is-condensing .home-graph__node{animation:homeGraphNodeOut .15s ease both}[data-graph-svg].is-condensing .home-graph__line--item{animation:homeGraphLineOut .15s ease both}@keyframes homeGraphNodeIn{from{opacity:0;transform:translate(-50%,-50%) translateY(14px) scale(.96)}to{opacity:1;transform:translate(-50%,-50%) translateY(0) scale(1)}}@keyframes homeGraphNodeOut{from{opacity:1;transform:translate(-50%,-50%) translateY(0) scale(1)}to{opacity:0;transform:translate(-50%,-50%) translateY(8px) scale(.94)}}@keyframes homeGraphLineIn{from{opacity:0}to{opacity:var(--line-opacity,.58)}}@keyframes homeGraphLineSignal{to{stroke-dashoffset:-44}}@keyframes homeGraphScan{to{transform:translate3d(58%,58%,0)}}@keyframes homeGraphLineOut{from{opacity:var(--line-opacity,.48)}to{opacity:0}}@keyframes homeGraphDotIn{from{opacity:0;transform:translate(-50%,-50%) scale(.35)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}@keyframes homeGraphDotBreathe{0%,100%{opacity:.76;box-shadow:0 0 0 4px color-mix(in srgb,var(--accent) 9%,transparent)}50%{opacity:1;box-shadow:0 0 0 7px color-mix(in srgb,var(--accent) 13%,transparent)}}@media (max-width:1180px){.home-graph__shell{max-width:min(1040px,calc(100vw - 22px))}.home-graph__workspace{grid-template-columns:minmax(0,3.3fr) minmax(238px,1fr)}.home-graph__node{min-width:0}}@media (max-width:940px){.home-graph{height:auto;min-height:calc(100svh - var(--nav-height,68px));padding:8px 0 0;overflow:visible}.home-graph__shell{width:min(100%,calc(100vw - 12px));max-width:min(100%,calc(100vw - 12px));height:auto;min-height:calc(100svh - var(--nav-height,68px) - 8px);border-radius:18px 18px 0 0}.home-graph__workspace{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(620px,68svh) auto;min-height:0}.home-graph__canvas{min-height:0;cursor:default;touch-action:pan-y}.home-graph__map{inset:0;width:100%;height:100%}.home-graph__center{--center-size:94px}.home-graph__center-logo{width:58px;height:58px}.home-graph__category-card{min-width:142px;min-height:56px;grid-template-columns:34px minmax(0,1fr) 22px 26px;gap:7px;padding:8px 9px}.home-graph__category-icon{width:34px;height:34px;border-radius:12px}.home-graph__category-toggle{width:26px;height:26px;border-radius:8px}.home-graph__category-toggle svg{width:14px;height:14px}.home-graph__halo{width:calc(100% + 64px);height:calc(100% + 54px)}.home-graph__halo::before{inset:0}.home-graph__halo-dot{width:10px;height:10px}.home-graph__node{width:var(--node-size,34px);height:var(--node-size,34px);min-width:var(--node-size,34px);min-height:var(--node-size,34px);padding:0;border-radius:50%}.home-graph__status{left:10px;top:9px;font-size:.76rem}.home-graph__inspector{position:relative;left:auto;right:auto;bottom:auto;z-index:5;display:grid;grid-template-columns:minmax(0,1fr);align-items:start;gap:9px;min-height:156px;max-height:none;padding:11px 13px;overflow-x:hidden;overflow-y:visible;border:0;border-top:1px solid rgba(96,121,160,.18);border-radius:0;box-shadow:0 -16px 42px rgba(7,21,47,.1);transform:translateY(0);transition:transform .26s ease,opacity .26s ease}.home-graph__inspector-kicker{position:static}.home-graph__inspector-close{display:grid;place-items:center;width:34px;height:34px;border:1px solid rgba(96,121,160,.2);border-radius:50%;background:#ffffff;color:#34415c;cursor:pointer}.home-graph__inspector-close:is(:hover,:focus-visible){color:var(--home-graph-blue);border-color:rgba(21,93,252,.28);outline:none}.home-graph__inspector.is-closed{opacity:0;pointer-events:none;transform:translateY(calc(100% + 24px))}.home-graph__inspector-head{grid-template-columns:42px minmax(0,1fr);gap:10px;padding-top:0}.home-graph__inspector-icon{width:42px;height:42px;border-radius:14px}.home-graph__inspector-title{font-size:1.02rem}.home-graph__summary{font-size:.82rem;line-height:1.4}.home-graph__tag-list{gap:6px}.home-graph__tag-list li{min-height:23px;padding:3px 7px;font-size:.68rem}.home-graph__cta{min-height:40px;border-radius:13px}.home-graph__library-link{min-height:36px;border-radius:12px;font-size:.8rem}.home-graph__related-list{display:none}.home-graph__inspector-section--related{display:none}.home-pattern-page .speed-dial{bottom:calc(clamp(136px,20svh,176px) + 18px + env(safe-area-inset-bottom,0px))}}@media (max-width:520px){.home-graph__map{width:100%;height:100%}.home-graph__center{--center-size:64px}.home-graph__center-logo{width:42px;height:42px}.home-graph__workspace{grid-template-rows:minmax(690px,72svh) auto}.home-graph__category-card{min-width:90px;min-height:38px;grid-template-columns:23px minmax(0,1fr) 18px;gap:4px;padding:4px 5px}.home-graph__category-icon{width:23px;height:23px;border-radius:9px}.home-graph__category-icon svg,.home-graph__node-icon svg{width:15px;height:15px}.home-graph__category-title{font-size:.66rem}.home-graph__category-count{display:none}.home-graph__category-link{width:18px;height:18px}.home-graph__category-link svg{width:11px;height:11px}.home-graph__category-toggle{width:23px;height:23px;border-radius:8px}.home-graph__category-toggle svg{width:13px;height:13px}.home-graph__category.is-supporting .home-graph__category-card{grid-template-columns:1fr;place-items:center;min-width:76px;width:76px;min-height:48px;padding:5px 10px;opacity:.88}.home-graph__category.is-supporting .home-graph__category-icon{width:34px;height:34px}.home-graph__category.is-supporting .home-graph__category-icon svg{width:18px;height:18px}.home-graph__category.is-supporting .home-graph__category-toggle{left:calc(50% + 22px);width:16px;height:16px;border-radius:6px}.home-graph__category.is-supporting .home-graph__category-toggle svg{width:9px;height:9px}.home-graph__category.is-supporting .home-graph__category-copy,.home-graph__category.is-supporting .home-graph__category-title,.home-graph__category.is-supporting .home-graph__category-count,.home-graph__category.is-supporting .home-graph__category-link{display:none}.home-graph__halo{width:calc(100% + 50px);height:calc(100% + 46px)}.home-graph__halo::before{inset:0}.home-graph__halo-dot{width:8px;height:8px;box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 10%,transparent)}.home-graph__status{left:8px;top:8px;min-height:23px;padding:0 8px;font-size:.66rem}.home-graph__node{width:var(--node-size,28px);height:var(--node-size,28px);min-width:var(--node-size,28px);min-height:var(--node-size,28px);padding:0;border-radius:50%}.home-graph__group-label{gap:4px;min-height:24px;max-width:148px;padding:0 6px 0 8px;font-size:.54rem}.home-graph__group-count{min-width:15px;height:15px;padding:0 4px;font-size:.54rem}.home-graph__node-icon{width:100%;height:100%;border-radius:inherit}.home-graph__node-title{font-size:.62rem;line-height:1.05}.home-graph__node::after{content:none}.home-graph__tooltip{width:min(214px,calc(100% - 20px));padding:9px 10px;font-size:.74rem}.home-graph__inspector{gap:7px;padding:9px 10px max(9px,env(safe-area-inset-bottom))}.home-graph__inspector-kicker,.home-graph__inspector-section h3{font-size:.66rem}.home-graph__inspector-head{grid-template-columns:36px minmax(0,1fr);gap:8px}.home-graph__inspector-icon{width:36px;height:36px;border-radius:12px}.home-graph__inspector-title{font-size:.92rem}.home-graph__inspector-type{gap:4px;margin-top:5px}.home-graph__pill{min-height:20px;padding:3px 6px;font-size:.62rem}.home-graph__summary{font-size:.74rem;line-height:1.34}}@media (max-width:640px){.home-graph{min-height:calc(100svh - var(--nav-height,68px));padding:6px 0 0}.home-graph__shell{min-height:calc(100svh - var(--nav-height,68px) - 6px);border-radius:16px 16px 0 0}.home-graph__workspace{grid-template-rows:auto}.home-graph__canvas{min-height:0;overflow:visible;touch-action:pan-y}.home-graph__map{position:relative;inset:auto;min-height:0}.home-graph__lines,.home-graph__center,.home-graph__status,.home-graph [data-graph-category-host],.home-graph [data-graph-item-host],.home-graph__tooltip,.home-graph__inspector{display:none}.home-graph__mobile-deck{position:relative;z-index:12;display:grid;grid-template-rows:auto auto auto;align-content:start;gap:9px;padding:10px;overflow:visible;color:var(--home-graph-ink)}.home-graph:not([data-graph-active]) .home-graph__map{min-height:470px}.home-graph:not([data-graph-active]) .home-graph__lines,.home-graph:not([data-graph-active]) .home-graph__center,.home-graph:not([data-graph-active]) [data-graph-category-host]{display:block}.home-graph:not([data-graph-active]) .home-graph__center{display:grid}.home-graph:not([data-graph-active]) .home-graph__mobile-deck{display:none}.home-graph__mobile-depth-card,.home-graph__mobile-cluster-card,.home-graph__mobile-preview{border:1px solid rgba(96,121,160,.18);background:radial-gradient(circle at 16% 0%,color-mix(in srgb,var(--accent) 12%,transparent),transparent 44%),rgba(255,255,255,.92);box-shadow:0 16px 36px rgba(15,31,63,.09),inset 0 1px 0 rgba(255,255,255,.82);backdrop-filter:blur(18px);animation:homeGraphMobileCardIn .42s cubic-bezier(.22,1,.36,1) both}.home-graph__mobile-depth-card{display:grid;gap:8px;min-width:0;padding:10px;border-radius:17px}.home-graph__mobile-depth-card--branch{grid-template-columns:minmax(0,1fr) 104px;align-items:center;min-height:82px;padding:13px 14px}.home-graph__mobile-depth-card--group{animation-delay:45ms}.home-graph__mobile-depth-card--final{gap:11px;padding:12px;border-radius:22px;animation-delay:80ms}.home-graph__mobile-final-head{display:grid;grid-template-columns:minmax(0,1fr);gap:8px}.home-graph__mobile-layer-head{display:grid;grid-template-columns:42px minmax(0,1fr);align-items:center;gap:10px;min-width:0}.home-graph__mobile-layer-icon{display:grid;place-items:center;width:42px;height:42px;border:1px solid color-mix(in srgb,var(--accent) 18%,#d8e2ef);border-radius:17px;color:var(--accent);background:color-mix(in srgb,var(--accent) 8%,#ffffff);box-shadow:inset 0 1px 0 rgba(255,255,255,.72)}.home-graph__mobile-layer-icon svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.home-graph__mobile-network-mini{justify-self:end;display:grid;place-items:center;width:96px;height:62px;color:var(--accent)}.home-graph__mobile-network-mini svg{width:88px;height:64px;overflow:visible}.home-graph__mobile-network-mini path{fill:none;stroke:currentColor;stroke-width:1.3;stroke-linecap:round;stroke-linejoin:round;opacity:.42}.home-graph__mobile-network-mini circle{fill:var(--accent);stroke:#ffffff;stroke-width:2.4;filter:drop-shadow(0 5px 10px color-mix(in srgb,var(--accent) 24%,transparent))}.home-graph__mobile-depth-copy{display:grid;gap:2px;min-width:0}.home-graph__mobile-depth-copy span,.home-graph__mobile-preview-kicker{color:color-mix(in srgb,var(--accent) 70%,#24324c);font-size:.61rem;font-weight:860;letter-spacing:.08em;line-height:1;text-transform:uppercase}.home-graph__mobile-depth-copy strong,.home-graph__mobile-preview strong{display:block;overflow:hidden;color:var(--home-graph-ink);font-size:.96rem;font-weight:820;line-height:1.05;text-overflow:ellipsis;white-space:nowrap}.home-graph__mobile-depth-copy small{overflow:hidden;color:var(--home-graph-muted);font-size:.66rem;font-weight:720;line-height:1.1;text-overflow:ellipsis;white-space:nowrap}.home-graph__mobile-chain{display:flex;flex-wrap:wrap;align-items:center;gap:5px;min-width:0;color:#56647c;font-size:.62rem;font-weight:760;line-height:1.1}.home-graph__mobile-chain span{display:inline-flex;align-items:center;min-height:20px;max-width:122px;padding:3px 7px;overflow:hidden;border:1px solid rgba(96,121,160,.14);border-radius:999px;background:rgba(248,251,255,.8);text-overflow:ellipsis;white-space:nowrap}.home-graph__mobile-chain span[aria-current="step"]{color:color-mix(in srgb,var(--accent) 78%,#07152f);background:color-mix(in srgb,var(--accent) 11%,#ffffff)}.home-graph__mobile-chain b{color:color-mix(in srgb,var(--accent) 42%,#8794aa);font-size:.72rem;line-height:1}.home-graph__mobile-category-switch,.home-graph__mobile-rail,.home-graph__mobile-topic-list{display:flex;gap:7px;min-width:0;overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain;scrollbar-width:none;scroll-snap-type:x mandatory}.home-graph__mobile-category-switch::-webkit-scrollbar,.home-graph__mobile-rail::-webkit-scrollbar,.home-graph__mobile-topic-list::-webkit-scrollbar{display:none}.home-graph__mobile-category-chip,.home-graph__mobile-group-chip,.home-graph__mobile-topic-chip{flex:0 0 auto;border:1px solid rgba(96,121,160,.17);color:#2b3852;background:rgba(255,255,255,.74);box-shadow:inset 0 1px 0 rgba(255,255,255,.74);font:inherit;cursor:pointer;scroll-snap-align:start;transition:background-color .24s ease,border-color .24s ease,color .24s ease,transform .24s ease,box-shadow .24s ease}.home-graph__mobile-category-chip:is(:hover,:focus-visible),.home-graph__mobile-group-chip:is(:hover,:focus-visible),.home-graph__mobile-topic-chip:is(:hover,:focus-visible){border-color:color-mix(in srgb,var(--accent) 36%,#c8d5ea);background:#ffffff;transform:translateY(-1px);outline:none}.home-graph__mobile-category-chip.is-active,.home-graph__mobile-group-chip.is-active,.home-graph__mobile-topic-chip.is-active{border-color:color-mix(in srgb,var(--accent) 46%,#ffffff);color:color-mix(in srgb,var(--accent) 78%,#07152f);background:color-mix(in srgb,var(--accent) 11%,#ffffff);box-shadow:0 10px 24px color-mix(in srgb,var(--accent) 12%,transparent),inset 0 1px 0 rgba(255,255,255,.82)}.home-graph__mobile-category-chip{display:inline-flex;align-items:center;gap:6px;min-height:36px;padding:0 10px;border-radius:999px;font-size:.72rem;font-weight:780}.home-graph__mobile-category-chip svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:2.1;stroke-linecap:round;stroke-linejoin:round}.home-graph__mobile-group-chip{display:grid;grid-template-rows:auto minmax(0,1fr);justify-items:center;align-items:center;gap:7px;min-width:146px;min-height:86px;padding:10px 12px;border-radius:18px;font-size:.74rem;font-weight:800;text-align:center}.home-graph__mobile-group-icon{display:grid;place-items:center;width:32px;height:32px;border-radius:13px;color:color-mix(in srgb,var(--accent) 82%,#07152f);background:color-mix(in srgb,var(--accent) 9%,#ffffff)}.home-graph__mobile-group-icon svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2.1;stroke-linecap:round;stroke-linejoin:round}.home-graph__mobile-group-text{display:grid;gap:3px;min-width:0}.home-graph__mobile-group-text strong{display:block;overflow:hidden;color:var(--home-graph-ink);font-size:.78rem;line-height:1.08;text-overflow:ellipsis;white-space:normal}.home-graph__mobile-group-text small{color:var(--home-graph-muted);font-size:.66rem;font-weight:720;line-height:1}.home-graph__mobile-topic-chip span{display:inline-grid;place-items:center;min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:color-mix(in srgb,var(--accent) 10%,#ffffff);color:color-mix(in srgb,var(--accent) 78%,#07152f);font-size:.58rem;font-weight:860}.home-graph__mobile-topic-chip{display:inline-flex;align-items:center;gap:7px;min-height:34px;padding:0 10px;border-radius:999px;font-size:.68rem;font-weight:780}.home-graph__mobile-cluster-card{position:relative;min-height:328px;overflow:hidden;border-radius:19px;background:linear-gradient(90deg,rgba(21,93,252,.042) 1px,transparent 1px),linear-gradient(180deg,rgba(7,152,166,.038) 1px,transparent 1px),radial-gradient(circle at 50% 50%,color-mix(in srgb,var(--accent) 11%,transparent),transparent 42%),rgba(255,255,255,.88);background-size:24px 24px,24px 24px,auto,auto;box-shadow:inset 0 1px 0 rgba(255,255,255,.68);animation-delay:120ms}.home-graph__mobile-cluster-card::before{content:"";position:absolute;left:50%;top:50%;width:220px;height:226px;border:1px dashed color-mix(in srgb,var(--accent) 24%,transparent);border-radius:50%;transform:translate(-50%,-50%);opacity:.58;pointer-events:none}.home-graph__mobile-cluster-lines{position:absolute;inset:0;z-index:1;width:100%;height:100%;pointer-events:none}.home-graph__mobile-cluster-lines path{fill:none;stroke:var(--accent);stroke-width:.72;stroke-linecap:round;stroke-dasharray:2.8 3.8;opacity:.48;animation:homeGraphLineIn .45s cubic-bezier(.22,1,.36,1) both,homeGraphLineSignal 3.6s linear infinite}.home-graph__mobile-hub,.home-graph__mobile-project-node{position:absolute;z-index:3;border:1px solid color-mix(in srgb,var(--accent) 24%,#c8d5ea);background:rgba(255,255,255,.94);color:var(--home-graph-ink);box-shadow:0 14px 30px rgba(15,31,63,.1);font:inherit;cursor:pointer;transition:transform .24s ease,border-color .24s ease,box-shadow .24s ease,background-color .24s ease}.home-graph__mobile-hub{left:50%;top:50%;display:grid;grid-template-columns:34px minmax(0,1fr);align-items:center;gap:8px;width:min(142px,40vw);min-height:56px;padding:8px 10px;border-radius:18px;font-size:.76rem;font-weight:830;line-height:1.06;transform:translate(-50%,-50%)}.home-graph__mobile-hub:is(:hover,:focus-visible){border-color:color-mix(in srgb,var(--accent) 46%,#ffffff);box-shadow:0 18px 36px color-mix(in srgb,var(--accent) 14%,rgba(15,31,63,.12)),0 0 0 7px color-mix(in srgb,var(--accent) 8%,transparent);transform:translate(-50%,-50%) scale(1.02);outline:none}.home-graph__mobile-hub-icon,.home-graph__mobile-project-icon{display:grid;place-items:center;border-radius:13px;color:var(--accent);background:color-mix(in srgb,var(--accent) 10%,#ffffff)}.home-graph__mobile-hub-icon{width:34px;height:34px}.home-graph__mobile-hub-icon svg,.home-graph__mobile-project-icon svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.home-graph__mobile-project-node{left:var(--node-x);top:var(--node-y);display:grid;place-items:center;width:48px;height:48px;padding:0;border-radius:16px;transform:translate(-50%,-50%);animation:homeGraphMobileNodeIn .42s cubic-bezier(.22,1,.36,1) both;animation-delay:calc(160ms + (var(--node-index,0) * 35ms))}.home-graph__mobile-project-node:is(:hover,:focus-visible){z-index:5;border-color:color-mix(in srgb,var(--accent) 54%,#ffffff);background:#ffffff;box-shadow:0 18px 38px color-mix(in srgb,var(--accent) 16%,rgba(15,31,63,.12)),0 0 0 7px color-mix(in srgb,var(--accent) 10%,transparent);transform:translate(-50%,-50%) translateY(-2px) scale(1.08);outline:none}.home-graph__mobile-project-node.is-selected{z-index:5;border-color:color-mix(in srgb,var(--accent) 70%,#ffffff);background:var(--accent);color:#ffffff;box-shadow:0 18px 38px color-mix(in srgb,var(--accent) 24%,rgba(15,31,63,.16)),0 0 0 7px color-mix(in srgb,var(--accent) 14%,transparent);transform:translate(-50%,-50%) translateY(-2px) scale(1.08);outline:none}.home-graph__mobile-project-icon{width:30px;height:30px}.home-graph__mobile-project-node.is-selected .home-graph__mobile-project-icon{color:#ffffff;background:rgba(255,255,255,.16)}.home-graph__mobile-project-title{position:absolute;left:50%;top:calc(100% + 3px);display:-webkit-box;width:78px;overflow:hidden;color:#26334d;font-size:.56rem;font-weight:780;line-height:1.04;text-align:center;text-overflow:clip;transform:translateX(-50%);-webkit-box-orient:vertical;-webkit-line-clamp:2}.home-graph__mobile-project-node.is-selected .home-graph__mobile-project-title{color:#ffffff}.home-graph__mobile-preview{display:grid;grid-template-columns:minmax(0,1fr);gap:8px;padding:12px;border-radius:17px;animation-delay:160ms}.home-graph__mobile-preview p{display:-webkit-box;margin:5px 0 0;overflow:hidden;color:#34415c;font-size:.74rem;line-height:1.32;-webkit-box-orient:vertical;-webkit-line-clamp:2}.home-graph__mobile-preview ul{display:flex;flex-wrap:wrap;gap:5px;margin:8px 0 0;padding:0;list-style:none}.home-graph__mobile-preview li{min-height:20px;padding:3px 6px;border:1px solid rgba(96,121,160,.14);border-radius:999px;background:color-mix(in srgb,var(--accent) 7%,#ffffff);color:#34415c;font-size:.6rem;font-weight:760;line-height:1}.home-graph__mobile-preview a{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:38px;border-radius:13px;color:#ffffff;background:var(--accent);box-shadow:0 14px 28px color-mix(in srgb,var(--accent) 20%,transparent);font-size:.82rem;font-weight:820;line-height:1;text-decoration:none;transition:transform .22s ease,box-shadow .22s ease}.home-graph__mobile-preview a:is(:hover,:focus-visible){transform:translateY(-1px);box-shadow:0 18px 36px color-mix(in srgb,var(--accent) 28%,transparent);outline:none}.home-graph__mobile-preview a svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}}@media (prefers-reduced-motion:reduce){.home-graph *,.home-graph *::before,.home-graph *::after{animation-duration:.01ms !important;animation-iteration-count:1 !important;scroll-behavior:auto !important;transition-duration:.01ms !important}}@keyframes homeGraphMobileCardIn{from{opacity:0;transform:translateY(12px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes homeGraphMobileNodeIn{from{opacity:0;transform:translate(-50%,-50%) scale(.72)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}}@layer overrides{body[data-page="home"].home-pattern-page .home-graph > .home-graph__shell.wrapper{width:min(1510px,calc(100vw - 28px));max-width:min(1510px,calc(100vw - 28px))}body[data-page="home"].home-pattern-page #main{display:flex;flex:1 1 auto;flex-direction:column;min-height:0}body[data-page="home"].home-pattern-page .speed-dial{bottom:calc(22px + env(safe-area-inset-bottom,0px))}@media (min-width:941px){body[data-page="home"].home-pattern-page{--home-graph-footer-space:152px}body[data-page="home"].home-pattern-page .home-graph__inspector.is-overview{gap:11px;padding:16px 16px 18px}body[data-page="home"].home-pattern-page .home-graph__inspector.is-overview .home-graph__summary{font-size:.86rem;line-height:1.38}body[data-page="home"].home-pattern-page .home-graph__inspector.is-overview .home-graph__tag-list{gap:6px}body[data-page="home"].home-pattern-page .home-graph__inspector.is-overview .home-graph__tag-list li{min-height:25px;padding:4px 8px;font-size:.74rem}body[data-page="home"].home-pattern-page .home-graph__inspector.is-overview .home-graph__related-list a{min-height:36px;padding:0 10px;font-size:.82rem}body[data-page="home"].home-pattern-page .home-graph__inspector.is-overview .home-graph__cta{min-height:46px;border-radius:14px}body[data-page="home"].home-pattern-page .home-graph__inspector.is-overview .home-graph__library-link{min-height:40px}body[data-page="home"].home-pattern-page .footer.footer-classic{min-height:0;padding:26px 0 22px}body[data-page="home"].home-pattern-page .footer.footer-classic .footer-inner{gap:14px clamp(22px,4vw,44px)}body[data-page="home"].home-pattern-page .footer.footer-classic .footer-nav{grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;align-items:start}body[data-page="home"].home-pattern-page .footer.footer-classic .footer-col{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-flow:row;grid-auto-columns:auto;align-items:start;justify-content:stretch;gap:4px 18px;align-content:start;min-width:0}body[data-page="home"].home-pattern-page .footer.footer-classic .footer-col-title{grid-column:1 / -1;margin:0 0 3px;font-size:11px;letter-spacing:.16em;line-height:1.1}body[data-page="home"].home-pattern-page .footer.footer-classic .footer-link{padding:1px 0;font-size:12.5px;line-height:1.35;white-space:normal}body[data-page="home"].home-pattern-page .footer.footer-classic .footer-meta{padding-top:11px;font-size:12px;line-height:1.3;text-align:center}}@media (max-width:1180px){body[data-page="home"].home-pattern-page .home-graph > .home-graph__shell.wrapper{width:min(1040px,calc(100vw - 22px));max-width:min(1040px,calc(100vw - 22px))}}@media (max-width:940px){body[data-page="home"].home-pattern-page .speed-dial{bottom:calc(clamp(136px,20svh,176px) + 18px + env(safe-area-inset-bottom,0px))}}}@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{.cms-location-inner{display:grid;grid-template-columns:minmax(0,0.72fr) minmax(320px,1.28fr);gap:clamp(24px,4vw,56px);align-items:center}.cms-location-copy{max-width:560px}.cms-location-copy .section-title{margin:0 0 10px}.cms-location-copy .section-subtitle{margin:0 0 22px;color:var(--text-muted)}.cms-map-shell{position:relative;overflow:hidden;min-height:320px;aspect-ratio:16 / 10;border:1px solid var(--border-subtle);border-radius:8px;background:color-mix(in srgb,var(--surface) 88%,var(--primary) 12%);box-shadow:0 18px 44px rgba(0,0,0,.18)}.cms-map-iframe{display:block;width:100%;height:100%;min-height:inherit;border:0}@media (max-width:780px){.cms-location-inner{grid-template-columns:1fr}.cms-map-shell{min-height:260px;aspect-ratio:4 / 3}}}@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%}}}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"] .grid-number-control{color:#ffffff}html[data-project-demo-theme="brand"] select.grid-number-pill option{background:#ffffff;color:var(--brand-midnight,#091f3b)}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.2rem,2.8vh,1.65rem) 0 clamp(.9rem,2.1vh,1.18rem);gap:0}.footer.footer-classic .footer-inner{width:100%;display:grid;grid-template-columns:minmax(0,1fr) max-content;align-items:start;gap:10px clamp(22px,4vw,44px)}.footer.footer-classic .footer-nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(14px,2.8vw,24px);align-items:start}.footer.footer-classic .footer-col{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px clamp(16px,2.4vw,28px);align-content:start}.footer.footer-classic .footer-col-title{grid-column:1 / -1;margin:0 0 4px;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: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.35;text-decoration:none;cursor:pointer;appearance:none;text-align:left;min-width:0}.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{justify-self:end;align-self:start;margin:0;padding-top:0;border-top:0;font-size:12.5px;font-family:'Inter';font-weight:500;line-height:1.35;text-align:right;white-space:nowrap;color:color-mix(in srgb,var(--text-light) 72%,var(--text-muted) 28%)}@media (max-width:920px){.footer.footer-classic .footer-inner{grid-template-columns:1fr;gap:10px}.footer.footer-classic .footer-meta{justify-self:start;padding-top:10px;border-top:1px solid color-mix(in srgb,var(--primary) 12%,transparent);text-align:left;white-space:normal}}@media (min-width:641px) and (max-width:1020px){.footer.footer-classic .footer-inner{padding-inline-start:calc(82px + env(safe-area-inset-left));padding-inline-end:calc(86px + env(safe-area-inset-right))}.footer.footer-classic .footer-nav{gap:clamp(12px,2vw,18px)}.footer.footer-classic .footer-meta{max-width:15rem;white-space:normal}}@media (max-width:640px){.footer.footer-classic{text-align:left;padding:.9rem 0 .72rem}.footer.footer-classic .footer-nav{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 16px}.footer.footer-classic .footer-col{grid-template-columns:repeat(2,minmax(0,1fr));gap:1px 10px}.footer.footer-classic .footer-col-title{margin-bottom:1px;font-size:10px}.footer.footer-classic .footer-link,.footer.footer-classic .footer-meta{font-size:12px;line-height:1.25}.footer.footer-classic .footer-link{justify-content:flex-start;text-align:left}.footer.footer-classic .footer-meta{padding-top:8px}}}@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-tools .nav-link-has-menu,.nav-item-games .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-tools .nav-link-caret,.nav-item-games .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-tools .nav-dropdown,.nav-item-games .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:var(--cta-blue-gradient);color:var(--cta-blue-text);border-color:var(--cta-blue-border);box-shadow:var(--cta-blue-shadow)}@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:var(--cta-blue-gradient-hover);color:var(--cta-blue-text);border-color:var(--cta-blue);box-shadow:var(--cta-blue-shadow-hover)}}.cookie-settings__toggle.btn-icon-featured{width:52px;height:52px;background:var(--cta-blue);color:var(--cta-blue-text);border-color:var(--cta-blue);border-radius:10px;box-shadow:var(--cta-blue-shadow)}@media (hover:hover) and (pointer:fine){.cookie-settings__toggle.btn-icon-featured:hover,.cookie-settings__toggle.btn-icon-featured:focus-visible{background:var(--cta-blue-hover);color:var(--cta-blue-text);border-color:var(--cta-blue-hover);box-shadow:var(--cta-blue-shadow-hover);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(--cta-blue);color:var(--cta-blue-text);border:1px solid var(--cta-blue);border-radius:10px;box-shadow:var(--cta-blue-shadow);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(--cta-blue-hover);border-color:var(--cta-blue-hover);color:var(--cta-blue-text)}:is(.btn-secondary,.btn-ghost,.btn-icon):hover{background:var(--cta-blue-soft);color:var(--brand-midnight);border-color:var(--cta-blue-border)}.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-directory,.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-tools:hover .nav-dropdown,.nav-item-tools:focus-within .nav-dropdown,.nav-item-tools.dropdown-open .nav-dropdown,.nav-item-games:hover .nav-dropdown,.nav-item-games:focus-within .nav-dropdown,.nav-item-games.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,#nav-dropdown-games{width:min(360px,64vw);max-width:360px}#nav-dropdown-tools{width:min(620px,78vw);max-width:640px}}#nav-dropdown-portfolio{background:rgba(255,255,255,.98);border-color:color-mix(in srgb,var(--brand-midnight) 12%,transparent)}#nav-dropdown-tools .nav-dropdown-inner-directory{grid-template-columns:repeat(2,minmax(0,1fr))}#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)}body[data-page="home"].home-pattern-page .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)}.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 / min(58vw,720px) auto 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[data-page="portfolio"] :is(#portfolio-carousel-section,.portfolio-library-section){position:relative;isolation:isolate;overflow:hidden;background:linear-gradient( 180deg,#ffffff 0%,color-mix(in srgb,var(--brand-mist) 62%,#ffffff 38%) 100% )}body[data-page="portfolio"] :is(#portfolio-carousel-section,.portfolio-library-section)::before{content:none;display:none}body[data-page="portfolio"] :is(#portfolio-carousel-section,.portfolio-library-section) > .wrapper{position:relative;z-index:1}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[data-page="portfolio"] .project-card{--portfolio-card-text-min-height:103px;grid-template-rows:auto minmax(var(--portfolio-card-text-min-height),auto)}@media (max-width:640px){body[data-page="portfolio"] .project-card{--portfolio-card-text-min-height:114px}}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[data-page="portfolio"] .project-card .project-text{box-sizing:border-box;min-height:var(--portfolio-card-text-min-height)}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[data-page="home"].home-pattern-page main > section:is( #featured-projects,#tools-preview,#games-preview,#contact-preview ){--home-section-accent:var(--brand-action-copper);--home-section-accent-strong:var(--home-section-accent);--home-section-accent-soft:color-mix(in srgb,var(--home-section-accent) 13%,#ffffff 87%);--home-section-accent-border:color-mix(in srgb,var(--home-section-accent) 52%,transparent);--home-section-accent-contrast:#ffffff;--home-section-accent-hover:color-mix(in srgb,var(--home-section-accent) 78%,var(--brand-midnight) 22%);background-color:var(--brand-canvas);background-image:var(--home-section-art);background-position:center center;background-repeat:no-repeat;background-size:cover;border-block-color:var(--home-section-accent-border);box-sizing:border-box;display:flex;align-items:center;min-height:clamp(400px,46svh,540px)}body[data-page="home"].home-pattern-page main > section:is( #featured-projects,#tools-preview,#games-preview,#contact-preview ) > .wrapper{width:100%}body[data-page="home"].home-pattern-page main > section:is( #featured-projects,#tools-preview,#games-preview ) > .wrapper{display:grid;align-content:center;gap:clamp(.95rem,1.8vw,1.25rem)}body[data-page="home"].home-pattern-page main > section#featured-projects{--home-section-art:url("../img/brand/analytics-project-examples-bg.png");--home-section-accent:var(--brand-green)}body[data-page="home"].home-pattern-page main > section#tools-preview{--home-section-art:url("../img/brand/analytics-skills-practice-bg-02-balanced-wash.png");--home-section-accent:var(--brand-action-copper);--home-section-accent-contrast:#ffffff}body[data-page="home"].home-pattern-page main > section#games-preview{--home-section-art:url("../img/brand/analytics-business-results-bg.png");--home-section-accent:var(--brand-blue)}body[data-page="home"].home-pattern-page main > section#contact-preview{--home-section-art:url("../img/brand/analytics-contact-cta-bg.png");--home-section-accent:var(--cta-blue);--home-section-accent-contrast:var(--cta-blue-text)}body[data-page="home"].home-pattern-page main > section:is( #featured-projects,#tools-preview,#games-preview ) :is(.project-examples-head h2,.destination-section-head h2){color:var(--home-section-accent-strong)}body[data-page="home"].home-pattern-page main > section:is( #featured-projects,#tools-preview,#games-preview ) :is(.project-examples-head,.destination-section-head){margin:0 auto}body[data-page="home"].home-pattern-page main > section:is( #featured-projects,#tools-preview,#games-preview ) :is(.project-examples-head h2,.destination-section-head h2)::before{content:"";display:block;width:34px;height:3px;margin:0 auto 12px;border-radius:999px;background:var(--home-section-accent)}body[data-page="home"].home-pattern-page main > section:is( #featured-projects,#tools-preview,#games-preview ) .home-showcase-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(14px,2vw,18px);align-items:start}body[data-page="home"].home-pattern-page main > section:is( #featured-projects,#tools-preview,#games-preview ) .home-showcase-card{position:relative;box-sizing:border-box;display:grid;grid-template-rows:auto 1fr auto;align-content:start;gap:12px;height:auto;min-height:154px;padding:18px 18px 16px;border:1px solid var(--home-section-accent-border);border-left:3px solid var(--home-section-accent);border-radius:8px;background:#ffffff;box-shadow:0 8px 20px color-mix(in srgb,var(--home-section-accent) 8%,transparent),var(--shadow-sm);transition:border-color var(--motion-fast) var(--easing-standard),box-shadow var(--motion-base) var(--easing-standard),transform var(--motion-base) var(--easing-standard);overflow:hidden}body[data-page="home"].home-pattern-page main > section:is( #featured-projects,#tools-preview,#games-preview ) .home-showcase-card:is(:hover,:focus-within){border-color:var(--home-section-accent);box-shadow:0 12px 26px color-mix(in srgb,var(--home-section-accent) 12%,transparent),var(--shadow-sm);transform:translateY(-2px)}body[data-page="home"].home-pattern-page main > section:is( #featured-projects,#tools-preview,#games-preview ) .home-showcase-card::before{content:"";position:absolute;inset:0 0 auto 0;width:100%;height:3px;background:var(--home-section-accent);opacity:.5}body[data-page="home"].home-pattern-page main > section:is( #featured-projects,#tools-preview,#games-preview ) .home-showcase-card h3{align-self:start;margin:0;color:var(--brand-midnight);font-size:1.08rem;font-weight:750;line-height:1.35}body[data-page="home"].home-pattern-page main > section:is( #featured-projects,#tools-preview,#games-preview ) .home-showcase-summary{align-self:start;margin:0;color:var(--brand-slate);font-size:.92rem;line-height:1.48}body[data-page="home"].home-pattern-page main > section:is( #featured-projects,#tools-preview,#games-preview ) .home-showcase-card .btn-secondary{justify-self:start;box-sizing:border-box;min-height:42px;padding:10px 18px;background:#ffffff;border-color:var(--home-section-accent-border);color:var(--home-section-accent-strong);font-size:.92rem;box-shadow:none}body[data-page="home"].home-pattern-page main > section:is( #featured-projects,#tools-preview,#games-preview ) .home-showcase-card .btn-secondary:is(:hover,:focus-visible){background:var(--home-section-accent-soft);border-color:var(--home-section-accent);color:var(--home-section-accent-hover)}body[data-page="home"].home-pattern-page main > section:is( #featured-projects,#tools-preview,#games-preview ) :is(.project-examples-actions,.home-showcase-actions){display:flex;justify-content:center;margin-top:clamp(.95rem,2vw,1.25rem)}body[data-page="home"].home-pattern-page main > section:is( #featured-projects,#tools-preview,#games-preview ) :is(.project-examples-actions,.home-showcase-actions) .btn-secondary{box-sizing:border-box;min-height:44px;padding:12px 24px}body[data-page="home"].home-pattern-page main > section:is( #featured-projects,#tools-preview,#games-preview,#contact-preview ) :is(.btn-primary,.btn-secondary){box-sizing:border-box;background:#ffffff;border-color:var(--home-section-accent-border);color:var(--home-section-accent-strong);box-shadow:var(--shadow-sm)}body[data-page="home"].home-pattern-page main > section:is( #featured-projects,#tools-preview,#games-preview,#contact-preview ) :is(.btn-primary,.btn-secondary):is(:hover,:focus-visible){background:var(--home-section-accent-soft);border-color:var(--home-section-accent);color:var(--home-section-accent-hover)}body[data-page="home"].home-pattern-page main > section:is( #featured-projects,#tools-preview,#games-preview ) :is(.project-examples-actions,.home-showcase-actions) .btn-secondary,body[data-page="home"].home-pattern-page #contact-preview .home-contact-actions .btn-primary{background:var(--cta-blue);border-color:var(--cta-blue);color:var(--cta-blue-text);box-shadow:var(--cta-blue-shadow)}body[data-page="home"].home-pattern-page main > section:is( #featured-projects,#tools-preview,#games-preview ) :is(.project-examples-actions,.home-showcase-actions) .btn-secondary:is(:hover,:focus-visible),body[data-page="home"].home-pattern-page #contact-preview .home-contact-actions .btn-primary:is(:hover,:focus-visible){background:var(--cta-blue-hover);border-color:var(--cta-blue-hover);color:var(--cta-blue-text)}body[data-page="home"].home-pattern-page #contact-preview #cta-link{box-sizing:border-box;display:flex;flex-direction:column;gap:clamp(.9rem,2vw,1.15rem);align-items:center;width:min(100%,760px);max-width:760px;min-height:0;margin-inline:auto;border:1px solid var(--home-section-accent-border);border-top:3px solid var(--home-section-accent);border-radius:8px;padding:clamp(1.35rem,2.4vw,1.85rem) clamp(1.25rem,3vw,2.25rem);background:#ffffff;box-shadow:0 8px 20px rgba(9,31,59,.08);text-align:center}body[data-page="home"].home-pattern-page #contact-preview .home-contact-copy{display:grid;gap:.5rem;justify-items:center}body[data-page="home"].home-pattern-page #contact-preview #cta-link h2,body[data-page="home"].home-pattern-page #contact-preview #cta-link p{margin:0}body[data-page="home"].home-pattern-page #contact-preview #cta-link p{color:var(--brand-slate)}body[data-page="home"].home-pattern-page #contact-preview .home-contact-actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:center}@media (max-width:720px){body[data-page="home"].home-pattern-page #contact-preview #cta-link{border-top-width:3px}body[data-page="home"].home-pattern-page #contact-preview #cta-link .section-title::before{margin-inline:auto}body[data-page="home"].home-pattern-page #contact-preview .home-contact-actions{justify-content:center}}@media (max-width:760px){body[data-page="home"].home-pattern-page main > section:is( #featured-projects,#tools-preview,#games-preview,#contact-preview ){min-height:auto}body[data-page="home"].home-pattern-page main > section:is( #featured-projects,#tools-preview,#games-preview ) .home-showcase-grid{grid-template-columns:1fr}body[data-page="home"].home-pattern-page main > section:is( #featured-projects,#tools-preview,#games-preview ) .home-showcase-card,body[data-page="home"].home-pattern-page #contact-preview #cta-link{min-height:0}}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(--cta-blue);border-color:var(--cta-blue);color:var(--cta-blue-text)}body:is([data-page="analytics"],[data-page="data-science"],[data-page="tourism"]).home-pattern-page #cta .btn-primary:is(:hover,:focus-visible){background:var(--cta-blue-hover);border-color:var(--cta-blue-hover)}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)}body[data-page="contact"] .contact-big{grid-template-columns:repeat(4,minmax(0,1fr))}.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)}body[data-page="contact"] .contact-big .contact-card small{overflow-wrap:anywhere}body[data-page="contact"] .contact-card:is(:hover,:focus-visible){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) 34%,transparent);box-shadow:var(--shadow-md)}body[data-page="contact"] .contact-card:is(:hover,:focus-visible) :is(svg,.icon){color:var(--brand-signal-blue)}body[data-page="contact"] .contact-card:is(:hover,:focus-visible) small{color:color-mix(in srgb,var(--brand-midnight) 72%,#ffffff 28%)}body[data-page="contact"] :is(.btn-secondary,.btn-ghost):is(:hover,:focus-visible){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) 34%,transparent)}body[data-page="contact"] .contact-card.contact-card-recommended{background:var(--brand-signal-blue);color:#ffffff;border-color:var(--brand-signal-blue);box-shadow:0 18px 38px color-mix(in srgb,var(--brand-signal-blue) 24%,transparent)}body[data-page="contact"] .contact-card.contact-card-recommended small,body[data-page="contact"] .contact-card.contact-card-recommended svg,body[data-page="contact"] .contact-card.contact-card-recommended .icon{color:#ffffff}body[data-page="contact"] .contact-card.contact-card-recommended:is(:hover,:focus-visible){background:color-mix(in srgb,var(--brand-signal-blue) 92%,var(--brand-deep-blue) 8%);color:#ffffff;border-color:var(--brand-deep-blue)}body[data-page="contact"] .contact-card.contact-card-recommended:is(:hover,:focus-visible) :is(svg,.icon,small){color:#ffffff}@media (max-width:1100px){body[data-page="contact"] .contact-big{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:640px){body[data-page="contact"] .contact-big{grid-template-columns:repeat(2,minmax(0,1fr))}body[data-page="contact"] .contact-big .contact-card{align-items:center;flex-direction:column;justify-content:center;min-height:138px;text-align:center}}.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(--cta-blue);color:var(--cta-blue-text);border-color:var(--cta-blue);border-radius:10px;box-shadow:var(--cta-blue-shadow)}.site-chatbot__send,.site-chatbot__message--user .site-chatbot__bubble{background:var(--cta-blue)}.site-chatbot__send,.site-chatbot__message--user .site-chatbot__bubble,.site-chatbot__message--user .site-chatbot__bubble p{color:var(--cta-blue-text);-webkit-text-fill-color:var(--cta-blue-text)}.site-chatbot__launcher:hover,.site-chatbot__launcher:focus-visible{background:var(--cta-blue-hover);border-color:var(--cta-blue-hover);box-shadow:var(--cta-blue-shadow-hover);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(--cta-blue);border-color:var(--cta-blue);color:var(--cta-blue-text);box-shadow:none}.nav-row .nav-link.nav-link-cta:hover,.nav-row .nav-link.nav-link-cta:focus-visible{background:var(--cta-blue-hover);border-color:var(--cta-blue-hover);color:var(--cta-blue-text)}#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{min-height:auto;padding:16px}body[data-page="portfolio"] .project-card .project-text{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%}}body.site-page{--professional-bg:#ffffff;--professional-bg-soft:#f7f9fc;--professional-border:color-mix(in srgb,var(--brand-midnight) 11%,transparent);--professional-border-strong:color-mix(in srgb,var(--brand-midnight) 18%,transparent);--professional-shadow:0 12px 32px rgba(9,31,59,.08);background:var(--professional-bg)}.nav{--brand-logo-size:38px;--brand-title-size:1rem;--brand-tagline-size:.78rem;--nav-block-padding:8px;--nav-inline-padding:clamp(16px,4vw,28px);background:rgba(255,255,255,.96);border-bottom-color:var(--professional-border);box-shadow:none}.nav .wrapper{gap:clamp(14px,2vw,28px);max-width:min(1180px,calc(100vw - 24px))}.brand{gap:10px}.brand-logo{width:var(--brand-logo-size);height:var(--brand-logo-size);padding:2px}.brand-title{font-size:var(--brand-title-size);font-weight:760}.nav-row{flex:0 1 clamp(620px,58vw,760px);gap:clamp(14px,1.8vw,24px);max-width:min(760px,64vw)}.nav-link{min-height:38px;padding:8px 10px;border-radius:8px;color:var(--brand-graphite);font-size:.9rem;font-weight:650}.nav-link.nav-link-cta,.btn-primary,.btn-secondary,.btn-ghost{border-radius:8px}.nav-link.nav-link-cta{min-height:38px;padding-inline:12px;box-shadow:none}.nav-search-input{min-height:38px;border-radius:8px}.nav-search-button{min-height:38px;border-radius:8px}.nav-dropdown,.nav-row.open{border-color:var(--professional-border);border-radius:0 0 8px 8px;box-shadow:var(--professional-shadow)}body[data-page="home"].home-pattern-page .hero.hero--default{min-height:min(720px,calc(100svh - var(--nav-height,72px)));margin:0;padding:4.25rem 0 3.25rem;background:linear-gradient(180deg,#ffffff 0%,var(--professional-bg-soft) 100%);border-bottom:1px solid var(--professional-border)}body[data-page="home"].home-pattern-page .hero.hero--default > .wrapper{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,410px);align-items:center;gap:clamp(36px,6vw,72px);max-width:min(1120px,calc(100vw - 40px));padding-inline:0;text-align:left}body[data-page="home"].home-pattern-page .home-hero-copy{display:grid;justify-items:start;gap:18px}body[data-page="home"].home-pattern-page .hero-eyebrow{margin:0;color:var(--brand-deep-blue);font-family:var(--font-sans);font-size:.94rem;font-weight:720;letter-spacing:0;text-transform:none}body[data-page="home"].home-pattern-page .hero h1{max-width:10ch;font-size:4.35rem;line-height:.98;font-weight:790}body[data-page="home"].home-pattern-page .hero-tagline{width:min(100%,42rem);color:var(--brand-graphite);font-size:1.16rem;line-height:1.62}body[data-page="home"].home-pattern-page .cta-group{justify-content:flex-start;gap:10px;margin-top:6px}body[data-page="home"].home-pattern-page .hero-cta{min-height:42px;padding:11px 16px;font-size:.94rem}body[data-page="home"].home-pattern-page .home-hero-panel{display:grid;gap:18px;padding:22px;border:1px solid var(--professional-border);border-radius:8px;background:#ffffff;box-shadow:var(--professional-shadow)}body[data-page="home"].home-pattern-page .home-hero-panel-head{display:grid;grid-template-columns:58px minmax(0,1fr);gap:12px;align-items:center}body[data-page="home"].home-pattern-page .home-hero-panel .hero-avatar{width:58px;height:58px;border:1px solid var(--professional-border);outline:0;box-shadow:none}body[data-page="home"].home-pattern-page .home-hero-panel-kicker,body[data-page="home"].home-pattern-page .home-hero-featured-title,body[data-page="tools"] .tools-category-head .section-title{margin:0;color:var(--brand-slate);font-family:var(--font-sans);font-size:.72rem;font-weight:760;letter-spacing:.08em;line-height:1.2;text-transform:uppercase}body[data-page="home"].home-pattern-page .home-hero-panel h2{margin:3px 0 0;color:var(--brand-midnight);font-size:1.02rem;line-height:1.35}body[data-page="home"].home-pattern-page .home-hero-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin:0;overflow:hidden;border:1px solid var(--professional-border);border-radius:8px;background:var(--professional-bg-soft)}body[data-page="home"].home-pattern-page .home-hero-metric{min-width:0;padding:12px}body[data-page="home"].home-pattern-page .home-hero-metric:nth-child(odd){border-right:1px solid var(--professional-border)}body[data-page="home"].home-pattern-page .home-hero-metric:nth-child(n + 3){border-top:1px solid var(--professional-border)}body[data-page="home"].home-pattern-page .home-hero-metric dt{margin:0 0 4px;color:var(--brand-slate);font-size:.74rem;line-height:1.2}body[data-page="home"].home-pattern-page .home-hero-metric dd{margin:0;color:var(--brand-deep-blue);font-size:1rem;font-weight:760;line-height:1.25;overflow-wrap:anywhere}body[data-page="home"].home-pattern-page .home-hero-featured{display:grid;gap:8px}body[data-page="home"].home-pattern-page .home-hero-featured a{display:grid;gap:3px;padding:10px 0;border-top:1px solid var(--professional-border);color:inherit;text-decoration:none}body[data-page="home"].home-pattern-page .home-hero-featured a span{color:var(--brand-midnight);font-size:.94rem;font-weight:720;line-height:1.3}body[data-page="home"].home-pattern-page .home-hero-featured a small{color:var(--brand-slate);font-size:.82rem;line-height:1.35}body[data-page="home"].home-pattern-page .chevron-hint{display:none}body[data-page="home"].home-pattern-page main > section:is( #featured-projects,#tools-preview,#games-preview,#contact-preview ){display:block;min-height:0;padding:3.2rem 0;background:#ffffff;background-image:none;border-block:0;border-top:1px solid var(--professional-border)}body[data-page="home"].home-pattern-page main > section:is( #tools-preview,#contact-preview ){background:var(--professional-bg-soft)}body[data-page="home"].home-pattern-page main > section:is( #featured-projects,#tools-preview,#games-preview ) > .wrapper{align-content:start;gap:18px}body[data-page="home"].home-pattern-page main > section:is( #featured-projects,#tools-preview,#games-preview ) :is(.project-examples-head,.destination-section-head){max-width:720px;margin:0;text-align:left}body[data-page="home"].home-pattern-page main > section:is( #featured-projects,#tools-preview,#games-preview ) :is(.project-examples-head h2,.destination-section-head h2){color:var(--brand-midnight);font-size:1.65rem;line-height:1.18}body[data-page="home"].home-pattern-page main > section:is( #featured-projects,#tools-preview,#games-preview ) :is(.project-examples-head h2,.destination-section-head h2)::before{display:none}body[data-page="home"].home-pattern-page main > section:is( #featured-projects,#tools-preview,#games-preview ) :is(.project-examples-subtitle,.destination-section-head p){color:var(--brand-slate);font-size:.98rem;line-height:1.58}body[data-page="home"].home-pattern-page main > section:is( #featured-projects,#tools-preview,#games-preview ) .home-showcase-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:0;overflow:hidden;border:1px solid var(--professional-border);border-radius:8px;background:#ffffff}body[data-page="home"].home-pattern-page main > section:is( #featured-projects,#tools-preview,#games-preview ) .home-showcase-card{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto auto;column-gap:18px;row-gap:5px;min-height:0;padding:18px 20px;border:0;border-bottom:1px solid var(--professional-border);border-left:0;border-radius:0;background:#ffffff;box-shadow:none}body[data-page="home"].home-pattern-page main > section:is( #featured-projects,#tools-preview,#games-preview ) .home-showcase-card:last-child{border-bottom:0}body[data-page="home"].home-pattern-page main > section:is( #featured-projects,#tools-preview,#games-preview ) .home-showcase-card::before{display:none}body[data-page="home"].home-pattern-page main > section:is( #featured-projects,#tools-preview,#games-preview ) .home-showcase-card:is(:hover,:focus-within){border-color:var(--professional-border);background:color-mix(in srgb,var(--brand-signal-blue) 4%,#ffffff 96%);box-shadow:none;transform:none}body[data-page="home"].home-pattern-page main > section:is( #featured-projects,#tools-preview,#games-preview ) .home-showcase-card h3{grid-column:1;font-size:1rem;line-height:1.32}body[data-page="home"].home-pattern-page main > section:is( #featured-projects,#tools-preview,#games-preview ) .home-showcase-summary{grid-column:1;font-size:.9rem;line-height:1.48}body[data-page="home"].home-pattern-page main > section:is( #featured-projects,#tools-preview,#games-preview ) .home-showcase-card .btn-secondary{grid-column:2;grid-row:1 / span 2;align-self:center;min-height:38px;padding:9px 13px;border-color:var(--professional-border-strong);color:var(--brand-deep-blue);font-size:.86rem;box-shadow:none;white-space:nowrap}body[data-page="home"].home-pattern-page main > section:is( #featured-projects,#tools-preview,#games-preview ) :is(.project-examples-actions,.home-showcase-actions){justify-content:flex-start;margin-top:0}body[data-page="home"].home-pattern-page #contact-preview #cta-link{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;max-width:none;padding:22px;border:1px solid var(--professional-border);border-radius:8px;background:#ffffff;box-shadow:none;text-align:left}body[data-page="home"].home-pattern-page #contact-preview .home-contact-copy{justify-items:start}body[data-page="home"].home-pattern-page #contact-preview .home-contact-actions{justify-content:flex-end}body[data-page="tools"].site-page{background:var(--professional-bg-soft)}body[data-page="tools"] .hero.hero--tools.tools-hero{padding:2.2rem 0 2rem;background:#ffffff;border-bottom:1px solid var(--professional-border)}body[data-page="tools"] .tools-hero .wrapper,body[data-page="tools"] .hero.hero--tools.tools-hero .wrapper{max-width:min(1120px,calc(100vw - 40px))}body[data-page="tools"] .tools-hero-copy{max-width:720px;gap:8px}body[data-page="tools"] .tools-hero h1{font-size:3rem;line-height:1.04}body[data-page="tools"] .tools-hero-lead{max-width:62ch;color:var(--brand-slate);font-size:1rem;line-height:1.58}body[data-page="tools"] .tools-account-dock{padding:12px 0;background:#ffffff;border-bottom:1px solid var(--professional-border)}body[data-page="tools"] .tools-account-bar{padding:8px 10px;border-radius:8px;box-shadow:none}body[data-page="tools"] .tools-section{padding:2.3rem 0 3.8rem;background:var(--professional-bg-soft)}body[data-page="tools"] .tools-category + .tools-category{margin-top:1.6rem;padding-top:1.25rem;border-top-color:var(--professional-border)}body[data-page="tools"] .tools-category-head{margin-bottom:10px}body[data-page="tools"] .tools-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:10px}body[data-page="tools"] .tool-card{border:1px solid var(--professional-border);border-radius:8px;background:#ffffff;box-shadow:none}body[data-page="tools"] .tool-card:hover,body[data-page="tools"] .tool-card:focus-within{background:#ffffff;border-color:color-mix(in srgb,var(--brand-signal-blue) 28%,transparent);box-shadow:0 10px 24px rgba(9,31,59,.07);transform:none}body[data-page="tools"] .tool-launch-card{grid-template-columns:46px minmax(0,1fr);align-items:center;align-content:center;justify-items:start;min-height:76px;gap:11px;padding:12px;text-align:left}body[data-page="tools"] .tool-icon,body[data-page="tools"] .tool-icon-image{width:46px;height:46px;border-radius:8px}body[data-page="tools"] .tool-icon-image{padding:4px;border:1px solid var(--professional-border);background:var(--professional-bg-soft)}body[data-page="tools"] .tool-card-main{gap:3px;width:100%}body[data-page="tools"] .tool-card-title{max-width:none;font-size:.94rem;line-height:1.25;-webkit-line-clamp:2}body[data-page="tools"] .tool-card-details{position:static;display:block;width:auto;padding:0;border:0;background:transparent;box-shadow:none;color:inherit;opacity:1;visibility:visible;pointer-events:none;transform:none}body[data-page="tools"] .tool-card-details::before{display:none}body[data-page="tools"] .tool-card-summary{display:-webkit-box;color:var(--brand-slate);font-size:.82rem;line-height:1.36;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2}@media (max-width:980px){body[data-page="home"].home-pattern-page .hero.hero--default{min-height:0;padding:3.2rem 0 2.6rem}body[data-page="home"].home-pattern-page .hero.hero--default > .wrapper{grid-template-columns:minmax(0,1fr);gap:28px;max-width:min(720px,calc(100vw - 32px))}body[data-page="home"].home-pattern-page .hero h1{font-size:3.35rem}}@media (max-width:768px){.nav{--brand-logo-size:34px;--nav-block-padding:7px;--nav-inline-padding:12px}body .nav-row{border-radius:8px}body[data-page="home"].home-pattern-page .hero.hero--default{padding:2.25rem 0 2rem}body[data-page="home"].home-pattern-page .hero.hero--default > .wrapper,body[data-page="tools"] .tools-hero .wrapper,body[data-page="tools"] .hero.hero--tools.tools-hero .wrapper{width:min(100%,calc(100vw - 28px));max-width:calc(100vw - 28px)}body[data-page="home"].home-pattern-page .home-hero-copy{justify-items:start;text-align:left}body[data-page="home"].home-pattern-page .hero h1{max-width:100%;font-size:2.55rem;line-height:1.04;text-align:left}body[data-page="home"].home-pattern-page .hero-tagline{font-size:1rem;line-height:1.58;text-align:left}body[data-page="home"].home-pattern-page .cta-group{justify-content:flex-start}body[data-page="home"].home-pattern-page .hero-cta{flex:1 1 0;justify-content:center;min-width:0}body[data-page="home"].home-pattern-page .home-hero-panel{padding:16px}body[data-page="home"].home-pattern-page main > section:is( #featured-projects,#tools-preview,#games-preview,#contact-preview ){padding:2.2rem 0}body[data-page="home"].home-pattern-page main > section:is( #featured-projects,#tools-preview,#games-preview ) .home-showcase-card{grid-template-columns:minmax(0,1fr);padding:16px}body[data-page="home"].home-pattern-page main > section:is( #featured-projects,#tools-preview,#games-preview ) .home-showcase-card .btn-secondary{grid-column:1;grid-row:auto;justify-self:start;margin-top:6px;white-space:normal}body[data-page="home"].home-pattern-page #contact-preview #cta-link{grid-template-columns:minmax(0,1fr);gap:16px;padding:18px}body[data-page="home"].home-pattern-page #contact-preview .home-contact-actions{justify-content:flex-start}body[data-page="tools"] .tools-hero h1{font-size:2.35rem}body[data-page="tools"] .tools-grid{grid-template-columns:minmax(0,1fr)}}@media (min-width:981px){body[data-page="home"].home-pattern-page .hero.hero--default{box-sizing:border-box;min-height:min(620px,calc(100svh - var(--nav-height,72px) - 96px));padding:2.4rem 0}body[data-page="home"].home-pattern-page .hero-cta{flex:0 0 auto;width:auto;min-width:132px}}body.site-page .cookie-settings__toggle.btn-icon-featured,body.site-page .speed-dial__toggle.btn-icon-featured,body.site-page .speed-dial .speed-dial__action--direct.btn-icon{width:44px;height:44px;background:var(--cta-blue);color:var(--cta-blue-text);border-color:var(--cta-blue);box-shadow:var(--cta-blue-shadow)}body.site-page .cookie-settings__label,body.site-page .speed-dial__label{background:#ffffff;color:var(--brand-midnight);border:1px solid var(--professional-border);box-shadow:var(--shadow-sm)}body.site-page .cookie-settings__toggle.btn-icon-featured:hover,body.site-page .cookie-settings__toggle.btn-icon-featured:focus-visible,body.site-page .speed-dial__toggle.btn-icon-featured:hover,body.site-page .speed-dial__toggle.btn-icon-featured:focus-visible,body.site-page .speed-dial .speed-dial__action--direct.btn-icon:hover,body.site-page .speed-dial .speed-dial__action--direct.btn-icon:focus-visible{background:var(--cta-blue-hover);color:var(--cta-blue-text);border-color:var(--cta-blue-hover);box-shadow:var(--cta-blue-shadow-hover)}@media (max-width:640px){body.site-page .cookie-settings{display:none}}body.site-page{--ml-ink:#172039;--ml-muted:#596579;--ml-soft:#f5f7fb;--ml-line:rgba(23,32,57,.13);--ml-line-strong:rgba(23,32,57,.2);--ml-blue:#2563eb;--ml-teal:#0f766e;--ml-amber:#b7791f;--ml-rose:#be123c;--ml-green:#15803d;--ml-shadow:0 14px 34px rgba(23,32,57,.08)}body[data-page="home"].home-pattern-page .personal-ml-hero,body[data-page="portfolio"] .portfolio-ml-hero,body[data-page="tools"] .hero.hero--tools.tools-hero,body[data-page="games"] .hero.hero--games.games-hero{position:relative;overflow:hidden;background:linear-gradient(180deg,rgba(255,255,255,.96),rgba(245,247,251,.98)),linear-gradient(90deg,rgba(37,99,235,.06) 1px,transparent 1px),linear-gradient(180deg,rgba(15,118,110,.06) 1px,transparent 1px);background-size:auto,28px 28px,28px 28px;border-bottom:1px solid var(--ml-line)}body[data-page="home"].home-pattern-page .personal-ml-hero{min-height:min(690px,calc(100svh - var(--nav-height,72px)));padding:4.5rem 0 3.5rem}body[data-page="home"].home-pattern-page .personal-ml-hero-grid,body[data-page="portfolio"] .portfolio-hero-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(340px,430px);align-items:center;gap:56px;max-width:min(1130px,calc(100vw - 40px));padding-inline:0;text-align:left}body[data-page="home"].home-pattern-page .personal-ml-copy,body[data-page="portfolio"] .portfolio-hero-copy{display:grid;justify-items:start;gap:17px}body[data-page="home"].home-pattern-page .hero-eyebrow,body[data-page="portfolio"] .hero-eyebrow,body[data-page="tools"] .hero-eyebrow,body[data-page="games"] .hero-eyebrow,.section-kicker,.portfolio-lab-kicker,.tools-directory-note-kicker,.games-system-kicker,.ml-artifact-kicker{margin:0;color:var(--ml-teal);font-family:var(--font-sans);font-size:.78rem;font-weight:780;letter-spacing:0;line-height:1.2;text-transform:uppercase}body[data-page="home"].home-pattern-page .personal-ml-hero h1,body[data-page="portfolio"] .portfolio-ml-hero h1,body[data-page="tools"] .tools-hero h1,body[data-page="games"] .games-hero h1{max-width:12ch;color:var(--ml-ink);font-size:4rem;line-height:1;font-weight:790}body[data-page="home"].home-pattern-page .personal-ml-hero .hero-tagline,body[data-page="portfolio"] .portfolio-ml-hero .hero-tagline,body[data-page="tools"] .tools-hero-lead,body[data-page="games"] .games-hero-lead{width:min(100%,44rem);color:var(--ml-muted);font-size:1.08rem;line-height:1.62}body[data-page="home"].home-pattern-page .personal-ml-focus{display:flex;flex-wrap:wrap;gap:8px;margin:4px 0 0;padding:0;list-style:none}body[data-page="home"].home-pattern-page .personal-ml-focus li,.project-card-tags span,.portfolio-lab-grid span,.game-pill{display:inline-flex;align-items:center;min-height:28px;padding:5px 9px;border:1px solid var(--ml-line);border-radius:8px;background:#ffffff;color:var(--ml-ink);font-size:.8rem;font-weight:720;line-height:1.2}body[data-page="home"].home-pattern-page .personal-ml-board{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:10px;border:1px solid var(--ml-line);border-radius:8px;background:rgba(255,255,255,.88);box-shadow:var(--ml-shadow)}body[data-page="home"].home-pattern-page .ml-profile-card,body[data-page="home"].home-pattern-page .ml-artifact,body[data-page="portfolio"] .portfolio-lab-panel,body[data-page="tools"] .tools-directory-note,body[data-page="games"] .games-system-panel{border:1px solid var(--ml-line);border-radius:8px;background:#ffffff;box-shadow:0 10px 22px rgba(23,32,57,.06)}body[data-page="home"].home-pattern-page .ml-profile-card{grid-column:1 / -1;display:grid;grid-template-columns:58px minmax(0,1fr);align-items:center;gap:12px;padding:12px}body[data-page="home"].home-pattern-page .ml-profile-card .hero-avatar{width:58px;height:58px;border:1px solid var(--ml-line);border-radius:8px;box-shadow:none}body[data-page="home"].home-pattern-page .ml-profile-card span{display:block;color:var(--ml-ink);font-size:1rem;font-weight:780;line-height:1.25}body[data-page="home"].home-pattern-page .ml-profile-card small{display:block;margin-top:3px;color:var(--ml-muted);font-size:.82rem;line-height:1.35}body[data-page="home"].home-pattern-page .ml-artifact{display:grid;align-content:space-between;min-height:142px;padding:12px;overflow:hidden}body[data-page="home"].home-pattern-page .ml-network{position:relative;height:88px}body[data-page="home"].home-pattern-page .ml-network span,body[data-page="home"].home-pattern-page .ml-network i{position:absolute;display:block}body[data-page="home"].home-pattern-page .ml-network span{width:14px;height:14px;border:2px solid var(--ml-blue);border-radius:50%;background:#ffffff;box-shadow:0 0 0 4px rgba(37,99,235,.08)}body[data-page="home"].home-pattern-page .ml-network span:nth-child(1){left:4%;top:14%}body[data-page="home"].home-pattern-page .ml-network span:nth-child(2){left:4%;top:62%;border-color:var(--ml-teal)}body[data-page="home"].home-pattern-page .ml-network span:nth-child(3){left:44%;top:6%;border-color:var(--ml-amber)}body[data-page="home"].home-pattern-page .ml-network span:nth-child(4){left:44%;top:50%;border-color:var(--ml-rose)}body[data-page="home"].home-pattern-page .ml-network span:nth-child(5){right:8%;top:22%;border-color:var(--ml-green)}body[data-page="home"].home-pattern-page .ml-network span:nth-child(6){right:8%;top:68%}body[data-page="home"].home-pattern-page .ml-network i{height:1px;background:var(--ml-line-strong);transform-origin:left center}body[data-page="home"].home-pattern-page .ml-network i:nth-of-type(1){left:16%;top:27%;width:34%;transform:rotate(-13deg)}body[data-page="home"].home-pattern-page .ml-network i:nth-of-type(2){left:16%;top:72%;width:34%;transform:rotate(-20deg)}body[data-page="home"].home-pattern-page .ml-network i:nth-of-type(3){left:56%;top:24%;width:30%;transform:rotate(12deg)}body[data-page="home"].home-pattern-page .ml-network i:nth-of-type(4){left:56%;top:61%;width:30%;transform:rotate(9deg)}body[data-page="home"].home-pattern-page .ml-bars{display:grid;gap:9px;margin-top:16px}body[data-page="home"].home-pattern-page .ml-bars span{width:var(--bar);height:9px;border-radius:999px;background:linear-gradient(90deg,var(--ml-teal),var(--ml-blue))}body[data-page="home"].home-pattern-page .ml-artifact-code code{display:block;margin-top:16px;padding:10px;border-radius:8px;background:#101827;color:#e8f3ff;font-family:var(--font-mono,ui-monospace,SFMono-Regular,Consolas,monospace);font-size:.82rem;line-height:1.55}body[data-page="home"].home-pattern-page .ml-flow{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:center;gap:6px;margin-top:20px}body[data-page="home"].home-pattern-page .ml-flow span{min-width:0;padding:8px 6px;border-radius:8px;background:var(--ml-soft);color:var(--ml-ink);font-size:.76rem;font-weight:760;line-height:1.1;text-align:center}body[data-page="home"].home-pattern-page .chevron-hint{display:none}body[data-page="home"].home-pattern-page .personal-lab-section{min-height:0;padding:3.5rem 0;border-top:1px solid var(--ml-line);background:#ffffff}body[data-page="home"].home-pattern-page #tools-preview,body[data-page="home"].home-pattern-page #contact-preview{background:var(--ml-soft)}body[data-page="home"].home-pattern-page .personal-lab-section > .wrapper{display:grid;grid-template-columns:280px minmax(0,1fr);align-items:start;gap:36px}body[data-page="home"].home-pattern-page .personal-section-head{display:grid;gap:9px;max-width:28rem;margin:0;text-align:left}body[data-page="home"].home-pattern-page .personal-section-head h2,body[data-page="portfolio"] .portfolio-section-head h2{margin:0;color:var(--ml-ink);font-size:1.7rem;line-height:1.17}body[data-page="home"].home-pattern-page .personal-section-head h2::before{display:none}body[data-page="home"].home-pattern-page .personal-section-head p:not(.section-kicker),body[data-page="portfolio"] .portfolio-lab-panel p,body[data-page="tools"] .tools-directory-note p,body[data-page="games"] .games-system-panel p{margin:0;color:var(--ml-muted);font-size:.96rem;line-height:1.58}body[data-page="home"].home-pattern-page .home-showcase-grid{display:grid;gap:10px;border:0;background:transparent}body[data-page="home"].home-pattern-page .home-showcase-card{display:grid;grid-template-columns:64px minmax(0,1fr) auto;align-items:center;gap:16px;min-height:104px;padding:15px;border:1px solid var(--ml-line);border-radius:8px;background:#ffffff;box-shadow:none}body[data-page="home"].home-pattern-page .home-card-signal{display:inline-grid;place-items:center;width:54px;height:54px;border-radius:8px;background:var(--ml-ink);color:#ffffff;font-size:.78rem;font-weight:780;line-height:1}body[data-page="home"].home-pattern-page .home-showcase-body{display:grid;gap:5px;min-width:0}body[data-page="home"].home-pattern-page .home-showcase-card h3,body[data-page="home"].home-pattern-page .home-showcase-summary{grid-column:auto;margin:0}body[data-page="home"].home-pattern-page .home-showcase-card h3{color:var(--ml-ink);font-size:1rem;line-height:1.3}body[data-page="home"].home-pattern-page .home-showcase-summary{color:var(--ml-muted);font-size:.9rem;line-height:1.45}body[data-page="home"].home-pattern-page .home-showcase-card .btn-secondary{grid-column:auto;grid-row:auto;min-height:38px;padding:9px 12px;border-color:var(--ml-line-strong);color:var(--ml-ink);font-size:.84rem;white-space:nowrap}body[data-page="home"].home-pattern-page .home-showcase-card:is(:hover,:focus-within){border-color:color-mix(in srgb,var(--ml-blue) 34%,transparent);background:color-mix(in srgb,var(--ml-blue) 4%,#ffffff 96%);transform:none}body[data-page="home"].home-pattern-page :is(.project-examples-actions,.home-showcase-actions){grid-column:2;justify-content:flex-start;margin-top:4px}body[data-page="home"].home-pattern-page #contact-preview #cta-link{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:20px;max-width:none;padding:22px;border:1px solid var(--ml-line);border-radius:8px;background:#ffffff;text-align:left}body[data-page="home"].home-pattern-page #contact-preview .home-contact-copy{display:grid;justify-items:start;gap:7px}body[data-page="portfolio"] .portfolio-ml-hero{min-height:0;padding:4rem 0 3.25rem}body[data-page="portfolio"] .portfolio-lab-panel{display:grid;gap:14px;padding:18px}body[data-page="portfolio"] .portfolio-lab-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}body[data-page="portfolio"] .portfolio-section-head,body[data-page="portfolio"] .portfolio-library-head{display:grid;gap:7px;max-width:720px;margin-bottom:16px;text-align:left}body[data-page="portfolio"] #portfolio-carousel-section,body[data-page="portfolio"] .portfolio-library-section{padding:3rem 0;background:#ffffff;border-top:1px solid var(--ml-line)}body[data-page="portfolio"] .portfolio-library-section{background:var(--ml-soft)}body[data-page="portfolio"] #projects.portfolio-library-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:10px;padding-top:0}body[data-page="portfolio"] #projects .project-card{display:grid;grid-template-columns:170px minmax(0,1fr);grid-template-rows:minmax(140px,auto);min-height:146px;border:1px solid var(--ml-line);border-radius:8px;background:#ffffff;box-shadow:none;overflow:hidden}body[data-page="portfolio"] #projects .project-card > picture,body[data-page="portfolio"] #projects .project-card > img,body[data-page="portfolio"] #projects .project-card > video{grid-column:1;grid-row:1;width:100%;height:100%;min-height:146px;object-fit:cover}body[data-page="portfolio"] #projects .project-card .project-text,body[data-page="portfolio"] #portfolio-carousel .project-card .project-text{position:relative;inset:auto;display:grid;align-content:center;gap:7px;min-height:0;padding:16px;background:#ffffff;color:var(--ml-ink);text-shadow:none}body[data-page="portfolio"] #projects .project-card .project-text{grid-column:2;grid-row:1}body[data-page="portfolio"] .project-card .overlay{display:none}body[data-page="portfolio"] .project-card .project-card-kicker{color:var(--ml-teal);font-size:.75rem;font-weight:780;line-height:1.2}body[data-page="portfolio"] .project-card .project-title{color:var(--ml-ink);font-size:1.04rem;line-height:1.26;text-shadow:none}body[data-page="portfolio"] .project-card .project-subtitle{color:var(--ml-muted);font-size:.9rem;line-height:1.38;text-shadow:none}body[data-page="portfolio"] .project-card-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:2px}body[data-page="portfolio"] #portfolio-carousel .carousel-card{--portfolio-card-text-min-height:148px;flex-basis:min(82vw,520px);max-width:min(82vw,520px);border:1px solid var(--ml-line);border-radius:8px;background:#ffffff;box-shadow:none}body[data-page="portfolio"] #portfolio-carousel .carousel-card.active{border-color:color-mix(in srgb,var(--ml-blue) 30%,transparent);box-shadow:var(--ml-shadow)}body[data-page="tools"] .hero.hero--tools.tools-hero,body[data-page="games"] .hero.hero--games.games-hero{padding:3rem 0 2.6rem}body[data-page="tools"] .tools-hero .wrapper,body[data-page="games"] .games-hero .wrapper{max-width:min(1120px,calc(100vw - 40px))}body[data-page="tools"] .tools-hero-copy,body[data-page="games"] .games-hero-copy{max-width:760px;gap:9px}body[data-page="tools"] .tools-section,body[data-page="games"] .games-section{padding:2.6rem 0 4rem;background:var(--ml-soft)}body[data-page="tools"] .tools-directory-layout{display:grid;grid-template-columns:230px minmax(0,1fr) 250px;align-items:start;gap:22px}body[data-page="tools"] .tools-directory-rail,body[data-page="tools"] .tools-directory-note,body[data-page="games"] .games-system-panel{position:sticky;top:calc(var(--nav-height,72px) + 18px)}body[data-page="tools"] .tools-directory-rail{display:grid;gap:8px}body[data-page="tools"] .tools-directory-stat{margin:0 0 4px;color:var(--ml-muted);font-size:.82rem;font-weight:760}body[data-page="tools"] .tools-rail-link{display:grid;grid-template-columns:34px minmax(0,1fr) auto;gap:10px;align-items:center;min-height:58px;padding:10px;border:1px solid var(--ml-line);border-radius:8px;background:#ffffff;color:inherit;text-decoration:none}body[data-page="tools"] .tools-rail-link:hover,body[data-page="tools"] .tools-rail-link:focus-visible{border-color:color-mix(in srgb,var(--ml-teal) 34%,transparent);background:color-mix(in srgb,var(--ml-teal) 5%,#ffffff 95%)}body[data-page="tools"] .tools-rail-index,body[data-page="games"] .game-card-index{display:inline-grid;place-items:center;width:32px;height:32px;border-radius:8px;background:var(--ml-ink);color:#ffffff;font-size:.78rem;font-weight:780}body[data-page="tools"] .tools-rail-copy{display:grid;gap:2px;min-width:0}body[data-page="tools"] .tools-rail-title{color:var(--ml-ink);font-size:.88rem;font-weight:760;line-height:1.22}body[data-page="tools"] .tools-rail-description,body[data-page="tools"] .tools-rail-count{color:var(--ml-muted);font-size:.76rem;line-height:1.25}body[data-page="tools"] .tools-directory-main{min-width:0}body[data-page="tools"] .tools-directory-controls{margin-bottom:18px;padding:0;border:0;background:transparent}body[data-page="tools"] .tools-directory-head{display:grid;gap:6px;max-width:680px}body[data-page="tools"] .tools-directory-head h2{margin:0;color:var(--ml-ink);font-size:1.45rem;line-height:1.2}body[data-page="tools"] .tools-directory-kicker{color:var(--ml-teal);font-size:.78rem;font-weight:780;text-transform:uppercase}body[data-page="tools"] .tools-directory-note{display:grid;gap:9px;padding:16px}body[data-page="tools"] .tools-directory-note h2,body[data-page="games"] .games-system-panel h2{margin:0;color:var(--ml-ink);font-size:1.05rem;line-height:1.3}body[data-page="tools"] .tools-category + .tools-category{margin-top:1.45rem;padding-top:1.25rem;border-top:1px solid var(--ml-line)}body[data-page="tools"] .tools-category-head .section-title{color:var(--ml-ink);font-size:1rem;text-transform:none}body[data-page="tools"] .tools-grid{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:10px}body[data-page="tools"] .tool-card,body[data-page="games"] .game-card{border:1px solid var(--ml-line);border-radius:8px;background:#ffffff;box-shadow:none}body[data-page="tools"] .tool-launch-card{grid-template-columns:46px minmax(0,1fr);min-height:92px;padding:12px}body[data-page="tools"] .tool-card-details,body[data-page="games"] .game-card-details{position:static;display:block;width:auto;padding:0;border:0;background:transparent;box-shadow:none;color:inherit;opacity:1;visibility:visible;pointer-events:none;transform:none}body[data-page="tools"] .tool-card-details::before,body[data-page="games"] .game-card-details::before{display:none}body[data-page="tools"] .tool-card-summary,body[data-page="games"] .game-card-summary{color:var(--ml-muted);font-size:.82rem;line-height:1.4}body[data-page="games"] .games-directory-layout{display:grid;grid-template-columns:280px minmax(0,1fr);align-items:start;gap:22px}body[data-page="games"] .games-system-panel{display:grid;gap:12px;padding:16px}body[data-page="games"] .games-system-panel dl{display:grid;gap:8px;margin:0}body[data-page="games"] .games-system-panel dl div{display:grid;gap:2px;padding-top:8px;border-top:1px solid var(--ml-line)}body[data-page="games"] .games-system-panel dt{color:var(--ml-ink);font-size:.82rem;font-weight:780}body[data-page="games"] .games-system-panel dd{margin:0;color:var(--ml-muted);font-size:.8rem}body[data-page="games"] .games-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:10px}body[data-page="games"] .game-launch-card{display:grid;grid-template-columns:42px 56px minmax(0,1fr);align-items:center;justify-items:start;gap:14px;min-height:118px;padding:15px;text-align:left}body[data-page="games"] .game-icon{width:56px;height:56px;border-radius:8px;background:var(--ml-soft)}body[data-page="games"] .game-card-main{grid-column:3;justify-items:start;text-align:left}body[data-page="games"] .game-card-details{grid-column:3;text-align:left}body[data-page="games"] .game-card-title{color:var(--ml-ink);font-size:1rem;line-height:1.28;text-align:left}body[data-page="games"] .game-card-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}@media (max-width:1080px){body[data-page="tools"] .tools-directory-layout,body[data-page="games"] .games-directory-layout{grid-template-columns:minmax(0,1fr)}body[data-page="tools"] .tools-directory-rail,body[data-page="tools"] .tools-directory-note,body[data-page="games"] .games-system-panel{position:static}body[data-page="tools"] .tools-directory-rail{grid-template-columns:repeat(2,minmax(0,1fr))}body[data-page="tools"] .tools-directory-stat{grid-column:1 / -1}}@media (max-width:880px){body[data-page="home"].home-pattern-page .personal-ml-hero-grid,body[data-page="portfolio"] .portfolio-hero-grid{grid-template-columns:minmax(0,1fr);gap:28px;max-width:min(720px,calc(100vw - 32px))}body[data-page="home"].home-pattern-page .personal-ml-hero h1,body[data-page="portfolio"] .portfolio-ml-hero h1,body[data-page="tools"] .tools-hero h1,body[data-page="games"] .games-hero h1{font-size:3rem}body[data-page="home"].home-pattern-page .personal-lab-section > .wrapper{grid-template-columns:minmax(0,1fr);gap:20px}body[data-page="home"].home-pattern-page :is(.project-examples-actions,.home-showcase-actions){grid-column:1}}@media (max-width:680px){body[data-page="home"].home-pattern-page .personal-ml-hero,body[data-page="portfolio"] .portfolio-ml-hero,body[data-page="tools"] .hero.hero--tools.tools-hero,body[data-page="games"] .hero.hero--games.games-hero{padding:2.5rem 0 2rem}body[data-page="home"].home-pattern-page .personal-ml-hero h1,body[data-page="portfolio"] .portfolio-ml-hero h1,body[data-page="tools"] .tools-hero h1,body[data-page="games"] .games-hero h1{font-size:2.5rem}body[data-page="home"].home-pattern-page .personal-ml-hero-grid,body[data-page="home"].home-pattern-page .personal-ml-copy,body[data-page="home"].home-pattern-page .personal-ml-board,body[data-page="home"].home-pattern-page .personal-ml-focus,body[data-page="home"].home-pattern-page .personal-ml-hero .hero-tagline,body[data-page="portfolio"] .portfolio-hero-grid{box-sizing:border-box;width:100%;max-width:100%;min-width:0}body[data-page="home"].home-pattern-page .personal-ml-hero .hero-eyebrow,body[data-page="home"].home-pattern-page .personal-ml-hero .hero-tagline,body[data-page="portfolio"] .portfolio-ml-hero .hero-tagline{overflow-wrap:anywhere;white-space:normal}body[data-page="home"].home-pattern-page .personal-ml-hero .cta-group{display:grid;grid-template-columns:minmax(0,1fr);width:100%}body[data-page="home"].home-pattern-page .personal-ml-hero .hero-cta{box-sizing:border-box;width:100%;min-width:0}body[data-page="home"].home-pattern-page .personal-ml-board,body[data-page="portfolio"] .portfolio-lab-grid,body[data-page="tools"] .tools-directory-rail{grid-template-columns:minmax(0,1fr)}body[data-page="home"].home-pattern-page .home-showcase-card,body[data-page="games"] .game-launch-card{grid-template-columns:minmax(0,1fr);justify-items:start}body[data-page="home"].home-pattern-page .home-card-signal,body[data-page="games"] .game-card-index{width:auto;min-width:54px;height:32px;padding-inline:10px}body[data-page="home"].home-pattern-page .home-showcase-card .btn-secondary,body[data-page="games"] .game-card-main,body[data-page="games"] .game-card-details{grid-column:1}body[data-page="portfolio"] #projects .project-card{grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto}body[data-page="portfolio"] #projects .project-card > picture,body[data-page="portfolio"] #projects .project-card > img,body[data-page="portfolio"] #projects .project-card > video,body[data-page="portfolio"] #projects .project-card .project-text{grid-column:1;grid-row:auto}body[data-page="home"].home-pattern-page #contact-preview #cta-link{grid-template-columns:minmax(0,1fr)}}html.site-realm-professional-home body[data-page="home"].home-pattern-page{--hero-art-layer:url("../img/brand/07-website-hero-light-version.png");--hero-mobile-art-layer:url("../img/brand/27-hero-mobile-light.png")}html.site-realm-professional-home body[data-page="home"].home-pattern-page .hero.hero--default{box-sizing:border-box;min-height:calc(100svh - var(--nav-height,72px));margin:0;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);border-bottom:1px solid color-mix(in srgb,var(--brand-midnight) 10%,transparent)}html.site-realm-professional-home body[data-page="home"].home-pattern-page .hero.hero--default > .wrapper{display:flex;flex-direction:column;align-items:flex-start;gap:clamp(.85rem,1.8vh,1.3rem);max-width:min(1120px,calc(100vw - 40px));padding-inline:0;padding-block:0;text-align:left}html.site-realm-professional-home body[data-page="home"].home-pattern-page .hero-identity{display:inline-flex;align-items:center;gap:clamp(.75rem,1.6vw,1rem);max-width:100%;margin-top:clamp(-.3rem,-1vh,-.1rem)}html.site-realm-professional-home body[data-page="home"].home-pattern-page .hero-identity .hero-eyebrow{margin:0}html.site-realm-professional-home body[data-page="home"].home-pattern-page .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}html.site-realm-professional-home body[data-page="home"].home-pattern-page .hero h1{max-width:12ch;color:var(--brand-midnight);font-size:clamp(2.75rem,5vw,4.75rem);line-height:.96;font-weight:800}html.site-realm-professional-home body[data-page="home"].home-pattern-page .hero-tagline{width:min(100%,52ch);color:var(--brand-graphite);font-size:clamp(1.04rem,1.5vw,1.2rem);line-height:1.58}html.site-realm-professional-home body[data-page="home"].home-pattern-page .hero-status{padding:6px 18px;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;font-size:.78rem}html.site-realm-professional-home body[data-page="home"].home-pattern-page .cta-group{justify-content:flex-start;margin-top:.1rem}html.site-realm-professional-home body[data-page="home"].home-pattern-page .hero-cta{min-height:44px;padding:12px 18px;font-size:.94rem}html.site-realm-professional-home body[data-page="home"].home-pattern-page .chevron-hint{display:inline-flex}html.site-realm-professional-home body[data-page="home"].home-pattern-page main > section:not(.hero){background-color:#ffffff}html.site-realm-professional-home body[data-page="home"].home-pattern-page :is( #professional-projects,#professional-results,#professional-experience,#professional-skills ) > .wrapper{max-width:min(1120px,calc(100vw - 40px))}html.site-realm-professional-home body[data-page="home"].home-pattern-page :is(.project-examples-head,.home-proof-head,.destination-section-head){text-align:left;margin-inline:0}html.site-realm-professional-home body[data-page="home"].home-pattern-page :is(.project-examples-head,.home-proof-head,.destination-section-head) p{margin-inline:0}html.site-realm-professional-home body[data-page="home"].home-pattern-page .home-contact-panel{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:clamp(1rem,3vw,2rem);padding:clamp(1.25rem,3vw,2rem);border:1px solid color-mix(in srgb,var(--brand-midnight) 12%,transparent);border-radius:8px;background:linear-gradient(135deg,rgba(255,255,255,.94),rgba(247,249,252,.92)),var(--brand-canvas);box-shadow:var(--shadow-sm)}html.site-realm-professional-home body[data-page="home"].home-pattern-page .home-contact-copy{display:grid;gap:.65rem}html.site-realm-professional-home body[data-page="home"].home-pattern-page .home-contact-copy :is(h2,p){margin:0}html.site-realm-professional-home body[data-page="home"].home-pattern-page .home-contact-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.75rem}@media (max-width:768px){html.site-realm-professional-home body[data-page="home"].home-pattern-page .hero.hero--default{min-height:0;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)}html.site-realm-professional-home body[data-page="home"].home-pattern-page .hero.hero--default > .wrapper{align-items:center;width:min(100%,calc(100vw - 28px));max-width:calc(100vw - 28px);gap:clamp(.85rem,2.4vh,1.1rem);text-align:center}html.site-realm-professional-home body[data-page="home"].home-pattern-page .hero-identity{order:2;flex-direction:column;gap:.6rem;margin-inline:auto;text-align:center}html.site-realm-professional-home body[data-page="home"].home-pattern-page .hero-avatar{width:clamp(84px,24vw,112px);height:clamp(84px,24vw,112px)}html.site-realm-professional-home body[data-page="home"].home-pattern-page .hero-eyebrow{font-size:.82rem;text-align:center}html.site-realm-professional-home body[data-page="home"].home-pattern-page .hero h1{order:1;width:min(100%,340px);max-width:calc(100vw - 28px);margin-inline:auto;font-size:clamp(1.95rem,8vw,2.4rem);line-height:1.04;text-align:center;text-wrap:balance}html.site-realm-professional-home body[data-page="home"].home-pattern-page .hero-tagline{order:3;width:min(100%,32ch);max-width:calc(100vw - 28px);margin-inline:auto;font-size:.98rem;line-height:1.55;text-align:center}html.site-realm-professional-home body[data-page="home"].home-pattern-page .hero-status{order:4;justify-content:center;width:min(100%,330px);max-width:calc(100vw - 28px);margin-inline:auto;padding:8px 12px;font-size:.72rem;line-height:1.35;text-align:center;white-space:normal}html.site-realm-professional-home body[data-page="home"].home-pattern-page .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 - 28px);margin-inline:auto;gap:6px}html.site-realm-professional-home body[data-page="home"].home-pattern-page .cta-group .hero-cta{min-height:44px;padding:10px 8px;font-size:.86rem}html.site-realm-professional-home body[data-page="home"].home-pattern-page .chevron-hint{display:none}html.site-realm-professional-home body[data-page="home"].home-pattern-page :is(.project-examples-head,.home-proof-head,.destination-section-head){text-align:center;margin-inline:auto}html.site-realm-professional-home body[data-page="home"].home-pattern-page :is(.project-examples-head,.home-proof-head,.destination-section-head) p{margin-inline:auto}html.site-realm-professional-home body[data-page="home"].home-pattern-page .home-contact-panel{grid-template-columns:minmax(0,1fr);text-align:center}html.site-realm-professional-home body[data-page="home"].home-pattern-page .home-contact-actions{display:grid;grid-template-columns:minmax(0,1fr);justify-content:stretch}}}@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}}}