.not-found-wrapper{display:flex;align-items:center;justify-content:center;min-height:100vh;background-color:hsl(var(--background));padding:20px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif}.not-found-card{background:hsl(var(--card));max-width:420px;width:100%;padding:40px 32px;border-radius:16px;box-shadow:0 10px 25px -5px #0000001a,0 8px 10px -6px #0000001a;text-align:center}.icon-container{width:56px;height:56px;margin:0 auto 20px;color:hsl(var(--destructive));background-color:hsl(var(--muted));border-radius:50%;display:flex;align-items:center;justify-content:center;padding:12px}.icon-container svg{width:100%;height:100%}.not-found-card h1{margin:0 0 12px;font-size:1.5rem;font-weight:600;color:var(--ink-strong)}.not-found-card p{margin:0 0 32px;font-size:.95rem;line-height:1.6;color:var(--ink-muted)}.not-found-card strong{color:var(--ink);word-break:break-all}.actions{display:flex;gap:12px;justify-content:center}.btn{display:inline-flex;align-items:center;justify-content:center;padding:10px 20px;font-size:.95rem;font-weight:500;border-radius:8px;cursor:pointer;transition:background-color .2s ease,transform .1s ease;text-decoration:none;border:none;flex:1}.btn:active{transform:scale(.98)}.btn-primary{background-color:var(--button-primary);color:var(--button-primary-ink)}.btn-primary:hover{background-color:var(--button-primary-hover)}.btn-secondary{background-color:hsl(var(--secondary));color:var(--ink)}.btn-secondary:hover{background-color:hsl(var(--accent))}html:has(.products-page){scrollbar-color:#2563eb #f4f7fb}html:has(.products-page)::-webkit-scrollbar-track{background:#f4f7fb}html:has(.products-page)::-webkit-scrollbar-thumb{border-color:#f4f7fb;background:#2563eb}.products-page{--catalogue-bg: #f4f7fb;--catalogue-surface: #ffffff;--catalogue-surface-alt: #eff6ff;--catalogue-text: #0f172a;--catalogue-muted: #526079;--catalogue-border: #d7e0ec;--catalogue-primary: #2563eb;--catalogue-primary-hover: #1d4ed8;--catalogue-primary-pressed: #1e40af;--catalogue-primary-ink: #ffffff;--catalogue-accent-ink: #1e40af;--catalogue-note-bg: #fff4c2;--catalogue-note-border: #d97706;--catalogue-note-text: #78350f;min-height:100dvh;display:block;overflow:visible;color:var(--catalogue-text);background-color:var(--catalogue-bg);background-image:radial-gradient(circle at 88% 1%,rgba(37,99,235,.12),transparent 24rem),linear-gradient(90deg,rgba(37,99,235,.03) 1px,transparent 1px);background-size:auto,32px 32px;font:400 1rem/1.5 Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color-scheme:light}.products-page *,.products-page *:before,.products-page *:after{box-sizing:border-box}.products-page button,.products-page input{font:inherit}.products-page button,.products-page a{cursor:pointer;touch-action:manipulation}.products-page :focus-visible{outline:3px solid var(--catalogue-accent-ink);outline-offset:3px}.catalogue-shell{width:min(1440px,calc(100% - 32px));margin-inline:auto}.catalogue-visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.catalogue-skip-link{position:fixed;z-index:100;top:10px;left:10px;padding:10px 14px;border-radius:8px;color:var(--catalogue-primary-ink);background:var(--catalogue-primary);box-shadow:0 10px 28px #1e40af38;text-decoration:none;transform:translateY(-160%)}.catalogue-skip-link:focus{transform:translateY(0)}.catalogue-header{min-height:0;padding:32px 20px 22px;border-top:5px solid var(--catalogue-primary)}.catalogue-header-grid{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:28px;align-items:center}.catalogue-brand{min-width:0;display:flex;align-items:center;gap:22px}.catalogue-logo{width:clamp(170px,16vw,222px);height:auto;flex:0 0 auto;mix-blend-mode:multiply}.catalogue-brand h1{margin:0;color:var(--catalogue-accent-ink);font-size:clamp(.95rem,1.4vw,1.12rem);font-weight:800;letter-spacing:.12em;line-height:1.25;text-transform:uppercase}.catalogue-total{min-width:175px;display:flex;align-items:center;gap:12px;margin-right:4px;padding:14px 18px;border:1px solid rgba(37,99,235,.22);border-radius:14px;color:var(--catalogue-accent-ink);background:var(--catalogue-surface);box-shadow:0 10px 30px #0f172a14}.catalogue-total strong{font-size:1.7rem;font-variant-numeric:tabular-nums;line-height:1}.catalogue-total span{max-width:74px;color:var(--catalogue-muted);font-size:.78rem;font-weight:800;line-height:1.2;text-transform:uppercase}.catalogue-main{display:block;padding-bottom:28px}.catalogue-workspace{overflow:visible;border:1px solid var(--catalogue-border);border-radius:18px;background:var(--catalogue-surface);box-shadow:0 24px 70px #0f172a1a}.catalogue-controls{border-bottom:1px solid var(--catalogue-border)}.catalogue-search-row{display:grid;grid-template-columns:minmax(300px,1fr) auto;gap:14px;align-items:end;padding:18px;border-top:5px solid var(--catalogue-primary);border-radius:17px 17px 0 0;background:linear-gradient(110deg,rgba(37,99,235,.1),transparent 55%),var(--catalogue-surface)}.catalogue-field{min-width:0}.catalogue-field label{display:block;margin-bottom:6px;color:var(--catalogue-muted);font-size:.8rem;font-weight:750}.catalogue-input-shell{position:relative}.catalogue-search-controls{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:stretch}.catalogue-field input{width:100%;min-height:48px;border:2px solid var(--catalogue-border);border-radius:10px;color:var(--catalogue-text);background-color:var(--catalogue-surface);transition:border-color .18s ease,box-shadow .18s ease}.catalogue-field input:hover{border-color:#7da2dc}.catalogue-field input:focus,.catalogue-select-trigger:focus{border-color:var(--catalogue-accent-ink);box-shadow:0 0 0 4px #2563eb29;outline:0}.catalogue-field input[type=search]{min-height:54px;padding:10px 14px;border-color:#9db4d5;font-size:1rem;box-shadow:0 6px 20px #0f172a0f}.catalogue-field input::-moz-placeholder{color:var(--catalogue-muted);opacity:.86}.catalogue-field input::placeholder{color:var(--catalogue-muted);opacity:.86}.catalogue-select{position:relative}.catalogue-select-trigger{width:100%;min-height:48px;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;border:2px solid var(--catalogue-border);border-radius:10px;color:var(--catalogue-text);background:var(--catalogue-surface);text-align:left;transition:border-color .18s ease,box-shadow .18s ease}.catalogue-select-trigger:hover{border-color:#7da2dc}.catalogue-select-trigger>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.catalogue-select-trigger svg{width:18px;height:18px;flex:0 0 auto;color:var(--catalogue-accent-ink);transition:transform .18s ease}.catalogue-select-trigger svg.is-open{transform:rotate(180deg)}.catalogue-select-menu{position:absolute;z-index:20;top:calc(100% + 8px);right:0;left:0;max-height:min(320px,45vh);overflow-y:auto;padding:6px;border:1px solid var(--catalogue-border);border-radius:12px;background:var(--catalogue-surface);box-shadow:0 18px 42px #0f172a2e}.catalogue-select-option{width:100%;min-height:44px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 10px;border:0;border-radius:8px;color:var(--catalogue-text);background:transparent;text-align:left;transition:background-color .14s ease,color .14s ease}.catalogue-select-option:hover,.catalogue-select-option.is-active{color:var(--catalogue-accent-ink);background:var(--catalogue-surface-alt)}.catalogue-select-option[aria-selected=true]{font-weight:750}.catalogue-select-option svg{width:17px;height:17px;flex:0 0 auto;color:var(--catalogue-accent-ink)}.catalogue-action-button{display:inline-flex;align-items:center;justify-content:center;gap:9px;border:1px solid transparent;border-radius:12px;font-weight:750;transition:color .18s ease,background-color .18s ease,border-color .18s ease,box-shadow .18s ease}.catalogue-primary-button{border-color:var(--catalogue-primary);color:var(--catalogue-primary-ink);background:var(--catalogue-primary);box-shadow:0 8px 20px #2563eb3d}.catalogue-primary-button:hover{border-color:var(--catalogue-primary-hover);background:var(--catalogue-primary-hover);box-shadow:0 10px 24px #1e40af47}.catalogue-secondary-button{border-color:#b9c6d8;color:var(--catalogue-text);background:var(--catalogue-surface);box-shadow:0 5px 14px #0f172a0f}.catalogue-secondary-button:hover{border-color:var(--catalogue-primary);color:var(--catalogue-accent-ink);background:var(--catalogue-surface-alt);box-shadow:0 8px 18px #2563eb1f}.catalogue-action-button:active,.catalogue-source-link:active,.catalogue-empty-state button:active{border-color:var(--catalogue-primary-pressed);box-shadow:inset 0 2px 4px #1717171f}.catalogue-action-button svg{width:20px;height:20px}.catalogue-print-button,.catalogue-search-button{min-width:140px;min-height:54px;padding:11px 17px}.catalogue-filter-row{display:grid;grid-template-columns:repeat(3,minmax(180px,1fr)) auto;gap:12px;align-items:end;padding:15px 18px 17px;border-top:1px solid var(--catalogue-border);background:var(--catalogue-surface)}.catalogue-clear-button{min-width:148px;min-height:48px;padding:10px 14px}.catalogue-table-meta{position:sticky;z-index:9;top:0;min-height:49px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:13px 18px;border-bottom:1px solid var(--catalogue-border);background:var(--catalogue-surface);box-shadow:0 5px 14px #0f172a12}.catalogue-result-count{margin:0;color:var(--catalogue-muted);font-size:.9rem;font-weight:650}.catalogue-note-key{display:inline-flex;align-items:center;gap:8px;color:var(--catalogue-note-text);font-size:.84rem;font-weight:760}.catalogue-note-key:before{width:11px;height:11px;border:2px solid var(--catalogue-note-border);border-radius:3px;background:var(--catalogue-note-bg);content:""}.catalogue-results,.catalogue-table-scroll{overflow:visible}.catalogue-table-scroll table{width:100%;min-width:100%;table-layout:fixed;border-collapse:separate;border-spacing:0}.catalogue-table-scroll th,.catalogue-table-scroll td{padding:16px 18px;border-bottom:1px solid var(--catalogue-border);text-align:left;vertical-align:middle}.catalogue-table-scroll th{text-align:left;vertical-align:middle}.catalogue-table-scroll th:first-child,.catalogue-table-scroll td:first-child,.catalogue-table-scroll td.catalogue-price-cell,.catalogue-table-scroll td.catalogue-links-cell{text-align:center}.catalogue-table-scroll th{position:sticky;z-index:4;top:49px;color:var(--catalogue-text);background:#f8fafc;font-size:.76rem;font-weight:820;letter-spacing:.055em;text-transform:uppercase;box-shadow:inset 0 -2px 0 var(--catalogue-primary)}.catalogue-table-scroll tbody tr{background:var(--catalogue-surface);transition:background-color .17s ease}.catalogue-table-scroll tbody tr:hover{background:var(--catalogue-surface-alt)}.catalogue-table-scroll tbody tr.has-note{box-shadow:inset 4px 0 0 var(--catalogue-note-border)}.catalogue-table-scroll tbody tr.has-note:hover{background:var(--catalogue-surface-alt)}.catalogue-table-scroll tbody tr:last-child td{border-bottom:0}.catalogue-table-scroll th:first-child,.catalogue-table-scroll td:first-child{position:sticky;left:0;z-index:3;width:68px}.catalogue-table-scroll th:first-child{z-index:7}.catalogue-table-scroll td:first-child{background:inherit}.catalogue-table-scroll .catalogue-price-heading{width:132px;text-align:center}.catalogue-table-scroll .catalogue-supplier-heading{width:132px}.catalogue-table-scroll .catalogue-links-heading{width:178px;text-align:center}.catalogue-sort-heading{width:100%;min-height:44px;display:flex;align-items:center;justify-content:flex-start;gap:6px;padding:0 3px;border:0;border-radius:5px;color:inherit;background:transparent;font:inherit;letter-spacing:inherit;text-align:center;text-transform:inherit;transition:background-color .16s ease}.catalogue-sort-heading.is-active{background:#2563eb14}.catalogue-sort-heading:focus-visible{outline-color:var(--catalogue-accent-ink);outline-offset:-3px}.catalogue-number-heading .catalogue-sort-heading,.catalogue-price-heading .catalogue-sort-heading{justify-content:center}.catalogue-sort-heading svg{width:17px;height:17px;flex:0 0 auto;opacity:.64}.catalogue-sort-heading.is-active svg{opacity:1}.catalogue-number-cell{color:var(--catalogue-muted);font-weight:800;font-variant-numeric:tabular-nums;white-space:nowrap}.catalogue-product-cell{min-width:0}.catalogue-product-title{display:block;color:var(--catalogue-text);font-size:.96rem;font-weight:800;line-height:1.35}.catalogue-product-variants{display:block;margin-top:5px;color:var(--catalogue-muted);font-size:.82rem;line-height:1.4}.catalogue-product-variants>span{color:var(--catalogue-text);font-weight:720}.catalogue-product-measurements{display:flex;flex-wrap:wrap;gap:10px 16px;width:-moz-fit-content;width:fit-content;max-width:100%;margin:12px 0 0;padding:10px 12px;border:1px solid var(--catalogue-border);border-radius:10px;background:#f8fafc}.catalogue-measurement{min-width:48px}.catalogue-measurement dt{margin-bottom:3px;color:var(--catalogue-muted);font-size:.7rem;font-weight:650;line-height:1.3}.catalogue-measurement dd{margin:0;color:var(--catalogue-text);font-size:.84rem;font-weight:750;font-variant-numeric:tabular-nums;line-height:1.4;white-space:nowrap}.catalogue-measurement dd span{color:var(--catalogue-muted);font-size:.74rem;font-weight:500}.catalogue-card>.catalogue-product-measurements{margin:0 17px 17px}@media(max-width:1100px)and (min-width:901px),(max-width:360px){.catalogue-product-measurements{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}}.catalogue-product-notes{display:flex;flex-wrap:wrap;gap:6px;margin:9px 0 0;padding:0;list-style:none}.catalogue-product-notes li{padding:4px 9px;border:2px solid var(--catalogue-note-border);border-radius:999px;color:var(--catalogue-note-text);background:var(--catalogue-note-bg);font-size:.76rem;font-weight:800;line-height:1.35}.catalogue-price-cell{color:var(--catalogue-accent-ink);font-weight:850;font-variant-numeric:tabular-nums;white-space:nowrap}.catalogue-supplier-cell{color:var(--catalogue-text);font-weight:750}.catalogue-card-note li{position:relative;padding-left:15px}.catalogue-card-note li:before{position:absolute;top:0;left:0;content:"-";font-weight:850}.catalogue-links-cell{min-width:0}.catalogue-link-list{display:grid;gap:7px;justify-items:center}.catalogue-source-link{width:min(100%,156px);min-height:44px;display:inline-flex;align-items:center;justify-content:space-between;gap:7px;padding:8px 11px;border:1px solid #89a9d8;border-radius:10px;color:var(--catalogue-accent-ink);background:var(--catalogue-surface);font-size:.82rem;font-weight:780;text-decoration:none;transition:color .17s ease,background-color .17s ease,border-color .17s ease,box-shadow .17s ease}.catalogue-source-link:hover{border-color:var(--catalogue-primary);color:var(--catalogue-primary-ink);background:var(--catalogue-primary);box-shadow:0 6px 16px #2563eb29}.catalogue-source-link svg{width:16px;height:16px;flex:0 0 auto}.catalogue-table-scroll .catalogue-source-link span{min-width:0;white-space:nowrap}.catalogue-card-grid{display:none;margin:0;padding:0;list-style:none}.catalogue-card{min-width:0;overflow:hidden;border:1px solid var(--catalogue-border);border-radius:14px;background:var(--catalogue-surface);box-shadow:0 10px 28px #0f172a14}.catalogue-card.has-note{border-color:var(--catalogue-note-border);background:var(--catalogue-note-bg);box-shadow:inset 5px 0 0 var(--catalogue-note-border),0 8px 24px #64330014}.catalogue-card-header{min-width:0;display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:17px 17px 14px;border-bottom:1px solid var(--catalogue-border)}.catalogue-card-header>div{min-width:0}.catalogue-card-number{display:block;margin-bottom:5px;color:var(--catalogue-muted);font-size:.74rem;font-weight:820;letter-spacing:.08em;text-transform:uppercase}.catalogue-card h2{margin:0;overflow-wrap:anywhere;color:var(--catalogue-text);font-size:1rem;font-weight:820;line-height:1.35}.catalogue-card-price{flex:0 0 auto;color:var(--catalogue-accent-ink);font-size:1.08rem;font-variant-numeric:tabular-nums;line-height:1.35;white-space:nowrap}.catalogue-card-prices{flex:0 0 auto;display:grid;gap:8px;margin:0;text-align:right}.catalogue-card-prices div{display:grid;gap:1px}.catalogue-card-prices dt{color:var(--catalogue-muted);font-size:.68rem;font-weight:800;letter-spacing:.045em;text-transform:uppercase}.catalogue-card-prices dd{margin:0;color:var(--catalogue-accent-ink);font-size:1rem;font-weight:850;font-variant-numeric:tabular-nums;line-height:1.25;white-space:nowrap}.catalogue-card-details{display:grid;gap:12px;margin:0;padding:15px 17px}.catalogue-card-details dt{margin-bottom:3px;color:var(--catalogue-muted);font-size:.73rem;font-weight:800;letter-spacing:.055em;text-transform:uppercase}.catalogue-card-details dd{margin:0;overflow-wrap:anywhere;color:var(--catalogue-text);font-size:.92rem;line-height:1.45}.catalogue-card-note{padding:11px 12px;border:2px solid var(--catalogue-note-border);border-radius:9px;background:var(--catalogue-note-bg)}.catalogue-card-note dt,.catalogue-card-note dd{color:var(--catalogue-note-text)}.catalogue-card-note ul{list-style:none;margin:0;padding-left:0}.catalogue-card-note li+li{margin-top:4px}.catalogue-card-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:0 17px 17px}.catalogue-card-links:empty{display:none}.catalogue-card-links .catalogue-source-link{width:100%;min-width:0;max-width:none;justify-content:center;padding-inline:14px}.catalogue-card-links .catalogue-link-list{width:100%}.catalogue-card-links .catalogue-source-link span{overflow-wrap:anywhere}.catalogue-table-private table{table-layout:fixed}.catalogue-table-private .catalogue-product-cell,.catalogue-table-private .catalogue-links-cell{min-width:0}.catalogue-empty-state{min-height:320px;display:grid;place-content:center;justify-items:center;padding:52px 18px;color:var(--catalogue-muted);text-align:center}.catalogue-empty-state strong,.catalogue-empty-state span{display:block}.catalogue-empty-state strong{color:var(--catalogue-text);font-size:1.12rem}.catalogue-empty-state span{margin:5px 0 16px}.catalogue-empty-state button{min-height:44px;padding:9px 14px;border:1px solid var(--catalogue-primary);border-radius:9px;color:var(--catalogue-primary-ink);background:var(--catalogue-primary);font-weight:750}.products-page .back-to-top{color:var(--catalogue-text);background:#ffffffeb;border-color:var(--catalogue-border)}.products-page .back-to-top:hover{color:var(--catalogue-accent-ink);border-color:var(--catalogue-primary)}.products-page .back-to-top-ring circle{stroke:var(--catalogue-primary)}@media(max-width:1300px)and (min-width:901px){.catalogue-table-scroll table{table-layout:fixed}.catalogue-table-scroll th,.catalogue-table-scroll td,.catalogue-product-cell,.catalogue-links-cell{min-width:0}.catalogue-table-scroll th,.catalogue-table-scroll td{padding-inline:10px}.catalogue-table-scroll .catalogue-price-heading,.catalogue-table-scroll .catalogue-supplier-heading{width:112px}.catalogue-table-scroll .catalogue-links-heading{width:152px}.catalogue-table-scroll .catalogue-source-link{gap:4px;padding-inline:7px;font-size:.75rem}.catalogue-table-scroll .catalogue-source-link svg{width:14px;height:14px}}@media(max-width:900px){.products-page{height:auto;min-height:100dvh;display:block;overflow:visible;padding-bottom:max(18px,env(safe-area-inset-bottom))}.catalogue-main{display:block;padding-bottom:0}.catalogue-workspace,.catalogue-results{overflow:visible}.catalogue-table-scroll{display:none}.catalogue-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;padding:18px;background:#f8fafc}.catalogue-header-grid{gap:18px}.catalogue-logo{width:170px}.catalogue-total{min-width:154px;margin-right:0}.catalogue-filter-row{grid-template-columns:repeat(2,minmax(150px,1fr))}}@media(max-width:720px){.products-page{min-height:100dvh}.catalogue-shell{width:min(100% - 20px,680px)}.catalogue-header{padding:16px 10px 12px}.catalogue-header-grid{grid-template-columns:1fr;gap:10px}.catalogue-brand{flex-direction:row;align-items:center;gap:14px}.catalogue-logo{width:145px}.catalogue-brand h1{font-size:.78rem}.catalogue-total{min-width:0;justify-content:center;padding:9px 14px}.catalogue-total strong{font-size:1.4rem}.catalogue-search-row,.catalogue-filter-row{grid-template-columns:1fr;padding:14px}.catalogue-print-button,.catalogue-clear-button{width:100%}.catalogue-table-meta{align-items:flex-start;flex-direction:column;gap:6px;min-height:69px;padding:10px 14px}.catalogue-table-scroll th{top:69px}}@media(max-width:620px){.catalogue-search-controls{grid-template-columns:1fr}.catalogue-search-button{width:100%}.catalogue-card-grid{grid-template-columns:1fr;gap:12px;padding:12px}.catalogue-card-links{gap:10px;padding:0 14px 16px}.catalogue-card-links .catalogue-source-link{min-height:48px;padding:10px 12px}}@media(max-width:480px){.catalogue-card-header{flex-direction:column}.catalogue-card-prices{width:100%;grid-template-columns:repeat(2,minmax(0,1fr));text-align:left}.catalogue-card-links{grid-template-columns:1fr}}@media(max-width:420px){.catalogue-shell{width:min(100% - 16px,404px)}.catalogue-header{padding-inline:8px;border-left-width:6px}.catalogue-brand{align-items:flex-start;flex-direction:column;gap:6px}.catalogue-logo{width:132px}.catalogue-total{justify-content:flex-start}.catalogue-search-row,.catalogue-filter-row{padding:12px}.catalogue-card-header,.catalogue-card-details{padding-inline:14px}.catalogue-card>.catalogue-product-measurements{margin-inline:14px}.catalogue-card-links{grid-template-columns:1fr;padding:0 14px 14px}}@keyframes catalogue-skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.catalogue-total.is-loading{min-height:64px}.catalogue-total .catalogue-total-placeholder{width:46px;height:25px;flex:0 0 auto;border-radius:7px}.catalogue-skeleton-workspace{margin-top:0}.catalogue-total-placeholder,.catalogue-skeleton-label,.catalogue-skeleton-input,.catalogue-skeleton-button,.catalogue-skeleton-select,.catalogue-skeleton-meta span,.catalogue-skeleton-table-head span,.catalogue-skeleton-table-row span,.catalogue-skeleton-card span{background:linear-gradient(100deg,#e4eaf2 24%,#f7f9fc,#e4eaf2 60%);background-size:300% 100%;animation:catalogue-skeleton-shimmer 1.8s ease-in-out infinite}.catalogue-skeleton-controls{border-bottom:1px solid var(--catalogue-border)}.catalogue-skeleton-search-row{display:grid;grid-template-columns:minmax(300px,1fr) auto;gap:14px;align-items:end;padding:18px;border-top:5px solid var(--catalogue-primary);border-radius:17px 17px 0 0;background:linear-gradient(110deg,rgba(37,99,235,.07),transparent 55%),var(--catalogue-surface)}.catalogue-skeleton-field{min-width:0}.catalogue-skeleton-label{width:78px;height:9px;display:block;margin-bottom:9px;border-radius:999px}.catalogue-skeleton-search-controls{display:grid;grid-template-columns:minmax(0,1fr) 140px;gap:10px}.catalogue-skeleton-input,.catalogue-skeleton-button,.catalogue-skeleton-select{min-height:48px;display:block;border:1px solid #d9e1ec;border-radius:10px}.catalogue-skeleton-input,.catalogue-skeleton-search-row .catalogue-skeleton-button{min-height:54px}.catalogue-skeleton-button-primary{border-color:#2563eb3d;background:linear-gradient(100deg,#d9e6fa 24%,#eef5ff,#d9e6fa 60%);background-size:300% 100%}.catalogue-skeleton-print{width:140px}.catalogue-skeleton-filter-row{display:grid;grid-template-columns:repeat(3,minmax(180px,1fr)) auto;gap:12px;align-items:end;padding:15px 18px 17px;border-top:1px solid var(--catalogue-border);background:var(--catalogue-surface)}.catalogue-skeleton-clear{width:148px}.catalogue-skeleton-meta{min-height:49px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:13px 18px;border-bottom:1px solid var(--catalogue-border);background:var(--catalogue-surface);box-shadow:0 5px 14px #0f172a0d}.catalogue-skeleton-meta span{width:156px;height:10px;display:block;border-radius:999px}.catalogue-skeleton-meta span:last-child{width:255px}.catalogue-skeleton-table-head,.catalogue-skeleton-table-row{display:grid;grid-template-columns:68px minmax(260px,1fr) 132px 178px;align-items:center}.catalogue-skeleton-table-head{min-height:67px;background:#f8fafc;box-shadow:inset 0 -2px 0 var(--catalogue-primary)}.catalogue-skeleton-table-head span{width:54px;height:8px;display:block;margin-inline:18px;border-radius:999px}.catalogue-skeleton-table-head span:first-child{width:26px;justify-self:center;margin-inline:0}.catalogue-skeleton-table-head span:nth-child(2){width:88px}.catalogue-skeleton-table-head span:nth-child(3),.catalogue-skeleton-table-head span:nth-child(4){justify-self:center}.catalogue-skeleton-table-row{min-height:77px;border-bottom:1px solid var(--catalogue-border);background:var(--catalogue-surface)}.catalogue-skeleton-table-row:last-child{border-bottom:0}.catalogue-skeleton-number{width:18px;height:10px;justify-self:center;border-radius:999px}.catalogue-skeleton-product{display:grid;gap:9px;padding-inline:18px}.catalogue-skeleton-product span{width:min(58%,420px);height:11px;display:block;border-radius:999px}.catalogue-skeleton-product span:last-child{width:min(34%,240px);height:8px;animation-delay:90ms}.catalogue-skeleton-price{width:54px;height:11px;justify-self:center;border-radius:999px}.catalogue-skeleton-link{width:116px;height:40px;justify-self:center;border:1px solid #d9e1ec;border-radius:9px}.catalogue-skeleton-table-row:nth-child(2n) .catalogue-skeleton-product span:first-child{width:min(44%,320px)}.catalogue-skeleton-table-row:nth-child(2n) span{animation-delay:.14s}.catalogue-skeleton-cards{display:none}@media(max-width:900px){.catalogue-skeleton-table{display:none}.catalogue-skeleton-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;padding:18px;background:#f8fafc}.catalogue-skeleton-card{overflow:hidden;border:1px solid var(--catalogue-border);border-radius:14px;background:var(--catalogue-surface);box-shadow:0 10px 28px #0f172a0f}.catalogue-skeleton-card-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:17px;border-bottom:1px solid var(--catalogue-border)}.catalogue-skeleton-card-heading div{min-width:0;flex:1;display:grid;gap:10px}.catalogue-skeleton-card-heading span,.catalogue-skeleton-card-detail span{height:9px;display:block;border-radius:999px}.catalogue-skeleton-card-heading div span:first-child{width:70px;height:7px}.catalogue-skeleton-card-heading div span:last-child{width:72%;height:11px}.catalogue-skeleton-card-heading>span{width:52px;height:12px}.catalogue-skeleton-card-detail{display:grid;gap:10px;padding:16px 17px}.catalogue-skeleton-card-detail span:first-child{width:86%}.catalogue-skeleton-card-detail span:last-child{width:58%}.catalogue-skeleton-card-action{height:44px;display:block;margin:0 17px 17px;border:1px solid #d9e1ec;border-radius:9px}}@media(max-width:720px){.catalogue-skeleton-search-row,.catalogue-skeleton-filter-row{grid-template-columns:1fr;padding:14px}.catalogue-skeleton-print,.catalogue-skeleton-clear{width:100%}.catalogue-skeleton-meta{align-items:flex-start;flex-direction:column;min-height:69px;padding:14px}}@media(max-width:620px){.catalogue-skeleton-search-controls{grid-template-columns:1fr}.catalogue-skeleton-cards{grid-template-columns:1fr;gap:12px;padding:12px}.catalogue-skeleton-meta span:last-child{width:min(255px,80%)}}.catalogue-status-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:80px 24px;text-align:center;background:var(--catalogue-surface);border:1px solid var(--catalogue-border);border-radius:12px;box-shadow:0 4px 16px #0f172a0a;margin-top:16px}.catalogue-status-state h2{font-size:1.25rem;font-weight:600;color:var(--catalogue-text);margin:0}.catalogue-status-state p{color:var(--catalogue-muted);margin:0;max-width:420px}.catalogue-retry-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;margin-top:8px;padding:10px 22px;font-size:.9375rem;font-weight:600;color:var(--catalogue-primary-ink);background:var(--catalogue-primary);border:1px solid var(--catalogue-primary);border-radius:8px;transition:background-color .15s ease,transform .15s ease}.catalogue-retry-btn:hover{background:var(--catalogue-primary-hover)}.catalogue-retry-btn:active{background:var(--catalogue-primary-pressed);transform:translateY(1px)}@media(prefers-reduced-motion:reduce){.products-page *,.products-page *:before,.products-page *:after{scroll-behavior:auto!important;transition-duration:.01ms!important}.catalogue-total-placeholder,.catalogue-skeleton-label,.catalogue-skeleton-input,.catalogue-skeleton-button,.catalogue-skeleton-select,.catalogue-skeleton-meta span,.catalogue-skeleton-table-head span,.catalogue-skeleton-table-row span,.catalogue-skeleton-card span{animation:none!important}}@media print{.products-page{height:auto;min-height:0;display:block;overflow:visible;color:#000;background:#fff;font-size:10pt}.catalogue-shell{width:100%}.catalogue-header{padding:0 0 10px;border-left:0}.catalogue-header-grid{display:block}.catalogue-brand{flex-direction:row}.catalogue-logo{width:150px}.catalogue-total,.catalogue-controls,.catalogue-table-meta,.catalogue-skip-link{display:none!important}.catalogue-main,.catalogue-workspace,.catalogue-results,.catalogue-table-scroll{display:block;min-height:0;overflow:visible}.catalogue-card-grid{display:none!important}.catalogue-workspace{border:1px solid #000000}.catalogue-table-scroll table{min-width:0}.catalogue-table-scroll tr{-moz-column-break-inside:avoid;break-inside:avoid}.catalogue-table-scroll th,.catalogue-table-scroll td{position:static!important;padding:6px;border:1px solid #777777!important;color:#000!important}.catalogue-table-scroll th{color:#fff!important;background:#000!important}.catalogue-source-link{min-height:0;padding:0;border:0;color:#000;text-decoration:underline}.catalogue-source-link svg{display:none}}*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}:root{--primary-color: #f3a35f;--primary: 27.567568 86.046512% 66.27451%;--primary-foreground: 0 0% 9%;color-scheme:light;--background: 0 0% 98%;--foreground: 0 0% 9%;--card: 0 0% 100%;--card-foreground: 0 0% 9%;--popover: 0 0% 100%;--popover-foreground: 0 0% 9%;--secondary: 0 0% 94%;--secondary-foreground: 0 0% 15%;--muted: 0 0% 94%;--muted-foreground: 0 0% 40%;--accent: 0 0% 92%;--accent-foreground: 0 0% 9%;--destructive: 0 72% 50%;--destructive-foreground: 0 0% 100%;--border: 0 0% 85%;--input: 0 0% 70%;--ring: var(--primary);--radius: 1rem;--ink-strong: #171717;--ink: #333333;--ink-muted: #666666;--accent-ink: #9b4d16;--blue: var(--primary-color);--orange: var(--blue);--maroon: var(--blue);--cyan: var(--blue);--violet: var(--blue);--pink: var(--blue);--mint: var(--blue);--glass-bg-subtle: rgba(255, 255, 255, .6);--glass-bg: rgba(255, 255, 255, .78);--glass-bg-strong: rgba(255, 255, 255, .92);--glass-border: rgba(0, 0, 0, .12);--glass-border-bright: rgba(255, 255, 255, .7);--glass-highlight: transparent;--glass-shadow: 0 14px 42px rgba(0, 0, 0, .06);--glass-shadow-float: 0 32px 80px rgba(0, 0, 0, .12);--glass-blur-subtle: 10px;--glass-blur: 18px;--glass-blur-strong: 28px;--surface-line: rgba(0, 0, 0, .12);--nav-bg: rgba(255, 255, 255, .9);--focus-ring: var(--accent-ink);--action: var(--primary-color);--action-hover: #f5b37c;--action-pressed: #df8842;--action-ink: #171717;--action-soft: color-mix(in srgb, var(--action) 10%, transparent);--action-soft-strong: color-mix(in srgb, var(--action) 17%, transparent);--action-border: color-mix(in srgb, var(--action) 42%, var(--glass-border));--action-shadow: 0 12px 30px color-mix(in srgb, var(--action) 24%, transparent);--button-primary: var(--primary-color);--button-primary-hover: var(--action-hover);--button-primary-ink: var(--action-ink);--button-primary-border: var(--primary-color);--syntax-keyword: #8c3762;--syntax-string: #8b4a23}.dark{color-scheme:dark;--background: 0 0% 6%;--foreground: 0 0% 96%;--card: 0 0% 10%;--card-foreground: 0 0% 96%;--popover: 0 0% 10%;--popover-foreground: 0 0% 96%;--secondary: 0 0% 15%;--secondary-foreground: 0 0% 96%;--muted: 0 0% 15%;--muted-foreground: 0 0% 70%;--accent: 0 0% 18%;--accent-foreground: 0 0% 96%;--destructive: 0 75% 65%;--destructive-foreground: 0 0% 100%;--border: 0 0% 24%;--input: 0 0% 40%;--ink-strong: #f5f5f5;--ink: #dddddd;--ink-muted: #b3b3b3;--accent-ink: var(--primary-color);--glass-bg-subtle: rgba(255, 255, 255, .025);--glass-bg: rgba(255, 255, 255, .045);--glass-bg-strong: rgba(255, 255, 255, .065);--glass-border: rgba(255, 255, 255, .14);--glass-border-bright: rgba(255, 255, 255, .08);--glass-highlight: transparent;--glass-shadow: 0 16px 44px rgba(0, 0, 0, .24);--glass-shadow-float: 0 32px 80px rgba(0, 0, 0, .4);--surface-line: rgba(255, 255, 255, .12);--nav-bg: rgba(23, 23, 23, .9);--syntax-keyword: #d693a5;--syntax-string: #e7b68c}*{border-color:hsl(var(--border));box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:6rem;scrollbar-color:var(--action) hsl(var(--background));scrollbar-width:thin;background:hsl(var(--background))}body{background-color:hsl(var(--background));color:hsl(var(--foreground));min-width:320px;margin:0;overflow-x:hidden;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:16px;line-height:1.6;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}body.menu-open{overflow:hidden}button,a{-webkit-tap-highlight-color:transparent;touch-action:manipulation}button:not(:disabled),a[href]{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid var(--focus-ring);outline-offset:4px}::-moz-selection{color:var(--action-ink);background:var(--primary-color)}::selection{color:var(--action-ink);background:var(--primary-color)}::-webkit-scrollbar{width:10px}::-webkit-scrollbar-track{background:hsl(var(--background))}::-webkit-scrollbar-thumb{border:3px solid hsl(var(--background));border-radius:999px;background:var(--action)}.\!container{width:100%!important}.container{width:100%}@media(min-width:640px){.\!container{max-width:640px!important}.container{max-width:640px}}@media(min-width:768px){.\!container{max-width:768px!important}.container{max-width:768px}}@media(min-width:1024px){.\!container{max-width:1024px!important}.container{max-width:1024px}}@media(min-width:1280px){.\!container{max-width:1280px!important}.container{max-width:1280px}}@media(min-width:1536px){.\!container{max-width:1536px!important}.container{max-width:1536px}}.site-shell{position:relative;isolation:isolate}.page-container{width:min(100% - 32px,1440px);margin-inline:auto}.skip-link{position:fixed;top:max(1rem,env(safe-area-inset-top));left:max(1rem,env(safe-area-inset-left));z-index:100;padding:.7rem 1rem;border-radius:999px;color:hsl(var(--primary-foreground));background:hsl(var(--primary));clip-path:inset(50%);opacity:0;pointer-events:none}.skip-link:focus-visible{clip-path:none;opacity:1;pointer-events:auto}.ambient-world{position:fixed;top:0;right:0;bottom:0;left:0;z-index:-2;overflow:hidden;pointer-events:none;background:hsl(var(--background))}.ambient-world:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;opacity:.18;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.13'/%3E%3C/svg%3E");mix-blend-mode:soft-light}.glass-surface{--glass-accent: var(--cyan);position:relative;overflow:hidden;border:1px solid var(--glass-border);border-radius:28px;background:var(--glass-bg);box-shadow:var(--glass-shadow);backdrop-filter:blur(var(--glass-blur)) saturate(130%);-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(130%)}.glass-surface:before{content:none}.glass-surface:after{content:none}.glass-surface>*{position:relative;z-index:1}.glass-surface[data-glass=subtle]{border-radius:20px;background:var(--glass-bg-subtle);backdrop-filter:blur(var(--glass-blur-subtle)) saturate(120%);-webkit-backdrop-filter:blur(var(--glass-blur-subtle)) saturate(120%)}.glass-surface[data-glass=strong]{border-radius:30px;background:var(--glass-bg-strong);box-shadow:var(--glass-shadow);backdrop-filter:blur(var(--glass-blur-strong)) saturate(135%);-webkit-backdrop-filter:blur(var(--glass-blur-strong)) saturate(135%)}.glass-surface[data-accent=blue]{--glass-accent: var(--blue)}.glass-surface[data-accent=violet]{--glass-accent: var(--violet)}.glass-surface[data-accent=pink]{--glass-accent: var(--pink)}.glass-surface[data-accent=mint]{--glass-accent: var(--mint)}.glass-surface[data-accent=orange]{--glass-accent: var(--orange)}.glass-button{position:relative;min-height:52px;overflow:hidden;border:1px solid var(--action-border);border-radius:999px;color:var(--ink-strong);background:linear-gradient(135deg,var(--action-soft),var(--glass-bg) 58%);box-shadow:inset 0 1px color-mix(in srgb,white 30%,transparent),0 8px 22px #00000014;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);font-weight:750;letter-spacing:-.01em;transition:transform .2s ease,border-color .2s ease,color .2s ease,background .2s ease,box-shadow .2s ease}.glass-button:before{content:none}.glass-button:hover{color:var(--ink-strong);border-color:color-mix(in srgb,var(--action) 72%,var(--glass-border));background:linear-gradient(135deg,var(--action-soft-strong),var(--glass-bg-strong) 62%);transform:translateY(-2px);box-shadow:inset 0 1px color-mix(in srgb,white 34%,transparent),0 12px 28px color-mix(in srgb,var(--action) 14%,rgba(0,0,0,.14))}.glass-button:not(.glass-button-primary) svg{color:var(--accent-ink)}.glass-button svg{transition:transform .18s ease}.glass-button:hover svg{transform:scale(1.08)}.glass-button:active{transform:translateY(0) scale(.98)}.glass-button:disabled{cursor:not-allowed;box-shadow:none}.glass-button-primary{color:var(--button-primary-ink);border-color:color-mix(in srgb,var(--button-primary) 72%,black);background:linear-gradient(135deg,var(--button-primary) 0%,var(--button-primary-hover) 100%);box-shadow:inset 0 1px color-mix(in srgb,white 42%,transparent),var(--action-shadow)}.glass-button-primary:hover{color:var(--button-primary-ink);border-color:color-mix(in srgb,var(--button-primary) 62%,black);background:linear-gradient(135deg,var(--button-primary-hover) 0%,var(--button-primary) 100%);box-shadow:inset 0 1px color-mix(in srgb,white 46%,transparent),0 16px 34px color-mix(in srgb,var(--action) 32%,transparent)}.glass-button-primary:active{background:var(--action-pressed);box-shadow:inset 0 2px 5px #0003}.glass-navbar{position:fixed;top:20px;left:50%;z-index:60;width:min(calc(100% - 40px),1460px);transform:translate(-50%);transition:width .48s cubic-bezier(.22,1,.36,1),top .48s cubic-bezier(.22,1,.36,1)}.nav-shell{display:flex;min-height:76px;align-items:center;justify-content:space-between;gap:1rem;padding:12px 16px;border:1px solid var(--glass-border);border-radius:999px;background:var(--nav-bg);box-shadow:inset 0 1px color-mix(in srgb,var(--action) 10%,transparent),0 10px 32px #0000001f;backdrop-filter:blur(28px) saturate(145%);-webkit-backdrop-filter:blur(28px) saturate(145%);transition:min-height .48s cubic-bezier(.22,1,.36,1),padding .48s cubic-bezier(.22,1,.36,1),background .32s ease}.glass-navbar.is-scrolled .nav-shell{min-height:60px;padding:7px 10px;background:color-mix(in srgb,var(--nav-bg) 86%,hsl(var(--background)));box-shadow:0 8px 28px #00000024}.brand-mark{display:inline-flex;min-width:-moz-max-content;min-width:max-content;align-items:center;gap:.75rem;padding:0;border:0;color:var(--ink-strong);background:transparent;cursor:pointer;transition:gap .42s cubic-bezier(.22,1,.36,1)}.brand-logo-frame{display:grid;width:44px;height:44px;flex:0 0 44px;overflow:hidden;place-items:center;border:0;border-radius:50%;box-shadow:0 5px 14px #0000002e}.brand-logo{display:block;width:100%;height:100%;-o-object-fit:cover;object-fit:cover;transform:scale(1.33)}.brand-copy{display:flex;flex-direction:column;align-items:flex-start;line-height:1.15}.brand-copy strong{font-size:.82rem;letter-spacing:-.01em}.brand-copy small{margin-top:.2rem;color:var(--ink-muted);font-size:.66rem;letter-spacing:.08em;text-transform:uppercase}.nav-links{display:none;align-items:center;gap:.18rem}.nav-links button{position:relative;min-height:44px;padding:.55rem .65rem;border:0;border-radius:999px;color:var(--ink-muted);background:transparent;font-size:.76rem;font-weight:600;white-space:nowrap;cursor:pointer;transition:color .18s ease,background .18s ease}.nav-links button:after{content:"";position:absolute;right:42%;bottom:5px;left:42%;height:2px;border-radius:999px;background:var(--cyan);opacity:0;transition:right .18s ease,left .18s ease,opacity .18s ease}.nav-links button:hover,.nav-links button.is-active{color:var(--ink-strong);background:var(--glass-bg-subtle)}.nav-links button.is-active:after{right:28%;left:28%;opacity:1}.nav-actions{display:flex;align-items:center;gap:.45rem}.nav-external{display:none;min-height:42px;align-items:center;gap:.4rem;padding:.55rem .9rem;border:1px solid var(--action-border);border-radius:999px;color:var(--accent-ink);background:var(--action-soft);font-size:.76rem;font-weight:700;transition:border-color .18s ease,color .18s ease,background .18s ease,transform .18s ease,box-shadow .18s ease}.nav-external:hover{color:var(--action-ink);border-color:var(--action);background:var(--action);transform:translateY(-1px);box-shadow:0 8px 20px color-mix(in srgb,var(--action) 20%,transparent)}.nav-external svg{width:14px;height:14px}.nav-icon-button,.nav-menu-button{position:relative;display:grid;width:44px;height:44px;place-items:center;padding:0;border:1px solid var(--glass-border);border-radius:50%;color:var(--ink-strong);background:var(--glass-bg-subtle);cursor:pointer;transition:border-color .18s ease,background .18s ease,transform .18s ease}.nav-icon-button:hover,.nav-menu-button:hover{color:var(--accent-ink);border-color:var(--action-border);background:var(--action-soft);transform:translateY(-1px)}.nav-menu-button svg{width:20px;height:20px}.mobile-menu{position:absolute;top:calc(100% + 10px);right:0;left:0;max-height:0;overflow:hidden;visibility:hidden;padding:0 16px;border:1px solid transparent;border-radius:28px;background:var(--nav-bg);box-shadow:inset 0 1px 0 transparent,0 30px 70px #0000005c;backdrop-filter:blur(26px) saturate(160%);-webkit-backdrop-filter:blur(26px) saturate(160%);opacity:0;transform:translateY(-10px) scale(.985);transform-origin:top;transition:max-height .36s ease,padding .26s ease,border-color .26s ease,opacity .22s ease,transform .26s ease,visibility 0s linear .36s}.mobile-menu.is-open{max-height:min(720px,calc(100svh - 110px));visibility:visible;overflow-y:auto;padding:18px 16px 16px;border-color:var(--glass-border);box-shadow:0 30px 70px #0000005c;opacity:1;transform:translateY(0) scale(1);transition-delay:0s}.mobile-menu-header{display:flex;justify-content:space-between;padding:0 .45rem .9rem;border-bottom:1px solid var(--surface-line);color:var(--ink-muted);font-size:.66rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.mobile-menu-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.3rem;padding-block:.6rem}.mobile-menu-links button{display:flex;min-height:48px;align-items:center;gap:.75rem;padding:.7rem .65rem;border:0;border-radius:14px;color:var(--ink-strong);background:transparent;font-size:.86rem;font-weight:600;text-align:left;cursor:pointer}.mobile-menu-links button:hover{background:var(--glass-bg-subtle)}.mobile-menu-links button span{color:var(--accent-ink);font-size:.66rem;font-variant-numeric:tabular-nums}.mobile-menu-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem;padding-top:.8rem;border-top:1px solid var(--surface-line)}.mobile-menu-actions a{display:flex;min-height:44px;align-items:center;justify-content:center;gap:.35rem;border:1px solid var(--action-border);border-radius:12px;color:var(--accent-ink);background:var(--action-soft);font-size:.72rem;font-weight:700;transition:border-color .18s ease,color .18s ease,background .18s ease,transform .18s ease}.mobile-menu-actions a:hover{color:var(--action-ink);border-color:var(--action);background:var(--action);transform:translateY(-1px)}.mobile-menu-actions svg{width:14px;height:14px}.hero-section{--mouse-x: 70%;--mouse-y: 24%;position:relative;display:flex;min-height:100svh;align-items:center;overflow:hidden;padding:8.5rem 0 6.5rem;scroll-margin-top:0}.hero-layout{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(420px,.92fr);gap:clamp(2rem,6vw,7rem);align-items:center}.hero-copy{min-width:0}.availability-badge{display:inline-flex;min-height:36px;align-items:center;gap:.65rem;padding:.45rem .8rem;border:1px solid var(--action-border);border-radius:999px;color:var(--ink);background:linear-gradient(135deg,var(--action-soft),var(--glass-bg-subtle) 72%);box-shadow:none;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);font-size:.75rem;font-weight:650;letter-spacing:.015em}.availability-badge>span{width:8px;height:8px;flex:0 0 auto;border-radius:50%;background:var(--mint);box-shadow:0 0 0 5px color-mix(in srgb,var(--mint) 13%,transparent),0 0 16px color-mix(in srgb,var(--mint) 70%,transparent);animation:status-pulse 2.2s ease-in-out infinite}.hero-eyebrow{display:flex;flex-wrap:wrap;gap:.55rem;margin-top:2rem;color:var(--accent-ink);font-size:clamp(.72rem,1vw,.84rem);font-weight:750;letter-spacing:.12em;text-transform:uppercase}.hero-eyebrow span:nth-child(2),.hero-eyebrow span:nth-child(3){color:var(--ink-muted)}.hero-title{max-width:900px;margin:1.1rem 0 1.5rem;color:var(--ink-strong);font-size:clamp(3.5rem,6.9vw,7.1rem);font-weight:750;letter-spacing:-.068em;line-height:.93;text-wrap:balance}.hero-title span{display:block;color:var(--accent-ink)}.hero-intro{max-width:710px;margin:0;color:var(--ink-muted);font-size:clamp(1rem,1.3vw,1.16rem);line-height:1.75}.hero-intro strong{color:var(--ink);font-weight:650}.hero-actions{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:2rem}.hero-proof{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));max-width:760px;margin-top:2.4rem;padding-top:1.5rem;border-top:1px solid var(--surface-line)}.hero-proof>div{display:flex;min-width:0;flex-direction:column;gap:.2rem;padding-right:1rem}.hero-proof>div+div{padding-left:1rem;border-left:1px solid var(--surface-line)}.hero-proof strong{color:var(--ink-strong);font-size:.92rem;font-weight:750}.hero-proof span{color:var(--ink-muted);font-size:.72rem;line-height:1.45}.hero-socials{display:flex;gap:.55rem;margin-top:1.7rem}.hero-socials a{display:grid;width:44px;height:44px;place-items:center;border:1px solid var(--glass-border);border-radius:50%;color:var(--ink);background:var(--glass-bg-subtle);box-shadow:none;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);transition:color .18s ease,border-color .18s ease,transform .18s ease,box-shadow .18s ease}.hero-socials a:hover{color:var(--action-ink);border-color:var(--action);background:var(--action);transform:translateY(-2px);box-shadow:0 10px 24px color-mix(in srgb,var(--action) 22%,rgba(0,0,0,.18))}.hero-socials svg{width:18px;height:18px}.hero-visual{position:relative;width:min(100%,580px);margin-left:auto;perspective:1200px}.scroll-cue{position:absolute;bottom:1.5rem;left:50%;display:flex;align-items:center;gap:.45rem;padding:.4rem;border:0;color:var(--ink-muted);background:transparent;font-size:.64rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;cursor:pointer;transform:translate(-50%)}.scroll-cue svg{width:16px;height:16px;animation:cue-drift 1.8s ease-in-out infinite}.hero-reveal{opacity:0;animation:hero-enter .7s cubic-bezier(.22,1,.36,1) forwards}.hero-delay-1{animation-delay:80ms}.hero-delay-2{animation-delay:.16s}.hero-delay-3{animation-delay:.24s}.hero-delay-4{animation-delay:.32s}.section-heading{max-width:760px;margin-bottom:clamp(2rem,4vw,3rem)}.section-heading-center{margin-inline:auto;text-align:center}.section-kicker{display:flex;align-items:center;gap:.65rem;margin-bottom:1rem;color:var(--accent-ink);font-size:.72rem;font-weight:750;letter-spacing:.13em;text-transform:uppercase}.section-heading-center .section-kicker{justify-content:center}.section-kicker span:first-child{color:var(--ink-muted);font-variant-numeric:tabular-nums}.section-heading h2{margin:0;color:var(--ink-strong);font-size:clamp(2.35rem,5vw,5.1rem);font-weight:720;letter-spacing:-.06em;line-height:1;text-wrap:balance}.section-heading p{max-width:680px;margin:1.25rem 0 0;color:var(--ink-muted);font-size:clamp(1rem,1.3vw,1.12rem);line-height:1.75}.section-heading-center p{margin-inline:auto}.animate-on-scroll{opacity:0;transform:translateY(24px);transition:opacity .65s cubic-bezier(.22,1,.36,1),transform .65s cubic-bezier(.22,1,.36,1)}.animate-on-scroll.animate{opacity:1;transform:translate(0)}.portfolio-section{position:relative;--section-space: clamp(4rem, 6vw, 6rem);padding:var(--section-space) 0;scroll-margin-top:calc(1.5rem - var(--section-space))}.about-body{display:grid;gap:1.1rem;max-width:590px}.about-body p{margin:0;color:var(--ink-muted);line-height:1.8}.text-link{display:inline-flex;min-height:44px;align-items:center;gap:.45rem;margin-top:1.7rem;color:var(--accent-ink);font-size:.86rem;font-weight:700;text-decoration:underline;text-decoration-color:color-mix(in srgb,var(--action) 42%,transparent);text-decoration-thickness:1px;text-underline-offset:5px;transition:color .18s ease,text-decoration-color .18s ease}.text-link svg{width:16px;height:16px;transition:transform .18s ease}.text-link:hover{text-decoration-color:var(--action)}.text-link:hover svg{transform:translate(2px,-2px)}.why-shell{padding:clamp(1rem,2vw,1.5rem)}.why-intro{display:flex;align-items:flex-end;justify-content:space-between;gap:2rem;padding:clamp(1rem,2vw,1.5rem) clamp(.5rem,1.5vw,1rem) 2rem}.why-intro>span{color:var(--accent-ink);font-size:.64rem;font-weight:750;letter-spacing:.14em}.why-intro p{max-width:540px;margin:0;color:var(--ink-strong);font-size:clamp(1.2rem,2vw,1.85rem);font-weight:600;letter-spacing:-.03em;line-height:1.3;text-align:right}.why-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--surface-line);border-left:1px solid var(--surface-line);border-radius:22px;overflow:hidden}.why-item{--why-tone: var(--cyan);position:relative;min-height:300px;padding:clamp(1.3rem,2.5vw,2rem);border-right:1px solid var(--surface-line);border-bottom:1px solid var(--surface-line);background:var(--glass-bg-subtle);transition:background .24s ease}.why-item:after{content:none}.why-icon{display:grid;width:48px;height:48px;place-items:center;border:1px solid color-mix(in srgb,var(--why-tone) 28%,var(--glass-border));border-radius:16px;color:var(--accent-ink);background:var(--glass-bg-subtle);box-shadow:0 10px 22px #00000024}.why-icon svg{width:22px;height:22px}.why-number{position:absolute;top:1.7rem;right:1.8rem;color:var(--ink-muted);font-size:.63rem;font-weight:700;letter-spacing:.1em}.why-item h3{margin:2.8rem 0 .8rem;color:var(--ink-strong);font-size:clamp(1.2rem,1.6vw,1.5rem);font-weight:680;letter-spacing:-.035em}.why-item p{margin:0;color:var(--ink-muted);font-size:.88rem;line-height:1.72}.skills-workbench{display:grid;grid-template-columns:280px minmax(0,1fr);gap:1rem}.skill-tabs{display:flex;flex-direction:column;gap:.55rem}.skill-tabs button{display:flex;min-height:70px;align-items:center;gap:.8rem;padding:.65rem;border:1px solid transparent;border-radius:18px;color:var(--ink-muted);background:transparent;text-align:left;cursor:pointer;transition:color .18s ease,background .18s ease,border-color .18s ease,transform .18s ease}.skill-tabs button:hover,.skill-tabs button.is-active{color:var(--ink-strong);border-color:color-mix(in srgb,var(--action) 65%,var(--glass-border));background:var(--glass-bg-subtle);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--action) 25%,transparent);transform:translate(3px)}.skill-tab-icon{--tab-tone: var(--cyan);display:grid;width:44px;height:44px;flex:0 0 auto;place-items:center;border:1px solid color-mix(in srgb,var(--tab-tone) 26%,var(--glass-border));border-radius:14px;color:var(--accent-ink);background:var(--glass-bg-subtle)}.skill-tab-icon svg{width:20px;height:20px}.skill-tabs button>span:last-child{display:flex;min-width:0;flex:1;align-items:center;justify-content:space-between;gap:.5rem}.skill-tabs strong{overflow:hidden;font-size:.8rem;text-overflow:ellipsis;white-space:nowrap}.skill-tabs small{color:var(--ink-muted);font-size:.62rem}.skill-stage{display:flex;min-height:580px;flex-direction:column;padding:clamp(1.3rem,3.5vw,3rem)}.skill-stage-head{display:flex;justify-content:space-between;gap:2rem;padding-bottom:2rem;border-bottom:1px solid var(--surface-line)}.skill-stage-head>div>span{color:var(--accent-ink);font-size:.63rem;font-weight:750;letter-spacing:.13em}.skill-stage-head h3{margin:.75rem 0;color:var(--ink-strong);font-size:clamp(2rem,4vw,4rem);font-weight:700;letter-spacing:-.055em;line-height:1}.skill-stage-head p{max-width:680px;margin:0;color:var(--ink-muted);font-size:.9rem;line-height:1.7}.skill-stage-head>svg{width:64px;height:64px;flex:0 0 auto;padding:14px;border:1px solid color-mix(in srgb,var(--glass-accent) 28%,var(--glass-border));border-radius:22px;color:var(--accent-ink);background:var(--glass-bg-subtle);box-shadow:0 0 28px color-mix(in srgb,var(--glass-accent) 9%,transparent)}.skill-cloud{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.7rem;margin:2rem 0;padding:0;list-style:none}.skill-cloud li{display:flex;min-height:105px;flex-direction:column;justify-content:space-between;gap:1rem;padding:1rem;border:1px solid var(--glass-border);border-radius:18px;color:var(--ink);background:var(--glass-bg-subtle);box-shadow:none;font-size:.76rem;font-weight:650;animation:skill-enter .38s cubic-bezier(.22,1,.36,1) both;animation-delay:var(--skill-delay);transition:transform .18s ease,border-color .18s ease,background .18s ease}.skill-cloud svg{width:24px;height:24px;filter:none}.skill-stage-foot{display:flex;justify-content:space-between;gap:1rem;margin-top:auto;padding-top:1rem;border-top:1px solid var(--surface-line);color:var(--ink-muted);font-size:.64rem;font-weight:650;letter-spacing:.08em;text-transform:uppercase}.experience-timeline{position:relative}.hero-ai-link{margin-top:.75rem}.ai-work{margin-top:clamp(3rem,6vw,5rem);scroll-margin-top:6rem}.ai-work-heading{max-width:760px;margin-bottom:1.75rem}.ai-work-eyebrow{display:flex;align-items:center;gap:.5rem;color:var(--accent-ink);font-size:.75rem;font-weight:700;letter-spacing:.08em}.ai-work-eyebrow svg{width:18px;height:18px;flex-shrink:0}.ai-work h3{margin:.9rem 0;color:var(--ink-strong);font-size:clamp(1.8rem,3.4vw,3rem);font-weight:700;line-height:1.15;letter-spacing:-.045em;text-wrap:balance}.ai-work p{margin:0;color:var(--ink-muted);font-size:1rem;line-height:1.7}.ai-work-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem}.ai-work-grid-single{grid-template-columns:1fr}.ai-focus-card,.ai-project-card{min-width:0;padding:clamp(1.25rem,3vw,2rem)}.ai-work h4,.ai-work h5{margin:0;color:var(--ink-strong);font-weight:650}.ai-work h4{font-size:1rem}.ai-work h5{font-size:1rem;line-height:1.5}.ai-tool-list{display:flex;flex-wrap:wrap;gap:.5rem;margin:1rem 0;padding:0;list-style:none}.ai-tool-list li{padding:.5rem .85rem;border:1px solid var(--glass-border);border-radius:999px;color:var(--accent-ink);background:var(--glass-bg-subtle);font-size:.875rem;font-weight:650}.ai-work .ai-tools-note{margin-bottom:1.75rem;font-size:.875rem}.ai-focus-list{display:grid;gap:1.25rem;margin:1.25rem 0 0;padding:0;list-style:none}.ai-focus-list li{display:flex;align-items:flex-start;gap:.75rem}.ai-focus-list svg{width:18px;height:18px;flex-shrink:0;margin-top:3px;color:var(--accent-ink)}.ai-focus-list p{margin-top:.25rem;font-size:.875rem}.ai-project-card{display:flex;flex-direction:column;align-items:flex-start}.ai-project-card>h4{margin-top:1rem;font-size:1.5rem;line-height:1.3;letter-spacing:-.025em}.ai-project-identity{display:flex;align-items:center;gap:1rem;margin:1.75rem 0}.ai-project-identity img{width:80px;height:80px;flex-shrink:0;-o-object-fit:cover;object-fit:cover;border-radius:18px}.ai-project-identity h5{font-size:1.125rem}.ai-project-identity p{margin-top:.25rem;font-size:.875rem}.ai-project-card .project-tech{margin:1.5rem 0}.ai-project-card .project-tech li{font-size:.75rem}.ai-work .text-link{max-width:100%;width:auto;margin-top:auto}.experience-entry{display:grid;grid-template-columns:64px 230px minmax(0,1fr);gap:1.25rem;align-items:start}.experience-entry+.experience-entry{margin-top:1.25rem}.experience-rail{position:relative;align-self:stretch;display:flex;justify-content:center;padding-top:1.35rem}.experience-rail:before{content:"";position:absolute;top:0;bottom:-1.25rem;left:50%;width:1px;background:linear-gradient(var(--surface-line),color-mix(in srgb,var(--cyan) 28%,var(--surface-line)),var(--surface-line))}.experience-entry:first-child .experience-rail:before{top:1.35rem}.experience-entry:last-child .experience-rail:before{bottom:calc(100% - 1.4rem)}.experience-rail>span{position:relative;z-index:1;display:grid;width:42px;height:42px;place-items:center;border:1px solid var(--glass-border);border-radius:50%;color:var(--ink-muted);background:color-mix(in srgb,hsl(var(--background)) 86%,var(--glass-bg));box-shadow:0 8px 20px #0000002e;font-size:.65rem;font-weight:750}.experience-rail>span.is-current{color:var(--action-ink);border-color:var(--primary-color);background:var(--primary-color);box-shadow:none}.experience-meta{padding-top:1.25rem}.experience-period{display:block;color:var(--ink-strong);font-size:.86rem;font-weight:700}.current-role{display:inline-flex;align-items:center;gap:.42rem;margin-top:.7rem;padding:.3rem .6rem;border:1px solid color-mix(in srgb,var(--mint) 28%,var(--glass-border));border-radius:999px;color:var(--accent-ink);background:var(--glass-bg-subtle);font-size:.62rem;font-weight:700}.current-role i{width:6px;height:6px;border-radius:50%;background:var(--mint);box-shadow:0 0 9px var(--mint)}.experience-meta p{display:flex;align-items:flex-start;gap:.45rem;margin:1rem 0 0;color:var(--ink-muted);font-size:.72rem;line-height:1.5}.experience-meta p svg{width:14px;height:14px;flex:0 0 auto;margin-top:.15rem}.experience-card{padding:clamp(1.35rem,3vw,2.3rem);transition:transform .22s ease,border-color .22s ease}.experience-card-head{display:flex;align-items:center;gap:1rem}.experience-company-icon{display:grid;width:52px;height:52px;flex:0 0 auto;place-items:center;border:1px solid color-mix(in srgb,var(--glass-accent) 25%,var(--glass-border));border-radius:16px;color:var(--accent-ink);background:var(--glass-bg-subtle)}.experience-company-icon svg{width:22px;height:22px}.experience-card-head span{color:var(--accent-ink);font-size:.72rem;font-weight:700;letter-spacing:.02em}.experience-card h3{margin:.15rem 0 0;color:var(--ink-strong);font-size:clamp(1.35rem,2.3vw,2rem);font-weight:690;letter-spacing:-.04em;line-height:1.15}.experience-description{margin:1.4rem 0;color:var(--ink-muted);font-size:.9rem;line-height:1.75}.experience-achievements{display:grid;gap:.68rem;margin:0;padding:0;list-style:none}.experience-achievements li{display:flex;align-items:flex-start;gap:.65rem;color:var(--ink);font-size:.82rem;line-height:1.55}.experience-achievements svg{width:17px;height:17px;flex:0 0 auto;margin-top:.15rem;padding:3px;border-radius:50%;color:var(--action-ink);background:var(--mint)}.experience-tech{display:flex;flex-wrap:wrap;gap:.45rem;margin-top:1.5rem;padding-top:1.25rem;border-top:1px solid var(--surface-line)}.experience-tech span,.project-tech li{padding:.32rem .65rem;border:1px solid var(--glass-border);border-radius:999px;color:var(--ink);background:var(--glass-bg-subtle);font-size:.65rem;font-weight:650}.featured-projects{display:grid;gap:clamp(1.2rem,3vw,2.5rem)}.project-showcase{display:grid;grid-template-columns:minmax(0,.92fr) minmax(420px,1.08fr);min-height:620px;padding:clamp(1.2rem,3vw,2.25rem)}.project-showcase.project-reverse .project-copy{order:2;padding-right:0;padding-left:clamp(1.5rem,5vw,5rem)}.project-showcase.project-reverse .project-visual{order:1}.project-copy{display:flex;flex-direction:column;justify-content:center;padding:clamp(1rem,3vw,2.5rem) clamp(1.5rem,5vw,5rem) clamp(1rem,3vw,2.5rem) clamp(.2rem,1vw,1rem)}.project-index{display:flex;align-items:center;gap:.9rem;margin-bottom:1.7rem;color:var(--accent-ink);font-size:.62rem;font-weight:750;letter-spacing:.13em}.project-index i{width:50px;height:1px;background:color-mix(in srgb,var(--glass-accent) 36%,transparent)}.project-role{color:var(--ink-muted);font-size:.72rem;font-weight:650;letter-spacing:.04em;text-transform:uppercase}.project-copy h3{margin:.55rem 0 1.2rem;color:var(--ink-strong);font-size:clamp(2.45rem,4.4vw,4.9rem);font-weight:720;letter-spacing:-.06em;line-height:.95}.project-copy>p{margin:0;color:var(--ink-muted);font-size:.92rem;line-height:1.75}.project-tech{display:flex;flex-wrap:wrap;gap:.45rem;margin:1.5rem 0 0;padding:0;list-style:none}.project-links{display:flex;flex-wrap:wrap;gap:.55rem;margin-top:1.8rem}.project-links a{display:inline-flex;min-height:44px;align-items:center;gap:.45rem;padding:.58rem .8rem;border:1px solid var(--action-border);border-radius:999px;color:var(--accent-ink);background:var(--action-soft);box-shadow:inset 0 1px color-mix(in srgb,white 24%,transparent);font-size:.7rem;font-weight:700;transition:transform .18s ease,border-color .18s ease,color .18s ease,background .18s ease,box-shadow .18s ease}.project-links a:hover{color:var(--action-ink);border-color:var(--action);background:var(--action);transform:translateY(-2px);box-shadow:0 10px 22px color-mix(in srgb,var(--action) 20%,transparent)}.project-links svg{width:15px;height:15px}.project-links svg:last-child{width:13px;height:13px}.project-visual{position:relative;display:grid;min-height:540px;place-items:center;overflow:hidden;border:1px solid var(--surface-line);border-radius:26px;background:linear-gradient(var(--surface-line) 1px,transparent 1px),linear-gradient(90deg,var(--surface-line) 1px,transparent 1px),var(--glass-bg-subtle);background-size:48px 48px,48px 48px,auto}.project-light{display:none}.project-frame{position:relative;width:min(74%,440px);overflow:hidden;border:1px solid var(--glass-border);border-radius:34px;background:var(--glass-bg);box-shadow:0 20px 48px #00000038;transform:rotate(-2deg);transition:transform .5s cubic-bezier(.22,1,.36,1),box-shadow .3s ease}.project-showcase:nth-child(2n) .project-frame{transform:rotate(2deg)}.project-frame-top,.project-frame-bottom{display:flex;min-height:46px;align-items:center;justify-content:space-between;padding:0 1.1rem;color:var(--ink-muted);font-size:.54rem;font-weight:750;letter-spacing:.12em}.project-frame-top span:first-child{width:42px;height:6px;border-radius:999px;background:var(--surface-line)}.project-frame img{display:block;width:calc(100% - 1rem);margin-inline:auto;aspect-ratio:1;border:1px solid var(--surface-line);border-radius:24px;-o-object-fit:cover;object-fit:cover}.project-frame-bottom{min-height:52px}.additional-projects{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-top:clamp(1.2rem,3vw,2.5rem)}.project-card{position:relative;overflow:hidden;border:1px solid var(--glass-border);border-radius:26px;background:var(--glass-bg);box-shadow:var(--glass-shadow);backdrop-filter:blur(var(--glass-blur)) saturate(140%);-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(140%);transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease}.project-card-image{position:relative;overflow:hidden;aspect-ratio:1.45;margin:.7rem;border:1px solid var(--surface-line);border-radius:19px;background:var(--glass-bg-subtle)}.project-card-image:after{content:none}.project-card-image img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;transition:transform .5s cubic-bezier(.22,1,.36,1)}.project-card-image img.project-card-image-contain{-o-object-fit:contain;object-fit:contain;background:#101010}.project-card-image>span{position:absolute;right:.7rem;bottom:.7rem;z-index:1;display:grid;width:34px;height:34px;place-items:center;border:1px solid var(--glass-border-bright);border-radius:50%;color:#fff;background:#0009;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);font-size:.6rem;font-weight:700}.project-card-body{position:relative;padding:.75rem 1.2rem 1.3rem}.project-card-body>span{color:var(--accent-ink);font-size:.58rem;font-weight:750;letter-spacing:.12em;text-transform:uppercase}.project-card-body h3{margin:.35rem 0 .7rem;color:var(--ink-strong);font-size:1.35rem;font-weight:680;letter-spacing:-.035em;line-height:1.15}.project-card-body>p{display:-webkit-box;min-height:4.5em;margin:0;overflow:hidden;color:var(--ink-muted);font-size:.78rem;line-height:1.55;-webkit-box-orient:vertical;-webkit-line-clamp:3}.project-card .project-tech{margin-top:1rem;padding-right:3rem}.project-card .project-tech li{padding:.24rem .5rem;font-size:.58rem}.project-card-links{position:absolute;right:1.15rem;bottom:1.25rem;display:flex;gap:.35rem}.project-card-links a{display:grid;width:36px;height:36px;place-items:center;border:1px solid var(--action-border);border-radius:50%;color:var(--accent-ink);background:var(--action-soft);transition:color .18s ease,border-color .18s ease,background .18s ease,transform .18s ease,box-shadow .18s ease}.project-card-links a:hover{color:var(--action-ink);border-color:var(--action);background:var(--action);transform:translateY(-2px);box-shadow:0 8px 18px color-mix(in srgb,var(--action) 20%,transparent)}.project-card-links svg{width:15px;height:15px}.contact-layout{display:grid;grid-template-columns:minmax(0,.94fr) minmax(430px,1.06fr);gap:1rem}.contact-conversion,.contact-form-shell{padding:clamp(1.4rem,4vw,3rem)}.contact-conversion{display:flex;min-height:670px;flex-direction:column}.contact-label{color:var(--accent-ink);font-size:.62rem;font-weight:750;letter-spacing:.14em}.contact-conversion h3{max-width:600px;margin:auto 0 1.1rem;color:var(--ink-strong);font-size:clamp(2.6rem,5vw,5.6rem);font-weight:720;letter-spacing:-.065em;line-height:.93}.contact-conversion>p{max-width:590px;margin:0 0 2rem;color:var(--ink-muted);font-size:.94rem;line-height:1.75}.contact-details{display:grid;border-top:1px solid var(--surface-line)}.contact-details a{display:grid;grid-template-columns:38px minmax(0,1fr) 18px;gap:.8rem;align-items:center;min-height:72px;border-bottom:1px solid var(--surface-line);color:var(--ink);transition:color .18s ease,background .18s ease,padding-left .18s ease}.contact-details a:hover{color:var(--accent-ink);background:linear-gradient(90deg,var(--action-soft),transparent 76%);padding-left:.4rem}.contact-details>a>svg:first-child{width:18px;height:18px;color:var(--accent-ink)}.contact-details>a>svg:last-child{width:15px;height:15px}.contact-details span{display:flex;min-width:0;flex-direction:column}.contact-details small{color:var(--ink-muted);font-size:.58rem;text-transform:uppercase;letter-spacing:.08em}.contact-details strong{overflow:hidden;font-size:.76rem;text-overflow:ellipsis;white-space:nowrap}.contact-network{display:flex;flex-wrap:wrap;gap:.55rem;margin-top:1.5rem}.contact-network a{display:inline-flex;min-height:44px;align-items:center;gap:.45rem;padding:.55rem .8rem;border:1px solid var(--action-border);border-radius:999px;color:var(--accent-ink);background:var(--action-soft);font-size:.7rem;font-weight:700;transition:border-color .18s ease,color .18s ease,background .18s ease,transform .18s ease,box-shadow .18s ease}.contact-network a:hover{color:var(--action-ink);border-color:var(--action);background:var(--action);transform:translateY(-2px);box-shadow:0 8px 18px color-mix(in srgb,var(--action) 20%,transparent)}.contact-network svg{width:15px;height:15px}.contact-form-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1.6rem;padding-bottom:1rem;border-bottom:1px solid var(--surface-line);color:var(--ink-muted);font-size:.6rem;font-weight:750;letter-spacing:.12em}.contact-form-head div{display:flex;gap:.35rem}.contact-form-head div span{width:7px;height:7px;border-radius:50%;background:var(--cyan);opacity:.75}.contact-form-head div span:nth-child(2){background:var(--violet)}.contact-form-head div span:nth-child(3){background:var(--orange)}.contact-form-shell form{display:grid;gap:1.1rem}.form-field label{display:block;margin-bottom:.4rem;color:var(--ink);font-size:.68rem;font-weight:700;letter-spacing:.025em}.glass-input{width:100%;min-height:50px;padding:.65rem .8rem;border:1px solid var(--glass-border);border-radius:15px;color:var(--ink-strong);background:var(--glass-bg-subtle);box-shadow:none;font-size:.88rem;transition:border-color .18s ease,box-shadow .18s ease,background .18s ease}.glass-input::-moz-placeholder{color:color-mix(in srgb,var(--ink-muted) 72%,transparent)}.glass-input::placeholder{color:color-mix(in srgb,var(--ink-muted) 72%,transparent)}.glass-input:focus-visible{border-color:color-mix(in srgb,var(--action) 72%,var(--glass-border));background:color-mix(in srgb,var(--action) 5%,var(--glass-bg-subtle));box-shadow:0 0 0 4px color-mix(in srgb,var(--action) 14%,transparent),0 0 28px color-mix(in srgb,var(--action) 9%,transparent);outline:0}.glass-input[aria-invalid=true]{border-color:hsl(var(--destructive))}.contact-message{min-height:128px;resize:vertical}.form-error,.form-note,.form-status{margin:.35rem 0 0;font-size:.66rem;line-height:1.45}.form-error{color:hsl(var(--destructive))}.form-note{color:var(--ink-muted)}.form-status{color:var(--accent-ink)}.contact-submit{width:100%;margin-top:.25rem}.site-footer{padding:0 0 calc(6.5rem + env(safe-area-inset-bottom,0px))}.footer-shell{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:1.5rem;align-items:center;min-height:92px;padding:1rem 1.15rem;border:1px solid var(--glass-border);border-radius:26px;background:var(--glass-bg-subtle);box-shadow:none;backdrop-filter:blur(var(--glass-blur)) saturate(140%);-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(140%)}.footer-brand{display:flex;align-items:center;gap:.7rem}.footer-logo-frame{display:grid;width:44px;height:44px;flex:0 0 44px;overflow:hidden;place-items:center;border:0;border-radius:50%;box-shadow:0 5px 14px #00000029}.footer-logo-frame img{display:block;width:100%;height:100%;-o-object-fit:cover;object-fit:cover;transform:scale(1.33)}.footer-brand div{display:flex;flex-direction:column;line-height:1.25}.footer-brand strong{color:var(--ink-strong);font-size:.78rem}.footer-brand small{color:var(--ink-muted);font-size:.62rem}.footer-shell>p{margin:0;color:var(--ink-muted);font-size:.66rem;text-align:center}.footer-actions{display:flex;justify-content:flex-end;gap:.35rem}.footer-actions a{display:grid;width:40px;height:40px;place-items:center;padding:0;border:1px solid var(--action-border);border-radius:50%;color:var(--accent-ink);background:var(--action-soft);cursor:pointer;transition:color .18s ease,border-color .18s ease,background .18s ease,transform .18s ease,box-shadow .18s ease}.footer-actions a:hover{color:var(--action-ink);border-color:var(--action);background:var(--action);transform:translateY(-2px);box-shadow:0 8px 18px color-mix(in srgb,var(--action) 20%,transparent)}.footer-actions svg{width:16px;height:16px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.\!visible{visibility:visible!important}.visible{visibility:visible}.static{position:static}.absolute{position:absolute}.sticky{position:sticky}.block{display:block}.inline-flex{display:inline-flex}.table{display:table}.hidden{display:none}.h-10{height:2.5rem}.h-11{height:2.75rem}.h-\[1\.2rem\]{height:1.2rem}.min-h-screen{min-height:100vh}.w-\[1\.2rem\]{width:1.2rem}.rotate-0{--tw-rotate: 0deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-90{--tw-rotate: 90deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-0{--tw-scale-x: 0;--tw-scale-y: 0;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-100{--tw-scale-x: 1;--tw-scale-y: 1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.resize{resize:both}.items-center{align-items:center}.justify-center{justify-content:center}.gap-2{gap:.5rem}.whitespace-nowrap{white-space:nowrap}.bg-background{background-color:hsl(var(--background))}.px-4{padding-left:1rem;padding-right:1rem}.px-8{padding-left:2rem;padding-right:2rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.text-sm{font-size:.875rem;line-height:1.25rem}.blur{--tw-blur: blur(8px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/assets/inter-latin-wght-normal-Dx4kXJAl.woff2) format("woff2")}@keyframes status-pulse{0%,to{opacity:.72;transform:scale(.9)}50%{opacity:1;transform:scale(1)}}@keyframes cue-drift{0%,to{transform:translate(0)}50%{transform:translate(3px,3px)}}@keyframes hero-enter{0%{opacity:0;transform:translateY(22px);filter:blur(5px)}to{opacity:1;transform:translateY(0);filter:blur(0)}}@media(min-width:640px){.page-container{width:min(100% - 48px,1440px)}.nav-external{display:inline-flex}}@media(min-width:900px){.nav-links{display:flex}.nav-menu-button,.mobile-menu{display:none}}@media(min-width:900px)and (max-width:1199px){.brand-copy{display:none}.brand-mark{gap:0}.nav-shell{gap:.5rem}.nav-links{gap:0}.nav-links button{padding-inline:.5rem}.nav-actions{flex-shrink:0}}@media(max-width:1180px){.hero-layout{grid-template-columns:minmax(0,1fr) minmax(390px,.78fr);gap:2rem}}@media(max-width:900px){.hero-section{padding-top:8rem}.hero-layout{grid-template-columns:1fr}.hero-copy{text-align:center}.availability-badge{margin-inline:auto}.hero-eyebrow,.hero-actions,.hero-socials{justify-content:center}.hero-intro{margin-inline:auto}.hero-proof{margin-inline:auto;text-align:left}.hero-visual{width:min(100%,580px);margin:3.5rem auto 0}.scroll-cue{display:none}}@media(max-width:639px){.glass-navbar{top:10px;width:calc(100% - 20px)}.nav-shell{min-height:60px;padding:7px}.brand-copy{display:none}.nav-icon-button,.nav-menu-button,.brand-logo-frame{width:44px;height:44px}.mobile-menu-links{grid-template-columns:1fr}.hero-section{min-height:auto;padding:7.5rem 0 5rem}.hero-title{margin-top:.9rem;font-size:clamp(2.95rem,15vw,4.25rem)}.hero-eyebrow{justify-content:center;margin-top:1.4rem;font-size:.66rem}.hero-eyebrow span:nth-child(2),.hero-eyebrow span:nth-child(3){display:none}.hero-intro{font-size:.98rem;line-height:1.7}.hero-actions{flex-direction:column}.hero-actions .glass-button{width:100%}.hero-proof{grid-template-columns:1fr;gap:.9rem;text-align:left}.hero-proof>div{padding:0}.hero-proof>div+div{padding:.9rem 0 0;border-top:1px solid var(--surface-line);border-left:0}.hero-socials{margin-top:1.4rem}.hero-visual{margin-top:3rem}}@media(max-width:374px){.mobile-menu-actions{grid-template-columns:1fr}.mobile-menu-actions a{justify-content:flex-start;padding-inline:.8rem}.availability-badge{font-size:.68rem}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.hero-reveal,.animate-on-scroll{opacity:1;filter:none;transform:none}}@supports not (backdrop-filter: blur(1px)){.glass-surface,.nav-shell,.mobile-menu,.glass-button,.availability-badge,.hero-socials a{background:hsl(var(--card))}}@keyframes skill-enter{0%{opacity:0;transform:translateY(10px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@media(max-width:1180px){.why-item{min-height:320px}.skill-cloud{grid-template-columns:repeat(3,minmax(0,1fr))}.project-showcase{grid-template-columns:minmax(0,.9fr) minmax(380px,1.1fr)}.additional-projects{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:980px){.about-body{display:contents}.text-link{grid-column:1 / -1;width:-moz-max-content;width:max-content}.why-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.skills-workbench{grid-template-columns:1fr}.skill-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.skill-tabs button:hover,.skill-tabs button.is-active{transform:translateY(-2px)}.experience-entry{grid-template-columns:56px 190px minmax(0,1fr);gap:.85rem}.project-showcase{grid-template-columns:1fr}.project-showcase .project-copy,.project-showcase.project-reverse .project-copy{order:1;padding:1rem 1rem 2rem}.project-showcase .project-visual,.project-showcase.project-reverse .project-visual{order:2}.contact-layout{grid-template-columns:1fr}.contact-conversion{min-height:620px}}@media(max-width:767px){.ai-work-grid{grid-template-columns:1fr}.portfolio-section{--section-space: 4rem}.about-body{display:grid}.text-link{display:inline-flex}.why-intro{display:grid}.why-intro p{text-align:left}.why-grid{grid-template-columns:1fr}.why-item{min-height:250px}.skill-tabs{display:flex;flex-direction:row;overflow-x:auto;padding:3px 3px .5rem;scroll-snap-type:x proximity;scrollbar-width:none}.skill-tabs::-webkit-scrollbar{display:none}.skill-tabs button{min-width:180px;scroll-snap-align:start}.skill-stage{min-height:auto}.skill-cloud{grid-template-columns:repeat(2,minmax(0,1fr))}.experience-entry{grid-template-columns:46px minmax(0,1fr);gap:.65rem}.experience-meta{grid-column:2;padding-top:.2rem;padding-bottom:.7rem}.experience-card{grid-column:2}.experience-rail{grid-row:1 / span 2}.experience-rail:before{bottom:-.6rem}.experience-meta p{margin-top:.6rem}.project-showcase{min-height:auto}.project-visual{min-height:480px}.project-frame{width:min(78%,380px)}.footer-shell{grid-template-columns:1fr auto}.footer-shell>p{grid-column:1 / -1;grid-row:2;text-align:left}}@media(max-width:560px){.why-shell{padding:.7rem;border-radius:26px!important}.why-intro{padding:1rem .7rem 1.5rem}.why-item{padding:1.25rem}.skill-stage{padding:1rem;border-radius:26px!important}.skill-stage-head>svg{width:48px;height:48px;padding:10px;border-radius:16px}.skill-cloud{gap:.5rem;margin-block:1.2rem}.skill-cloud li{min-height:94px;padding:.8rem;font-size:.68rem}.skill-stage-foot{font-size:.54rem}.experience-entry{grid-template-columns:36px minmax(0,1fr)}.experience-rail>span{width:34px;height:34px}.experience-card-head{align-items:flex-start}.experience-company-icon{width:44px;height:44px;border-radius:14px}.experience-card{padding:1.1rem;border-radius:22px!important}.project-showcase{padding:.75rem;border-radius:26px!important}.project-showcase .project-copy,.project-showcase.project-reverse .project-copy{padding:1rem .55rem 1.6rem}.project-copy h3{font-size:clamp(2.2rem,12vw,3.4rem)}.project-visual{min-height:400px;border-radius:20px}.project-frame{width:84%;border-radius:27px}.project-frame img{border-radius:18px}.additional-projects{grid-template-columns:1fr}.contact-conversion,.contact-form-shell{padding:1.2rem;border-radius:26px!important}.contact-conversion{min-height:590px}.contact-conversion h3{font-size:clamp(2.6rem,14vw,4rem)}.contact-details a{grid-template-columns:28px minmax(0,1fr) 16px}.contact-details strong{font-size:.7rem}.footer-shell{padding:.9rem}.footer-brand div{display:none}}.glass-navbar.is-scrolled{width:min(calc(100% - 64px),1230px);top:12px}.brand-copy{max-width:170px;overflow:hidden;opacity:1;white-space:nowrap;transition:max-width .42s ease,opacity .25s ease}.glass-navbar.is-scrolled .brand-copy{max-width:0;opacity:0}.glass-navbar.is-scrolled .brand-mark{gap:0}.nav-links button.is-active{color:var(--accent-ink);background:hsl(var(--accent))}.nav-links button:after{background:var(--action)}.mobile-menu-links button.is-active{color:var(--accent-ink);background:var(--glass-bg)}.availability-badge>span{box-shadow:none;animation:none}.hero-socials a:hover,.text-link{color:var(--accent-ink)}.project-card-links{position:static;margin-top:1rem}.project-card-links a{width:44px;height:44px}.project-card .project-tech{padding-right:0}.footer-actions a{width:44px;height:44px}.scroll-controls{--scroll-progress: 0}.back-to-top{position:fixed;right:max(24px,env(safe-area-inset-right));bottom:max(24px,env(safe-area-inset-bottom));z-index:55;display:grid;width:50px;height:50px;place-items:center;border:1px solid var(--glass-border);border-radius:50%;color:var(--ink-strong);background:var(--nav-bg);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);box-shadow:0 8px 24px #00000024;cursor:pointer;visibility:hidden;opacity:0;transform:translateY(12px);transition:opacity .22s ease,transform .22s ease,visibility .22s}.back-to-top.is-visible{visibility:visible;opacity:1;transform:none}.back-to-top:hover{color:var(--accent-ink);border-color:var(--action);transform:translateY(-3px)}.back-to-top svg{width:21px;height:21px}.back-to-top .back-to-top-ring{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;transform:rotate(-90deg)}.back-to-top-ring circle{fill:none;stroke:var(--action);stroke-width:1.6;stroke-dasharray:1;stroke-dashoffset:calc(1 - var(--scroll-progress));stroke-linecap:round}body.menu-open .back-to-top{visibility:hidden;opacity:0}.experience-timeline{--rail-center: 32px}.experience-rail:before{display:none}.experience-progress-rail{position:absolute;left:var(--rail-center);top:calc(1.35rem + 21px);bottom:28px;width:2px;background:var(--surface-line)}.experience-progress-rail>span{display:block;height:100%;background:var(--action);transform:scaleY(var(--scroll-progress, 0));transform-origin:top;transition:transform .12s linear}.experience-rail>span.is-current{color:var(--action-ink);background:var(--action);border-color:transparent;box-shadow:none}.experience-rail>span{transition:color .3s ease,background .3s ease,border-color .3s ease}.experience-rail>span[data-reached=true]{color:var(--action-ink);background:var(--action);border-color:var(--action)}.about-profile-layout{display:grid;grid-template-columns:minmax(280px,.78fr) minmax(0,1.22fr);align-items:center;gap:clamp(2.5rem,7vw,7rem)}.about-portrait-card.glass-surface{padding:12px;border-radius:28px}.about-photo{overflow:hidden;border-radius:19px;aspect-ratio:.9;background:var(--glass-bg-subtle)}.about-photo img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;-o-object-position:center 35%;object-position:center 35%}.about-photo-caption{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.2rem .65rem .7rem}.about-photo-caption>div{display:flex;flex-direction:column;gap:.2rem}.about-photo-caption strong{color:var(--ink-strong);font-size:1.15rem;letter-spacing:-.025em}.about-photo-caption div>span{color:var(--ink-muted);font-size:.72rem}.profile-status{width:8px;height:8px;flex-shrink:0;border-radius:50%;background:var(--mint)}.about-location{display:flex;gap:.4rem;align-items:center;padding:0 .65rem;margin:0 0 .5rem;color:var(--ink-muted);font-size:.68rem}.about-location svg{width:13px;height:13px}.about-intro-label{color:var(--accent-ink);font-size:.65rem;font-weight:700;letter-spacing:.11em}.about-profile-copy h3{max-width:760px;margin:1rem 0 1.6rem;color:var(--ink-strong);font-size:clamp(2rem,3.3vw,3.2rem);line-height:1.13;font-weight:650;letter-spacing:-.045em}.about-profile-copy .about-body{display:grid;max-width:710px}.about-profile-copy .about-body p{font-size:.92rem;line-height:1.8}.about-facts{display:grid;grid-template-columns:.8fr 1.2fr .9fr;gap:1.2rem;margin-top:2rem;padding:1.3rem 0;border-block:1px solid var(--surface-line)}.about-facts>div{display:flex;flex-direction:column;gap:.3rem}.about-facts strong{color:var(--ink-strong);font-size:clamp(1.25rem,2vw,1.75rem);font-weight:650;letter-spacing:-.04em;white-space:nowrap}.about-facts span{color:var(--ink-muted);font-size:.67rem}.about-current-role{display:flex;align-items:center;gap:.75rem;margin-top:1.5rem;padding:1rem 1.1rem;border:1px solid var(--glass-border);border-radius:18px;background:var(--glass-bg-subtle)}.about-current-role>svg{flex:0 0 auto;width:20px;color:var(--accent-ink)}.about-current-role>div{display:grid;gap:2px}.about-current-role div span{color:var(--ink-muted);font-size:.67rem}.about-current-role strong{color:var(--ink-strong);font-size:.8rem;font-weight:600}.about-current-role>span{margin-left:auto;padding:.3rem .6rem;border:1px solid var(--glass-border);border-radius:999px;color:var(--ink-muted);font-size:.65rem}@media(max-width:980px){.about-profile-layout{grid-template-columns:minmax(240px,.7fr) minmax(0,1fr);gap:2rem;align-items:start}.experience-timeline{--rail-center: 28px}}@media(max-width:767px){.about-profile-layout{grid-template-columns:1fr}.about-portrait-card{width:min(100%,440px);margin-inline:auto}.experience-timeline{--rail-center: 23px}}@media(max-width:639px){.glass-navbar{top:12px;width:calc(100% - 24px)}.glass-navbar.is-scrolled{top:9px;width:calc(100% - 36px)}.nav-shell{min-height:66px;padding:10px}.glass-navbar.is-scrolled .nav-shell{min-height:58px;padding:6px}.back-to-top{right:16px;bottom:max(20px,env(safe-area-inset-bottom));width:46px;height:46px}.about-facts{gap:.6rem}.about-facts strong{font-size:1.25rem}.about-facts span{font-size:.6rem}}@media(max-width:560px){.experience-timeline{--rail-center: 18px}.experience-progress-rail{top:calc(1.35rem + 17px)}.about-current-role{padding-inline:.75rem;gap:.6rem}.about-current-role>span{display:none}}@media(prefers-reduced-motion:reduce){.experience-progress-rail>span{transition:none}}.portfolio-card{--card-lift: -4px;transition:translate .24s ease,border-color .24s ease,background-color .24s ease,box-shadow .24s ease}.why-item.portfolio-card,.contact-form-shell.portfolio-card{--card-lift: 0px}.portfolio-card:focus-within{border-color:var(--accent-ink);box-shadow:var(--glass-shadow),inset 0 0 0 1px var(--accent-ink)}.portfolio-card[data-touch-active]{translate:0 var(--card-lift);border-color:color-mix(in srgb,var(--action) 65%,var(--glass-border));background-color:var(--glass-bg-strong);box-shadow:var(--glass-shadow-float),inset 0 0 0 1px color-mix(in srgb,var(--action) 25%,transparent);transition-duration:.12s}.why-item.portfolio-card[data-touch-active]{box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--action) 65%,transparent)}@media(hover:hover)and (pointer:fine){.portfolio-card:hover{translate:0 var(--card-lift);border-color:color-mix(in srgb,var(--action) 65%,var(--glass-border));background-color:var(--glass-bg-strong);box-shadow:var(--glass-shadow-float),inset 0 0 0 1px color-mix(in srgb,var(--action) 25%,transparent)}.why-item.portfolio-card:hover{box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--action) 65%,transparent)}}@media(hover:hover)and (pointer:fine)and (prefers-reduced-motion:no-preference){.project-showcase:hover .project-frame{transform:rotate(0) translateY(-5px)}.project-card:hover .project-card-image img{transform:scale(1.035)}}@media(prefers-reduced-motion:reduce){.portfolio-card{--card-lift: 0px}}@media(prefers-reduced-motion:no-preference){.project-showcase[data-touch-active] .project-frame{transform:rotate(0) translateY(-5px)}.project-card[data-touch-active] .project-card-image img{transform:scale(1.035)}}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:opacity-50:disabled{opacity:.5}.dark\:-rotate-90:is(.dark *){--tw-rotate: -90deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.dark\:rotate-0:is(.dark *){--tw-rotate: 0deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.dark\:scale-0:is(.dark *){--tw-scale-x: 0;--tw-scale-y: 0;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.dark\:scale-100:is(.dark *){--tw-scale-x: 1;--tw-scale-y: 1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.\[\&_svg\]\:pointer-events-none svg{pointer-events:none}.\[\&_svg\]\:size-4 svg{width:1rem;height:1rem}.\[\&_svg\]\:shrink-0 svg{flex-shrink:0}.hero-layout{grid-template-columns:minmax(0,1fr) minmax(0,1.04fr);gap:clamp(2rem,4vw,4.5rem)}.hero-section{padding:9rem 0 5.5rem}.hero-title{font-size:clamp(3.2rem,5.8vw,5.65rem);line-height:1.02;letter-spacing:-.06em}.hero-visual{width:100%;max-width:680px;perspective:none}.hero-eyebrow{letter-spacing:.08em}.typing-line{min-height:3.4rem;margin:0 0 .8rem;color:var(--ink-muted);font-size:clamp(1rem,1.65vw,1.4rem);line-height:1.5;letter-spacing:-.02em}.typing-line strong{color:var(--ink-strong);font-weight:600}.typing-line i,.code-caret{display:inline-block;width:2px;height:1em;margin-left:3px;vertical-align:-.12em;background:var(--action);animation:caret-blink 1s step-end infinite}.mobile-studio{position:relative;height:720px;isolation:isolate;text-align:left}.studio-caption{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:0 .4rem 1rem;color:var(--ink-muted);font-size:.57rem;font-weight:650;letter-spacing:.1em}.studio-caption>span:first-child{display:flex;align-items:center;gap:.5rem}.studio-caption svg{width:17px;height:17px;color:var(--accent-ink)}.studio-caption>span:last-child{letter-spacing:0;text-transform:none}.code-editor.glass-surface{width:calc(100% - 24px);border-radius:18px;background:hsl(var(--card));border-color:var(--glass-border);box-shadow:var(--glass-shadow-float);color:var(--ink)}.editor-titlebar{display:flex;height:44px;align-items:center;justify-content:space-between;padding:0 10px 0 14px;border-bottom:1px solid var(--surface-line);background:var(--glass-bg-subtle)}.editor-window-dots{display:flex;gap:5px}.editor-window-dots i{width:7px;height:7px;border-radius:50%;background:#d98389}.editor-window-dots i:nth-child(2){background:#d9b579}.editor-window-dots i:nth-child(3){background:#88b9a0}.editor-titlebar>span{display:flex;align-items:center;gap:6px;font-size:10px;color:var(--ink-muted)}.editor-titlebar>span svg{color:var(--accent-ink);width:14px;height:14px}.editor-titlebar button{display:grid;width:44px;height:44px;place-items:center;border-radius:8px;color:var(--ink);background:transparent;cursor:pointer;transition:background .18s ease}.editor-titlebar button:hover{background:hsl(var(--accent))}.editor-titlebar button:disabled{opacity:.4;cursor:default}.editor-titlebar button svg{width:14px;height:14px}.editor-body{display:grid;grid-template-columns:40px minmax(0,1fr)}.editor-activity{display:flex;flex-direction:column;align-items:center;gap:25px;padding-top:16px;border-right:1px solid var(--surface-line);color:var(--ink-muted)}.editor-activity svg{width:18px;height:18px}.editor-activity svg:first-child{color:var(--accent-ink)}.editor-pane{min-width:0}.editor-tabs{display:flex;height:37px;border-bottom:1px solid var(--surface-line)}.editor-tabs>span{display:flex;align-items:center;gap:8px;padding-inline:13px;border-top:2px solid var(--primary-color);border-right:1px solid var(--surface-line);background:var(--glass-bg-subtle);font:11px ui-monospace,SFMono-Regular,Consolas,monospace}.editor-tabs>small{margin:auto 12px auto auto;color:var(--ink-muted);font-size:8px;letter-spacing:.09em}.editor-tabs svg:first-child{width:13px;height:13px;color:var(--accent-ink)}.editor-tabs svg:last-child{width:7px;height:7px;fill:currentColor;color:var(--ink);margin-left:8px}.editor-breadcrumb{display:flex;align-items:center;gap:5px;height:31px;padding-inline:14px;color:var(--ink-muted);font-size:9px}.editor-breadcrumb svg{width:9px;height:9px}.editor-code{height:292px;padding:9px 0 25px;overflow:hidden;color:var(--ink)}.code-row{display:flex;min-height:20px;font:10px/20px ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.code-line-number{width:35px;flex:0 0 35px;padding-right:11px;color:var(--ink-muted);text-align:right;-webkit-user-select:none;-moz-user-select:none;user-select:none}.code-row code{white-space:pre;font:inherit}.syntax-keyword{color:var(--syntax-keyword)}.syntax-string{color:var(--syntax-string)}.code-caret{background:var(--primary-color)}.editor-statusbar{display:flex;height:29px;align-items:center;gap:16px;padding:0 12px;background:hsl(var(--muted));color:var(--ink);font-size:8px}.editor-statusbar span{display:inline-flex;align-items:center;gap:4px}.editor-statusbar span:last-child{margin-left:auto}.editor-statusbar svg{width:10px;height:10px}.iphone-preview{position:absolute;z-index:3;top:245px;right:0;width:233px;height:467px;padding:7px;border:1px solid #737373;border-radius:40px;background:#171717;box-shadow:0 24px 52px #0000004d}.iphone-hardware{position:absolute;left:-3px;top:97px;width:3px;height:33px;border-radius:2px 0 0 2px;background:#525252;box-shadow:0 42px #525252}.iphone-screen{position:relative;height:100%;overflow:hidden;border-radius:33px;background:hsl(var(--background));color:var(--ink-strong)}.iphone-status{position:relative;display:flex;height:38px;align-items:center;justify-content:space-between;padding:0 17px;font-size:9px;font-weight:700}.iphone-status>div{display:flex;gap:3px;align-items:center}.iphone-status svg{width:12px;height:12px}.dynamic-island{position:absolute;top:8px;left:50%;width:68px;height:20px;border-radius:999px;background:#0a0a0a;transform:translate(-50%)}.phone-app-toolbar{display:flex;align-items:center;justify-content:space-between;height:34px;padding:0 17px;color:var(--ink-muted);font-size:9px;font-weight:650}.phone-app-toolbar svg{width:17px;height:17px}.phone-content{padding:9px 17px;animation:phone-content-enter .35s ease both}.phone-eyebrow{color:var(--demo-accent);font-size:7px;font-weight:750;text-transform:uppercase;letter-spacing:.09em}.light .phone-eyebrow{color:var(--ink-muted)}.phone-content h3{margin:7px 0 8px;font-size:26px;line-height:1.05;font-weight:720;letter-spacing:-.055em}.phone-content>p{max-width:170px;margin:0;color:var(--ink-muted);font-size:8px;line-height:1.6}.phone-feature{display:flex;flex-direction:column;gap:11px;margin-top:12px;padding:12px;border:1px solid color-mix(in srgb,var(--demo-accent) 24%,var(--glass-border));border-radius:18px;background:var(--glass-bg);transition:background .35s ease,border-color .35s ease}.phone-feature>div,.phone-feature>span{display:flex;align-items:center;gap:5px;font-size:7px;color:var(--ink)}.phone-feature>div svg{width:18px;height:18px;color:var(--demo-accent)}.phone-feature>strong{color:var(--ink-strong);font-size:19px;line-height:1.1;font-weight:650;letter-spacing:-.035em}.phone-feature>span{color:var(--ink-muted)}.phone-feature>span svg{width:10px;height:10px}.phone-checklist{display:grid;gap:7px;margin-top:12px}.phone-checklist>div{display:flex;align-items:center;gap:6px;color:var(--ink-muted);font-size:8px}.phone-checklist>div:first-child{margin-bottom:2px;color:var(--ink);font-weight:650}.phone-checklist svg{width:10px;height:10px;color:var(--demo-accent)}.phone-action{display:flex;justify-content:space-between;align-items:center;margin-top:12px;padding:9px 11px;border-radius:10px;background:var(--demo-accent);color:var(--action-ink);font-size:7px;font-weight:700;transition:background .35s ease}.phone-action svg{width:10px;height:10px}.phone-refresh{position:absolute;left:10px;right:10px;bottom:25px;display:flex;align-items:center;justify-content:center;gap:6px;padding:9px;border-radius:12px;background:hsl(var(--popover));color:var(--ink-strong);font-size:8px;box-shadow:0 6px 20px #0003}.phone-refresh svg{width:11px;height:11px;animation:refresh-spin 1s linear infinite}.iphone-home{position:absolute;left:50%;bottom:6px;width:75px;height:4px;border-radius:999px;background:var(--ink);transform:translate(-50%)}.refresh-connection{display:flex;align-items:center;gap:10px;width:calc(100% - 265px);margin:28px 0 0 12px;color:var(--accent-ink)}.refresh-connection span{flex:1;border-top:1px dashed color-mix(in srgb,var(--action) 42%,transparent)}.refresh-connection svg{width:18px;height:18px}.refresh-connection .is-spinning{animation:refresh-spin 1s linear infinite}.studio-note{max-width:calc(100% - 260px);margin:22px 0 0 14px;color:var(--ink);font-size:11px;font-weight:600;line-height:1.65}.studio-note>span{display:inline-block;width:6px;height:6px;margin-right:5px;border-radius:50%;background:var(--mint)}.studio-note>span.is-refreshing{background:var(--action)}.studio-note small{display:block;margin-top:6px;color:var(--ink-muted);font-size:9px;font-weight:400}.studio-workflow{display:flex;flex-wrap:wrap;gap:6px;margin-top:16px}.studio-workflow>span{padding:3px 7px;border:1px solid var(--glass-border);border-radius:6px;color:var(--ink-muted);font-size:8px;font-weight:500;transition:color .22s ease,background .22s ease}.studio-workflow>span.is-active{color:var(--accent-ink);background:hsl(var(--accent))}.is-paused .code-caret,.typing-line.is-paused i,.is-paused .phone-refresh svg,.is-paused .refresh-connection svg{animation-play-state:paused}@keyframes caret-blink{0%,49%{opacity:1}50%,to{opacity:0}}@keyframes refresh-spin{to{transform:rotate(360deg)}}@keyframes phone-content-enter{0%{opacity:.65;transform:translateY(3px)}to{opacity:1;transform:none}}@media(max-width:1180px){.hero-layout{grid-template-columns:minmax(0,.96fr) minmax(0,1.04fr);gap:2rem}.hero-title{font-size:clamp(3.2rem,6vw,4.6rem)}.code-row{font-size:9px}.iphone-preview{width:219px;height:457px;top:250px}.studio-note{max-width:calc(100% - 230px);font-size:10px}.refresh-connection{width:calc(100% - 242px)}}@media(max-width:900px){.hero-layout{grid-template-columns:1fr}.hero-title{max-width:700px;margin-inline:auto;font-size:clamp(3.2rem,9vw,5rem)}.hero-visual{max-width:620px;margin:2rem auto 0}.code-row{font-size:10px}}@media(max-width:639px){.hero-section{padding-top:7.5rem}.hero-title{font-size:clamp(2.7rem,12.5vw,4rem)}.typing-line{min-height:3.2rem;font-size:1.05rem}.mobile-studio{display:flex;height:auto;flex-direction:column;align-items:center;gap:0}.studio-caption{width:100%;font-size:8px;padding-bottom:12px}.code-editor.glass-surface{width:100%;border-radius:15px}.editor-activity{gap:23px}.editor-body{grid-template-columns:32px minmax(0,1fr)}.editor-code{height:282px}.code-row{font-size:8px;line-height:19px;min-height:19px}.code-line-number{width:25px;flex-basis:25px;padding-right:8px}.editor-titlebar button{width:44px;height:44px}.editor-statusbar{font-size:7px;gap:10px;padding-inline:9px}.iphone-preview{position:relative;top:auto;right:auto;order:4;width:233px;height:467px;margin-top:24px}.phone-content{padding-top:9px}.phone-content h3{font-size:26px}.phone-feature{gap:11px;padding:12px;margin-top:12px}.phone-checklist{gap:7px;margin-top:12px}.phone-action{margin-top:12px}.refresh-connection{order:2;width:130px;margin:24px auto 0}.refresh-connection span{display:block}.studio-note{order:3;max-width:none;margin:12px auto 0;text-align:center;font-size:11px}.studio-note small{font-size:10px}.studio-workflow{justify-content:center;margin-top:12px}}@media(prefers-reduced-motion:reduce){.typing-line i,.code-caret{animation:none;opacity:0}.phone-content,.refresh-connection svg,.phone-refresh svg{animation:none}}
