@charset "UTF-8";.modal-open{overflow:hidden}.modal-open .modal{overflow-x:hidden;overflow-y:auto}.modal{position:fixed;top:0;left:0;z-index:1055;display:none;width:100%;height:100%;overflow:hidden;outline:0}.modal-dialog{position:relative;width:auto;margin:.5rem;pointer-events:none}.modal.fade .modal-dialog{transition:transform .3s ease-out;transform:translateY(-50px)}.modal.show .modal-dialog{transform:none}.modal-dialog-scrollable{height:calc(100% - 1rem)}.modal-dialog-scrollable .modal-content{max-height:100%;overflow:hidden}.modal-dialog-scrollable .modal-body{overflow-y:auto}.modal-dialog-centered{display:flex;align-items:center;min-height:calc(100% - 1rem)}.modal-content{position:relative;display:flex;flex-direction:column;width:100%;pointer-events:auto;background-clip:padding-box;border:1px solid rgba(0,0,0,.2);border-radius:.3rem;outline:0}.modal-backdrop{position:fixed;top:0;left:0;z-index:1050;width:100vw;height:100vh;background-color:#000}.modal-backdrop.fade{opacity:0}.modal-backdrop.show{opacity:.5}.modal-header{display:flex;flex-shrink:0;align-items:center;justify-content:space-between;padding:1rem;border-bottom:1px solid #dee2e6;border-top-left-radius:calc(.3rem - 1px);border-top-right-radius:calc(.3rem - 1px)}.modal-header .btn-close{padding:.5rem;margin:-.5rem -.5rem -.5rem auto}.modal-title{margin-bottom:0;line-height:1.5}.modal-body{position:relative;flex:1 1 auto;padding:1rem}.modal-footer{display:flex;flex-wrap:wrap;flex-shrink:0;align-items:center;justify-content:flex-end;padding:.75rem;border-top:1px solid #dee2e6;border-bottom-right-radius:calc(.3rem - 1px);border-bottom-left-radius:calc(.3rem - 1px)}.modal-footer>*{margin:.25rem}@media (min-width: 576px){.modal-dialog{max-width:500px;margin:1.75rem auto}.modal-dialog-scrollable{height:calc(100% - 3.5rem)}.modal-dialog-centered{min-height:calc(100% - 3.5rem)}.modal-sm{max-width:300px}}@media (min-width: 992px){.modal-lg,.modal-xl{max-width:800px}}@media (min-width: 1200px){.modal-xl{max-width:1140px}}.modal-fullscreen{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen .modal-header{border-radius:0}.modal-fullscreen .modal-body{overflow-y:auto}.modal-fullscreen .modal-footer{border-radius:0}.btn-close{box-sizing:content-box;width:1em;height:1em;padding:.25em;color:#000;background:transparent url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23000'%3e%3cpath d='M.293.293a1 1 0 011.414 0L8 6.586 14.293.293a1 1 0 111.414 1.414L9.414 8l6.293 6.293a1 1 0 01-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 01-1.414-1.414L6.586 8 .293 1.707a1 1 0 010-1.414z'/%3e%3c/svg%3e") center/1em auto no-repeat;border:0;border-radius:.25rem;opacity:.5}.btn-close:hover{color:#000;text-decoration:none;opacity:.75}.btn-close:focus{outline:0;box-shadow:0 0 0 .25rem #0d6efd40;opacity:1}.btn-close:disabled{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;opacity:.25}.fade{transition:opacity .15s linear}.fade:not(.show){opacity:0}.show{display:block!important}/*!
 * Partial: _mixins.scss
 * Purpose: SCSS mixins for layout, typography, buttons, cards, and utilities
 * Features: Typography helpers, flex utilities, responsive helpers, component mixins
 * Usage: Import in components for reusable style patterns
 * Dependencies: Uses variables from _variables.scss and sass:math
 * Last updated: 2025-11-18
 */@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@keyframes spin{to{transform:rotate(360deg)}}/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0}main{display:block}h1{font-size:2em;margin:.67em 0}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;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}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button}button::-moz-focus-inner,[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}h1,.h1,h2,.h2,h3,.h3,h4,.h4,h5,.h5,h6,.h6{margin-top:0;margin-bottom:12px;font-weight:700;line-height:1.25;color:#333}.heading-hero{font-family:trajan-pro-3,serif;font-size:3.5rem;font-weight:700;line-height:1.1}@media (max-width: 900px){.heading-hero{font-size:3rem}}@media (max-width: 600px){.heading-hero{font-size:2.5rem}}h1,.h1{font-family:trajan-pro-3,serif;font-size:2.5rem}@media (max-width: 900px){h1,.h1{font-size:2rem}}@media (max-width: 600px){h1,.h1{font-size:1.5rem}}h2,.h2{font-family:playfair_regular,serif;font-size:2rem}@media (max-width: 900px){h2,.h2{font-size:1.5rem}}@media (max-width: 600px){h2,.h2{font-size:1.25rem}}h3,.h3{font-family:playfair_regular,serif;font-size:1.5rem}@media (max-width: 600px){h3,.h3{font-size:1.25rem}}h4,.h4{font-family:playfair_regular,serif;font-size:1.25rem}h5,.h5{font-family:dmsans,sans-serif;font-size:1rem;font-weight:600}h6,.h6{font-family:dmsans,sans-serif;font-size:.875rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.text-body{font-family:Inter,sans-serif;font-size:1rem;line-height:1.5}.text-lead{font-family:Inter,sans-serif;font-size:1.125rem;line-height:1.75;color:#333}.text-small{font-size:.875rem}.text-xs{font-size:.75rem}.text-primary{color:#0073aa!important}.text-accent{color:#8e24aa!important}.text-muted{color:#6c757d!important}.text-secondary{color:#595959!important}.text-inverse{color:#fff!important}.text-success{color:#28a745!important}.text-warning{color:#a07800!important}.text-error{color:#dc3545!important}.text-info{color:#17a2b8!important}.text-light{font-weight:300!important}.text-normal{font-weight:400!important}.text-medium{font-weight:500!important}.text-semibold{font-weight:600!important}.text-bold{font-weight:700!important}.text-uppercase{text-transform:uppercase!important;letter-spacing:.05em}.text-lowercase{text-transform:lowercase!important}.text-capitalize{text-transform:capitalize!important}.text-left{text-align:left!important}.text-center{text-align:center!important}.text-right{text-align:right!important}.line-height-tight{line-height:1.25!important}.line-height-normal{line-height:1.5!important}.line-height-relaxed{line-height:1.75!important}.line-height-loose{line-height:2!important}a{color:#0073aa;text-decoration:none;transition:color .2s ease}a:hover{color:#005177;text-decoration:underline}a:focus{outline:2px solid rgba(0,115,170,.2);outline-offset:2px}.link-muted{color:#6c757d}.link-muted:hover{color:#0073aa}.link-inverse{color:#fff}.link-inverse:hover{color:#fffc}ul,ol{margin-top:0;margin-bottom:12px;padding-left:20px}li{margin-bottom:4px}.list-unstyled,.list-inline{list-style:none;padding-left:0}.list-inline li{display:inline-block;margin-right:12px;margin-bottom:0}.list-inline li:last-child{margin-right:0}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-family:dmsans,sans-serif;font-weight:600;text-decoration:none;text-transform:uppercase;letter-spacing:.05em;border-radius:4px;border:1px solid transparent;cursor:pointer;transition:all .3s ease-in-out;white-space:nowrap;line-height:1;padding:12px 20px;font-size:.875rem;min-height:48px}.btn:focus{outline:2px solid rgba(0,115,170,.2);outline-offset:2px}.btn:disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.btn-sm{padding:8px 12px;font-size:.75rem}.btn-lg{padding:16px 24px;font-size:1rem}.btn-xl{padding:20px 32px;font-size:1.125rem}.btn-primary{background:#0073aa;color:#fff;border-color:#005177}.btn-primary:hover:not(:disabled){background:#005177;box-shadow:0 4px 16px #0073aa1f;transform:translateY(-1px)}.btn-primary:active:not(:disabled){transform:translateY(0);box-shadow:0 1px 2px #0000000d}.btn-secondary{background:#6c757d;color:#fff;border-color:#495057}.btn-secondary:hover:not(:disabled){background:#495057;box-shadow:0 4px 16px #0073aa1f;transform:translateY(-1px)}.btn-secondary:active:not(:disabled){transform:translateY(0)}.btn-outline{background:transparent;color:#0073aa;border-color:#0073aa}.btn-outline:hover:not(:disabled){background:#0073aa;color:#fff;box-shadow:0 4px 16px #0073aa1f}.btn-outline:active:not(:disabled){background:#005177}.btn-ghost{background:transparent;color:#0073aa;border-color:transparent}.btn-ghost:hover:not(:disabled){background:#0073aa0d}.btn-ghost:active:not(:disabled){background:#0073aa1a}.btn-accent{background:#8e24aa;color:#fff;border-color:#6a1b9a}.btn-accent:hover:not(:disabled){background:#6a1b9a;box-shadow:0 4px 16px #0073aa1f;transform:translateY(-1px)}.btn-accent:active:not(:disabled){transform:translateY(0)}.btn-group{display:inline-flex;gap:8px}.btn-group.btn-group-block{display:flex;width:100%}.btn-group.btn-group-block .btn{flex:1}.card{background:#fff;border-radius:8px;overflow:hidden;transition:all .3s ease-in-out;border:1px solid #e3e3e3;box-shadow:0 1px 2px #0000000d}.card:hover{box-shadow:0 2px 8px #00000014}.card-elevated{border:none;box-shadow:0 4px 16px #0073aa1f}.card-elevated:hover{box-shadow:0 8px 24px #0073aa26;transform:translateY(-2px)}.card-flat{border:1px solid #e3e3e3;box-shadow:none}.card-flat:hover{border-color:#0073aa;box-shadow:0 1px 2px #0000000d}.card-interactive{cursor:pointer;border:2px solid #e3e3e3}.card-interactive:hover{border-color:#0073aa;box-shadow:0 8px 24px #0073aa26;transform:translateY(-4px)}.card-interactive:active{transform:translateY(-2px);box-shadow:0 4px 16px #0073aa1f}.card-outline{background:transparent;border:2px solid #cccccc;box-shadow:none}.card-outline:hover{border-color:#0073aa;background:#0073aa0d}.card-header{padding:16px 20px;border-bottom:1px solid #e3e3e3;background:#fff}.card-body{padding:20px}.card-footer{padding:16px 20px;border-top:1px solid #e3e3e3;background:#f4f3f4}.card-img-top{width:100%;height:auto;object-fit:cover;display:block}.card-img-overlay{position:absolute;inset:0;padding:20px;display:flex;flex-direction:column;justify-content:flex-end;background:linear-gradient(to bottom,transparent 0%,rgba(0,0,0,.7) 100%)}.card-title{font-family:playfair_regular,serif;font-size:1.5rem;font-weight:700;color:#333;margin-bottom:8px;line-height:1.25}.card-subtitle{font-family:dmsans,sans-serif;font-size:.875rem;color:#595959;margin-bottom:12px;font-weight:500}.card-text{font-family:Inter,sans-serif;font-size:1rem;color:#333;line-height:1.75}.card-text:last-child{margin-bottom:0}.card-link{color:#0073aa;text-decoration:none;font-weight:500;transition:color .2s ease}.card-link:hover{color:#005177;text-decoration:underline}.card-link+.card-link{margin-left:12px}.card-horizontal{display:flex}.card-horizontal .card-img-top{width:40%;height:auto;object-fit:cover}.card-horizontal .card-body{flex:1}.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px}.card-grid.card-grid-2{grid-template-columns:repeat(2,1fr)}.card-grid.card-grid-3{grid-template-columns:repeat(3,1fr)}.card-grid.card-grid-4{grid-template-columns:repeat(4,1fr)}@media (max-width: 900px){.card-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 600px){.card-grid{grid-template-columns:1fr}}.dark-mode .card{background:#2a2a2a;border-color:#495057}.dark-mode .card-header,.dark-mode .card-body,.dark-mode .card-footer{background:#2a2a2a}.dark-mode .card-footer{background:#1a1a1a;border-color:#495057}.dark-mode .card-header{border-color:#495057}.dark-mode .card-title{color:#fff}.dark-mode .card-subtitle,.dark-mode .card-text{color:#dee2e6}.dark-mode .card-flat:hover{background:#2a2a2a}.dark-mode .card-outline{background:transparent;border-color:#495057}.dark-mode .card-outline:hover{background:#0073aa1a}.dark-mode .card-interactive{border-color:#495057}.dark-mode .card-interactive:hover{background:#2a2a2a}.dark-mode .metric-label{color:#dee2e6}.badge,.tag{display:inline-flex;align-items:center;justify-content:center;padding:4px 8px;font-family:dmsans,sans-serif;font-size:.75rem;font-weight:600;line-height:1;border-radius:4px;text-transform:uppercase;letter-spacing:.05em;white-space:nowrap}.badge-primary{background:#0073aa1a;color:#0073aa}.badge-accent{background:#8e24aa1a;color:#8e24aa}.badge-neutral{background:#e9ecef;color:#495057}.badge-light{background:#f4f3f4;color:#6c757d}.badge-dark{background:#343a40;color:#fff}.badge-success{background:#28a7451a;color:#28a745}.badge-warning{background:#ffc1071a;color:#a07800}.badge-error{background:#dc35451a;color:#dc3545}.badge-info{background:#17a2b81a;color:#17a2b8}.badge-outline{background:transparent;border:1px solid #cccccc;color:#595959}.badge-sm{padding:2px 6px;font-size:.625rem}.badge-lg{padding:8px 12px;font-size:.875rem}.badge-pill{border-radius:9999px;padding-left:12px;padding-right:12px}.tag{cursor:pointer;transition:all .2s ease;background:#f4f3f4;color:#333;border:1px solid transparent}.tag:hover{background:#0073aa1a;color:#0073aa;border-color:#0073aa33}.tag:active{background:#0073aa33;transform:scale(.98)}.tag.tag-removable{padding-right:4px}.tag.tag-removable .tag-remove{margin-left:4px;padding:0;background:none;border:none;color:currentColor;cursor:pointer;opacity:.6;transition:opacity .2s ease}.tag.tag-removable .tag-remove:hover{opacity:1}.tag-active,.tag.active{background:#0073aa33;color:#0073aa;border-color:#0073aa}.tag-cloud{display:flex;flex-wrap:wrap;gap:8px}.tag-cloud .tag{margin:0}.badge-tech{background:#f4f3f4;color:#495057;border:1px solid #dee2e6}.badge-tech.badge-react{color:#61dafb;border-color:#61dafb4d}.badge-tech.badge-javascript{color:#786b04;border-color:#f7df1e80}.badge-tech.badge-html5{color:#e34f26;border-color:#e34f264d}.badge-tech.badge-css3{color:#1572b6;border-color:#1572b64d}.badge-tech.badge-sass{color:#c69;border-color:#cc66994d}.badge-tech.badge-node{color:#393;border-color:#3399334d}.badge-tech.badge-wordpress{color:#21759b;border-color:#21759b4d}.badge-tech.badge-figma{color:#f24e1e;border-color:#f24e1e4d}.badge-tech.badge-git{color:#f05032;border-color:#f050324d}.badge-tech.badge-vue{color:#4fc08d;border-color:#4fc08d4d}.badge-tech.badge-php{color:#777bb4;border-color:#777bb44d}.loader-container{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:220px;width:100%}.loader-spinner{width:48px;height:48px;border:5px solid #eeeeee;border-top:5px solid #8e24aa;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:16px}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.loader-message{font-size:1.1em;color:#595959;font-family:dmsans,sans-serif}.tech-icon{width:24px;height:24px;display:inline-block;vertical-align:middle;transition:transform .25s ease,color .25s ease;fill:currentColor}.tech-icon:hover{transform:scale(1.15)}.tech-icon--html5{color:#e34f26}.tech-icon--html5.outline{color:#e34f26;stroke:#e34f26}.tech-icon--css3{color:#1572b6}.tech-icon--css3.outline{color:#1572b6;stroke:#1572b6}.tech-icon--css{color:#1572b6}.tech-icon--css.outline{color:#1572b6;stroke:#1572b6}.tech-icon--javascript{color:#f7df1e}.tech-icon--javascript.outline{color:#f7df1e;stroke:#f7df1e}.tech-icon--typescript{color:#3178c6}.tech-icon--typescript.outline{color:#3178c6;stroke:#3178c6}.tech-icon--react{color:#61dafb}.tech-icon--react.outline{color:#61dafb;stroke:#61dafb}.tech-icon--vue{color:#4fc08d}.tech-icon--vue.outline{color:#4fc08d;stroke:#4fc08d}.tech-icon--vuejs{color:#4fc08d}.tech-icon--vuejs.outline{color:#4fc08d;stroke:#4fc08d}.tech-icon--angular{color:#dd0031}.tech-icon--angular.outline{color:#dd0031;stroke:#dd0031}.tech-icon--node{color:#393}.tech-icon--node.outline{color:#393;stroke:#393}.tech-icon--node-js{color:#393}.tech-icon--node-js.outline{color:#393;stroke:#393}.tech-icon--php{color:#777bb4}.tech-icon--php.outline{color:#777bb4;stroke:#777bb4}.tech-icon--python{color:#3776ab}.tech-icon--python.outline{color:#3776ab;stroke:#3776ab}.tech-icon--java{color:#ed8b00}.tech-icon--java.outline{color:#ed8b00;stroke:#ed8b00}.tech-icon--dart{color:#0175c2}.tech-icon--dart.outline{color:#0175c2;stroke:#0175c2}.tech-icon--rust{color:#000}.tech-icon--rust.outline{color:#000;stroke:#000}.tech-icon--sass{color:#c69}.tech-icon--sass.outline{color:#c69;stroke:#c69}.tech-icon--tailwind{color:#06b6d4}.tech-icon--tailwind.outline{color:#06b6d4;stroke:#06b6d4}.tech-icon--bootstrap{color:#7952b3}.tech-icon--bootstrap.outline{color:#7952b3;stroke:#7952b3}.tech-icon--less{color:#1d365d}.tech-icon--less.outline{color:#1d365d;stroke:#1d365d}.tech-icon--webpack{color:#8dd6f9}.tech-icon--webpack.outline{color:#8dd6f9;stroke:#8dd6f9}.tech-icon--gulp{color:#cf4647}.tech-icon--gulp.outline{color:#cf4647;stroke:#cf4647}.tech-icon--wordpress{color:#21759b}.tech-icon--wordpress.outline{color:#21759b;stroke:#21759b}.tech-icon--wordpress-simple{color:#21759b}.tech-icon--wordpress-simple.outline{color:#21759b;stroke:#21759b}.tech-icon--drupal{color:#0678be}.tech-icon--drupal.outline{color:#0678be;stroke:#0678be}.tech-icon--laravel{color:#ff2d20}.tech-icon--laravel.outline{color:#ff2d20;stroke:#ff2d20}.tech-icon--eleventy{color:#000}.tech-icon--eleventy.outline{color:#000;stroke:#000}.tech-icon--nextjs{color:#000}.tech-icon--nextjs.outline{color:#000;stroke:#000}.tech-icon--git{color:#f05032}.tech-icon--git.outline{color:#f05032;stroke:#f05032}.tech-icon--github{color:#181717}.tech-icon--github.outline{color:#181717;stroke:#181717}.tech-icon--gitlab{color:#fc6d26}.tech-icon--gitlab.outline{color:#fc6d26;stroke:#fc6d26}.tech-icon--npm{color:#cb3837}.tech-icon--npm.outline{color:#cb3837;stroke:#cb3837}.tech-icon--yarn{color:#2c8ebb}.tech-icon--yarn.outline{color:#2c8ebb;stroke:#2c8ebb}.tech-icon--docker{color:#2496ed}.tech-icon--docker.outline{color:#2496ed;stroke:#2496ed}.tech-icon--jenkins{color:#d24939}.tech-icon--jenkins.outline{color:#d24939;stroke:#d24939}.tech-icon--jira{color:#0052cc}.tech-icon--jira.outline{color:#0052cc;stroke:#0052cc}.tech-icon--confluence{color:#172b4d}.tech-icon--confluence.outline{color:#172b4d;stroke:#172b4d}.tech-icon--bitbucket{color:#0052cc}.tech-icon--bitbucket.outline{color:#0052cc;stroke:#0052cc}.tech-icon--sourcetree{color:#0052cc}.tech-icon--sourcetree.outline{color:#0052cc;stroke:#0052cc}.tech-icon--openai{color:#412991}.tech-icon--openai.outline{color:#412991;stroke:#412991}.tech-icon--figma{color:#f24e1e}.tech-icon--figma.outline{color:#f24e1e;stroke:#f24e1e}.tech-icon--sketch{color:#f7b500}.tech-icon--sketch.outline{color:#f7b500;stroke:#f7b500}.tech-icon--illustrator{color:#ff9a00}.tech-icon--illustrator.outline{color:#ff9a00;stroke:#ff9a00}.tech-icon--photoshop{color:#31a8ff}.tech-icon--photoshop.outline{color:#31a8ff;stroke:#31a8ff}.tech-icon--indesign{color:#f36}.tech-icon--indesign.outline{color:#f36;stroke:#f36}.tech-icon--xd{color:#ff61f6}.tech-icon--xd.outline{color:#ff61f6;stroke:#ff61f6}.tech-icon--invision{color:#f36}.tech-icon--invision.outline{color:#f36;stroke:#f36}.tech-icon--codepen{color:#000}.tech-icon--codepen.outline{color:#000;stroke:#000}.tech-icon--markdown{color:#000}.tech-icon--markdown.outline{color:#000;stroke:#000}.tech-icon--golang{color:#00add8}.tech-icon--golang.outline{color:#00add8;stroke:#00add8}.tech-icon--hackerrank{color:#2ec866}.tech-icon--hackerrank.outline{color:#2ec866;stroke:#2ec866}.tech-icon--hashnode{color:#2962ff}.tech-icon--hashnode.outline{color:#2962ff;stroke:#2962ff}.tech-icon--linux{color:#fcc624}.tech-icon--linux.outline{color:#fcc624;stroke:#fcc624}.tech-icon--jquery{color:#0769ad}.tech-icon--jquery.outline{color:#0769ad;stroke:#0769ad}.tech-icon--magento{color:#e45e34}.tech-icon--magento.outline{color:#e45e34;stroke:#e45e34}.tech-icon--aws{color:#f90}.tech-icon--aws.outline{color:#f90;stroke:#f90}.tech-icon--azure{color:#104581}.tech-icon--azure.outline{color:#104581;stroke:#104581}.tech-icon--hotjar{color:#ff3c00}.tech-icon--hotjar.outline{color:#ff3c00;stroke:#ff3c00}.tech-icon--design-systems{color:#6366f1}.tech-icon--design-systems.outline{color:#6366f1;stroke:#6366f1}.tech-icon--google-analytics{color:#a50e0e}.tech-icon--google-analytics.outline{color:#a50e0e;stroke:#a50e0e}.tech-icon--gtm{color:#0d652d}.tech-icon--gtm.outline{color:#0d652d;stroke:#0d652d}.tech-icon--a-b-testing{color:#4285f4}.tech-icon--a-b-testing.outline{color:#4285f4;stroke:#4285f4}.tech-icon--seo{color:#fbbc04}.tech-icon--seo.outline{color:#fbbc04;stroke:#fbbc04}.tech-icon--responsive-design{color:#e37400}.tech-icon--responsive-design.outline{color:#e37400;stroke:#e37400}.tech-icon--vite{color:#646cff}.tech-icon--vite.outline{color:#646cff;stroke:#646cff}.tech-icon--material-ui{color:#007fff}.tech-icon--material-ui.outline{color:#007fff;stroke:#007fff}.tech-icon--wcag{color:#059669}.tech-icon--wcag.outline{color:#059669;stroke:#059669}.tech-icon--wcag-2-1{color:#059669}.tech-icon--wcag-2-1.outline{color:#059669;stroke:#059669}.tech-icon--performance{color:#7c3aed}.tech-icon--performance.outline{color:#7c3aed;stroke:#7c3aed}html.dark-mode .tech-icon--html5{color:#e34f26}html.dark-mode .tech-icon--css3,html.dark-mode .tech-icon--css{color:#1572b6}html.dark-mode .tech-icon--javascript{color:#f7df1e}html.dark-mode .tech-icon--typescript{color:#3178c6}html.dark-mode .tech-icon--react{color:#61dafb}html.dark-mode .tech-icon--vue,html.dark-mode .tech-icon--vuejs{color:#4fc08d}html.dark-mode .tech-icon--angular{color:#dd0031}html.dark-mode .tech-icon--node,html.dark-mode .tech-icon--node-js{color:#393}html.dark-mode .tech-icon--php{color:#777bb4}html.dark-mode .tech-icon--python{color:#3776ab}html.dark-mode .tech-icon--java{color:#ed8b00}html.dark-mode .tech-icon--dart{color:#0175c2}html.dark-mode .tech-icon--rust{color:#000}html.dark-mode .tech-icon--sass{color:#c69}html.dark-mode .tech-icon--tailwind{color:#06b6d4}html.dark-mode .tech-icon--bootstrap{color:#7952b3}html.dark-mode .tech-icon--less{color:#1d365d}html.dark-mode .tech-icon--webpack{color:#8dd6f9}html.dark-mode .tech-icon--gulp{color:#cf4647}html.dark-mode .tech-icon--wordpress,html.dark-mode .tech-icon--wordpress-simple{color:#21759b}html.dark-mode .tech-icon--drupal{color:#0678be}html.dark-mode .tech-icon--laravel{color:#ff2d20}html.dark-mode .tech-icon--eleventy,html.dark-mode .tech-icon--nextjs{color:#000}html.dark-mode .tech-icon--git{color:#f05032}html.dark-mode .tech-icon--github{color:#181717}html.dark-mode .tech-icon--gitlab{color:#fc6d26}html.dark-mode .tech-icon--npm{color:#cb3837}html.dark-mode .tech-icon--yarn{color:#2c8ebb}html.dark-mode .tech-icon--docker{color:#2496ed}html.dark-mode .tech-icon--jenkins{color:#d24939}html.dark-mode .tech-icon--jira{color:#0052cc}html.dark-mode .tech-icon--confluence{color:#172b4d}html.dark-mode .tech-icon--bitbucket,html.dark-mode .tech-icon--sourcetree{color:#0052cc}html.dark-mode .tech-icon--openai{color:#412991}html.dark-mode .tech-icon--figma{color:#f24e1e}html.dark-mode .tech-icon--sketch{color:#f7b500}html.dark-mode .tech-icon--illustrator{color:#ff9a00}html.dark-mode .tech-icon--photoshop{color:#31a8ff}html.dark-mode .tech-icon--indesign{color:#f36}html.dark-mode .tech-icon--xd{color:#ff61f6}html.dark-mode .tech-icon--invision{color:#f36}html.dark-mode .tech-icon--codepen,html.dark-mode .tech-icon--markdown{color:#000}html.dark-mode .tech-icon--golang{color:#00add8}html.dark-mode .tech-icon--hackerrank{color:#2ec866}html.dark-mode .tech-icon--hashnode{color:#2962ff}html.dark-mode .tech-icon--linux{color:#fcc624}html.dark-mode .tech-icon--jquery{color:#0769ad}html.dark-mode .tech-icon--magento{color:#e45e34}html.dark-mode .tech-icon--aws{color:#f90}html.dark-mode .tech-icon--azure{color:#104581}html.dark-mode .tech-icon--hotjar{color:#ff3c00}html.dark-mode .tech-icon--design-systems{color:#6366f1}html.dark-mode .tech-icon--google-analytics{color:#a50e0e}html.dark-mode .tech-icon--gtm{color:#0d652d}html.dark-mode .tech-icon--a-b-testing{color:#4285f4}html.dark-mode .tech-icon--seo{color:#fbbc04}html.dark-mode .tech-icon--responsive-design{color:#e37400}html.dark-mode .tech-icon--vite{color:#646cff}html.dark-mode .tech-icon--material-ui{color:#007fff}html.dark-mode .tech-icon--wcag,html.dark-mode .tech-icon--wcag-2-1{color:#059669}html.dark-mode .tech-icon--performance{color:#7c3aed}.page-header{position:relative;width:100%;text-align:center;padding:32px 16px;margin:0 0 60px;background:linear-gradient(135deg,#0073aa0a,#2c94da0f,#8e24aa0a);border-bottom:1px solid #e3e3e3;overflow:hidden}.page-header:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:linear-gradient(45deg,transparent 30%,rgba(0,115,170,.03) 50%,transparent 70%);animation:pageHeaderShimmer 15s ease-in-out infinite;pointer-events:none}@keyframes pageHeaderShimmer{0%,to{transform:translate(-25%,-25%) rotate(0);opacity:.5}50%{transform:translate(0) rotate(180deg);opacity:1}}.page-header .page-title{font-size:3rem;font-weight:400;color:#0073aa;margin:0 auto 8px;letter-spacing:-.02em;line-height:1.25;position:relative;z-index:1;max-width:1280px;padding:0 2rem}@media (max-width: 900px){.page-header .page-title{font-size:2.5rem}}@media (max-width: 600px){.page-header .page-title{font-size:1.5rem}}.page-header h2.page-subtitle{font-family:dmsans,sans-serif;font-size:1.25rem;font-weight:700;color:#595959;margin:0 auto;letter-spacing:.02em;text-align:center;position:relative;z-index:1;max-width:1280px;padding:0 2rem}html.dark-mode .page-header .page-title{color:#fff}html.dark-mode .page-header h2.page-subtitle{color:#f4f3f4}@media (max-width: 900px){.page-header{margin-bottom:40px;padding-top:20px}}.portfolio-cta-button,.blog-cta-button,.bio-cta-button,.codepen-cta-button,.github-cta-button{display:inline-flex;align-items:center;justify-content:space-between;gap:20px;padding:16px 32px;background:linear-gradient(135deg,#0073aa,#2c94da);color:#fff;text-decoration:none;border-radius:10px;box-shadow:0 4px 16px #0073aa4d;transition:all .3s cubic-bezier(.4,0,.2,1);font-family:dmsans,sans-serif;min-width:280px;max-width:500px}.portfolio-cta-button .cta-content,.blog-cta-button .cta-content,.bio-cta-button .cta-content,.codepen-cta-button .cta-content,.github-cta-button .cta-content{display:flex;align-items:center;gap:12px}.portfolio-cta-button .cta-content i,.blog-cta-button .cta-content i,.bio-cta-button .cta-content i,.codepen-cta-button .cta-content i,.github-cta-button .cta-content i{font-size:1.25rem;flex-shrink:0}.portfolio-cta-button .cta-content .cta-text,.blog-cta-button .cta-content .cta-text,.bio-cta-button .cta-content .cta-text,.codepen-cta-button .cta-content .cta-text,.github-cta-button .cta-content .cta-text{display:flex;flex-direction:column;align-items:flex-start;text-align:left;gap:2px}.portfolio-cta-button .cta-content .cta-text strong,.blog-cta-button .cta-content .cta-text strong,.bio-cta-button .cta-content .cta-text strong,.codepen-cta-button .cta-content .cta-text strong,.github-cta-button .cta-content .cta-text strong{font-size:1rem;font-weight:600;letter-spacing:.3px}.portfolio-cta-button .cta-content .cta-text small,.blog-cta-button .cta-content .cta-text small,.bio-cta-button .cta-content .cta-text small,.codepen-cta-button .cta-content .cta-text small,.github-cta-button .cta-content .cta-text small{font-size:.875rem;opacity:.9;font-weight:400;letter-spacing:.2px}.portfolio-cta-button .cta-arrow,.blog-cta-button .cta-arrow,.bio-cta-button .cta-arrow,.codepen-cta-button .cta-arrow,.github-cta-button .cta-arrow{font-size:1.125rem;transition:transform .3s ease;flex-shrink:0}.portfolio-cta-button:hover,.blog-cta-button:hover,.bio-cta-button:hover,.codepen-cta-button:hover,.github-cta-button:hover{transform:translateY(-2px);box-shadow:0 8px 24px #0073aa66}.portfolio-cta-button:hover .cta-arrow,.blog-cta-button:hover .cta-arrow,.bio-cta-button:hover .cta-arrow,.codepen-cta-button:hover .cta-arrow,.github-cta-button:hover .cta-arrow{transform:translate(4px)}.portfolio-cta-button:active,.blog-cta-button:active,.bio-cta-button:active,.codepen-cta-button:active,.github-cta-button:active{transform:translateY(0)}.portfolio-cta-button:focus-visible,.blog-cta-button:focus-visible,.bio-cta-button:focus-visible,.codepen-cta-button:focus-visible,.github-cta-button:focus-visible{outline:3px solid rgba(0,115,170,.5);outline-offset:3px}@media (max-width: 600px){.portfolio-cta-button,.blog-cta-button,.bio-cta-button,.codepen-cta-button,.github-cta-button{min-width:auto;width:100%;max-width:100%;padding:14px 24px}.portfolio-cta-button .cta-content i,.blog-cta-button .cta-content i,.bio-cta-button .cta-content i,.codepen-cta-button .cta-content i,.github-cta-button .cta-content i{font-size:1.125rem}.portfolio-cta-button .cta-arrow,.blog-cta-button .cta-arrow,.bio-cta-button .cta-arrow,.codepen-cta-button .cta-arrow,.github-cta-button .cta-arrow{font-size:1rem}}.cta-row,.portfolio-cta-row,.featured-work-cta,.blog-cta,.about-cta,.codepen-cta-row{display:flex;justify-content:center;text-align:center;margin-top:48px}@media (max-width: 600px){.cta-row,.portfolio-cta-row,.featured-work-cta,.blog-cta,.about-cta,.codepen-cta-row{margin-top:40px}}/*!
 * Partial: _base.scss
 * Purpose: Base styles for HTML, body, layout containers, header, and footer.
 * Features: Resets, typography, layout wrappers, responsive design, site-wide backgrounds.
 * Usage: Import first in style.scss to set up global styles and layout structure.
 * Dependencies: Uses variables from _variables.scss.
 * Last updated: 2025-09-11
 */html{overflow-x:hidden;scroll-behavior:smooth}*{box-sizing:border-box;margin:0;padding:0}body{background:#f4f3f4;margin:0;color:#333;min-height:100vh;position:relative;overflow-x:hidden}body:before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at 60% 20%,rgba(171,175,178,.09) 0%,transparent 70%),radial-gradient(ellipse at 20% 80%,rgba(0,115,170,.13) 0%,transparent 70%);animation:bgMove 12s linear infinite alternate}body .container{max-width:1200px;width:100%;margin:0 auto;padding:clamp(12px,4vw,40px);box-sizing:border-box}@media (max-width: 900px){body .container{padding:clamp(8px,3vw,16px)}}@media (max-width: 600px){body .container{padding:clamp(4px,2vw,8px)}}@keyframes bgMove{0%{background-position:60% 20%,20% 80%}to{background-position:65% 25%,25% 85%}}a.btn,button,input[type=button],input[type=reset],input[type=submit]{background-color:#0073aa;border-radius:4px;color:#fff;border:solid 1px #005177;font-size:.875rem;font-weight:700;padding:12px 20px;text-decoration:none;text-transform:uppercase;transition:background .3s ease}a.btn:hover,button:hover,input[type=button]:hover,input[type=reset]:hover,input[type=submit]:hover{background:#005177}.skip-link:focus,.lightbox-prev:focus,.lightbox-next:focus,.lightbox-close:focus,.gallery-tab-btn:focus,.gallery-tab-btn:focus-visible,.btn:focus,.btn:focus-visible,.card:focus,.card:focus-visible,.gallery-tile:focus,.gallery-tile:focus-visible,.clickable-card:focus,.clickable-card:focus-visible,button:focus,button:focus-visible,a:focus,a:focus-visible,input:focus,input:focus-visible,textarea:focus,textarea:focus-visible,[role=button]:focus-visible,:focus-visible{outline:3px solid #2c94da;outline-offset:2px;box-shadow:0 0 0 3px #2c94da2e}:focus{outline:2.5px solid #2c94da;outline-offset:2px}main{position:relative}main *{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}:focus:not(:focus-visible){outline:none}:focus-visible{transition:outline .2s,box-shadow .2s}.card:focus,.card:focus-visible,.gallery-tile:focus,.gallery-tile:focus-visible,.clickable-card:focus,.clickable-card:focus-visible{z-index:2}*:focus{outline-color:#2c94da}.site-wrapper{width:100%;min-height:100vh}@media (max-width: 900px){.site-wrapper{padding:0}}@media (max-width: 600px){.site-wrapper{padding:0}}#root{width:100%;margin:0;padding:0}#main-content{opacity:1;transition:opacity .3s}.section-header{text-align:center;max-width:900px;margin:60px auto 40px}.section-header .badge,.section-header .badge-outline{margin-bottom:20px}.section-header h2{font-family:trajan-pro-3,serif;font-size:2rem;color:#0073aa;margin-bottom:20px;font-weight:400;letter-spacing:.02em}@media (max-width: 900px){.section-header h2{font-size:1.5rem}}.section-header p{font-size:1.125rem;color:#595959;max-width:800px;margin:0 auto;line-height:1.75}figure{margin:0}.skip-link{position:absolute;left:-999px;top:0;min-width:160px;z-index:10000;background:#2c94da;color:#fff;padding:12px 32px;border-radius:0 0 8px 8px;font-weight:700;font-size:1.125rem;letter-spacing:.03em;box-shadow:0 4px 16px #2c94da2e,0 2px 8px #00000014;border:none;opacity:.95;transition:left .2s,box-shadow .2s,background .2s,color .2s}.skip-link:focus{left:50%;transform:translate(-50%);opacity:1;background:#fff;color:#2c94da;box-shadow:0 8px 32px #2c94da40,0 2px 8px #0000001f}@media (max-width: 600px){.skip-link:focus{font-size:1rem;padding:8px 12px;min-width:120px}}.dark-mode body{background:#1a1a1a!important;color:#fff}.dark-mode .section-header h2{color:#2c94da}.dark-mode .section-header p{color:#f4f3f4}.dark-mode .section-intro,.dark-mode .about-intro,.dark-mode .featured-work-intro,.dark-mode .blog-intro,.dark-mode .contact-intro{color:#ced4da!important}/*!
 * Partial: _header.scss
 * Purpose: Header styles for site-wide layout, branding, navigation, and menu toggle.
 * Features: Responsive header, branding, navigation, menu toggle, gradients.
 * Usage: Import in style.scss for global header styles.
 * Dependencies: Uses variables and mixins from abstracts.
 * Last updated: 2025-09-11
 */@media (prefers-reduced-motion: reduce){*{animation-duration:0s!important;transition-duration:0s!important}}.site-header{background:#333;position:relative;width:100vw;left:50%;right:50%;margin-left:-50vw;margin-right:-50vw}.site-header .container{display:flex;justify-content:space-between;align-items:center;margin:0 auto;padding:12px 0}.site-header .container .site-branding a{display:block;width:min(50vw,400px);height:min(15vw,77px);position:relative;overflow:hidden;transition:width .2s,height .2s}.site-header .container .site-branding a img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}.site-header .container nav ul{list-style:none;display:flex;gap:20px;margin:0;padding:0}.site-header .container nav ul a{color:#fff;text-decoration:none;font-size:1rem;letter-spacing:.0625rem;padding:12px 20px;border-radius:4px;position:relative;overflow:visible;background:none;box-shadow:none;transition:color .18s ease}.site-header .container nav ul a:after{content:"";position:absolute;left:20px;right:20px;bottom:8px;height:3px;border-radius:2px;background:linear-gradient(90deg,#2c94da,#0073aa);opacity:0;transform:scaleX(0);transition:opacity .18s,transform .22s cubic-bezier(.4,0,.2,1);pointer-events:none}.site-header .container nav ul a:hover:after,.site-header .container nav ul a:focus-visible:after{opacity:1;transform:scaleX(1)}.site-header .container nav ul a:hover,.site-header .container nav ul a:focus-visible{color:#2c94da;outline:none}.site-header .container nav ul a.active{color:#2c94da;font-weight:700}.site-header .active ul li a{color:#fff;background:#2c94da}.site-header .menu-toggle{display:none;position:absolute;right:72px;top:50%;transform:translateY(-50%);width:44px;height:44px;background:#6c757d;border:none;border-radius:4px;padding:0;cursor:pointer;z-index:100;transition:background .3s ease}.site-header .menu-toggle:hover{background:#adb5bd}.site-header .menu-toggle:active{transform:translateY(-50%) scale(.95)}.site-header .menu-toggle i{font-size:24px;color:#fff;transition:transform .3s ease,opacity .2s ease;display:inline-block}.site-header .menu-toggle i.fa-bars{animation:fadeIn .3s ease}.site-header .menu-toggle i.fa-xmark{animation:rotateIn .3s ease}.site-header .dark-mode-toggle{position:absolute;right:20px;top:50%;transform:translateY(-50%);width:52px;height:26px;background:#e9ecef;border:none;border-radius:26px;cursor:pointer;transition:background .3s ease;padding:0;overflow:visible;z-index:100}.site-header .dark-mode-toggle:hover{background:#dee2e6}.site-header .dark-mode-toggle:focus-visible{outline:2px solid #0073aa;outline-offset:2px}.site-header .dark-mode-toggle .toggle-icon{position:absolute;top:50%;transform:translateY(-50%);font-size:11px;transition:opacity .3s ease,color .3s ease;pointer-events:none;z-index:1}.site-header .dark-mode-toggle .toggle-icon.light-icon{left:7px;color:#ced4da}.site-header .dark-mode-toggle .toggle-icon.dark-icon{right:7px;color:#ced4da}.site-header .dark-mode-toggle .toggle-slider{position:absolute;top:2px;left:2px;width:22px;height:22px;background:#fff;border-radius:50%;transition:transform .3s cubic-bezier(.4,0,.2,1);box-shadow:0 1px 3px #00000026;z-index:2}.site-header .dark-mode-toggle[aria-checked=true]{background:#0073aa}.site-header .dark-mode-toggle[aria-checked=true] .toggle-slider{transform:translate(26px)}.site-header .dark-mode-toggle[aria-checked=true] .light-icon{opacity:.7;color:#ffffffbf}.site-header .dark-mode-toggle[aria-checked=true] .dark-icon{opacity:1;color:#fff}.site-header .dark-mode-toggle[aria-checked=false] .light-icon{opacity:1;color:#343a40}.site-header .dark-mode-toggle[aria-checked=false] .dark-icon{opacity:.7;color:#6c757d}.menu-backdrop{position:fixed;inset:0;background:#0006;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:5}body.no-scroll{overflow:hidden}@keyframes fadeIn{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}@keyframes rotateIn{0%{opacity:0;transform:rotate(-90deg) scale(.8)}to{opacity:1;transform:rotate(0) scale(1)}}@media (max-width: 900px){.site-header .container{flex-direction:row;padding:12px 3vw}.site-header .dark-mode-toggle{right:85px;width:46px;height:24px}.site-header .dark-mode-toggle .toggle-icon{font-size:10px}.site-header .dark-mode-toggle .toggle-icon.light-icon{left:6px}.site-header .dark-mode-toggle .toggle-icon.dark-icon{right:6px}.site-header .dark-mode-toggle .toggle-slider{width:20px;height:20px;top:2px;left:2px}.site-header .dark-mode-toggle[aria-checked=true] .toggle-slider{transform:translate(22px)}.site-header nav{position:absolute;top:100%;right:0;background:#333;width:100vw;max-width:320px;transform:translate(100%);transition:transform .3s,opacity .3s,visibility .3s;box-shadow:-4px 0 20px #00000080;z-index:100;visibility:hidden;opacity:0;pointer-events:none}.site-header nav ul{flex-direction:column;gap:12px;padding:24px 12px;align-items:stretch}.site-header nav ul a{text-align:left;display:block;padding:12px 14px;font-size:1rem;color:#fff;background:none!important}.site-header nav ul a:hover{background:#6c757d}.site-header nav ul a.active{background:#2c94da}.site-header #main-navigation.active{transform:translate(0);visibility:visible;opacity:1;pointer-events:auto}.site-header .menu-toggle{display:block}}@media (max-width: 600px){.site-header .container{flex-direction:row;padding:8px 2vw}.site-header nav{max-width:220px}.site-header nav ul{padding:12px 6px;gap:7px}.site-header nav ul a{padding:8px;font-size:13px;letter-spacing:.3px}.site-header .menu-toggle{width:40px;height:40px;right:15px;padding:0}.site-header .menu-toggle i{font-size:18px}}a,button,input,textarea,select,.card,.btn{transition:background-color .3s ease,color .3s ease,border-color .3s ease}html.dark-mode,html.dark-mode body{background:#1a1a1a;color:#e0e0e0}html.dark-mode .site-header{background:#1f1f1f;border-bottom:1px solid #404040}html.dark-mode .dark-mode-toggle{background:#40404099}html.dark-mode .dark-mode-toggle:hover{background:#404040cc}html.dark-mode .dark-mode-toggle .toggle-icon.light-icon,html.dark-mode .dark-mode-toggle .toggle-icon.dark-icon{color:#a0a0a099}html.dark-mode .dark-mode-toggle .toggle-slider{background:#252525;box-shadow:0 1px 3px #0006}html.dark-mode .dark-mode-toggle[aria-checked=true]{background:#2c94da}html.dark-mode .dark-mode-toggle[aria-checked=true] .light-icon{opacity:.65;color:#ffffffb3}html.dark-mode .dark-mode-toggle[aria-checked=true] .dark-icon{opacity:1;color:#fff}html.dark-mode .dark-mode-toggle[aria-checked=false] .light-icon{opacity:1;color:#e0e0e0}html.dark-mode .dark-mode-toggle[aria-checked=false] .dark-icon{opacity:.65;color:#a0a0a0cc}html.dark-mode .hero .hero-gradient{background:radial-gradient(circle at 30% 50%,rgba(44,148,218,.12) 0%,rgba(0,115,170,.08) 35%,transparent 70%)}html.dark-mode .hero .hero-heading-line,html.dark-mode .hero .hero-description{color:#e0e0e0}html.dark-mode .hero .availability-badge{background:#0073aa26;color:#e0e0e0}html.dark-mode .about,html.dark-mode .featured-work,html.dark-mode .blog-section,html.dark-mode .contact-section{color:#e0e0e0}html.dark-mode .about .section-label,html.dark-mode .featured-work .section-label,html.dark-mode .blog-section .section-label,html.dark-mode .contact-section .section-label{color:#2c94da}html.dark-mode .about h2,html.dark-mode .about h3,html.dark-mode .about h4,html.dark-mode .featured-work h2,html.dark-mode .featured-work h3,html.dark-mode .featured-work h4,html.dark-mode .blog-section h2,html.dark-mode .blog-section h3,html.dark-mode .blog-section h4,html.dark-mode .contact-section h2,html.dark-mode .contact-section h3,html.dark-mode .contact-section h4{color:#e0e0e0}html.dark-mode .about p,html.dark-mode .featured-work p,html.dark-mode .blog-section p,html.dark-mode .contact-section p{color:#a0a0a0}html.dark-mode .expertise-card,html.dark-mode .stat-card,html.dark-mode .project-card,html.dark-mode .blog-card{background:#252525;border-color:#404040;color:#e0e0e0}html.dark-mode .expertise-card:hover,html.dark-mode .stat-card:hover,html.dark-mode .project-card:hover,html.dark-mode .blog-card:hover{background:#2d2d2d;box-shadow:0 8px 24px #0006}html.dark-mode .expertise-card h3,html.dark-mode .expertise-card h4,html.dark-mode .expertise-card h5,html.dark-mode .stat-card h3,html.dark-mode .stat-card h4,html.dark-mode .stat-card h5,html.dark-mode .project-card h3,html.dark-mode .project-card h4,html.dark-mode .project-card h5,html.dark-mode .blog-card h3,html.dark-mode .blog-card h4,html.dark-mode .blog-card h5{color:#e0e0e0}html.dark-mode .expertise-card p,html.dark-mode .stat-card p,html.dark-mode .project-card p,html.dark-mode .blog-card p{color:#a0a0a0}html.dark-mode .btn-secondary{background:#252525;color:#e0e0e0;border-color:#404040}html.dark-mode .btn-secondary:hover{background:#323232;border-color:#2c94da}html.dark-mode .site-footer{background:#1f1f1f;border-top:1px solid #404040;color:#a0a0a0}html.dark-mode .site-footer a{color:#e0e0e0}html.dark-mode .site-footer a:hover{color:#2c94da}html.dark-mode input,html.dark-mode textarea,html.dark-mode select{background:#252525;color:#e0e0e0;border-color:#404040}html.dark-mode input:focus,html.dark-mode textarea:focus,html.dark-mode select:focus{border-color:#2c94da;background:#2d2d2d}html.dark-mode input::placeholder,html.dark-mode textarea::placeholder,html.dark-mode select::placeholder{color:#a0a0a0}html.dark-mode .tech-card{background:#252525;border-color:#404040}html.dark-mode .tech-card:hover{background:#323232}html.dark-mode .modal-overlay{background:#000000d9}html.dark-mode .modal-content{background:#252525;color:#e0e0e0}html.dark-mode .modal-content h2,html.dark-mode .modal-content h3{color:#e0e0e0}html.dark-mode pre,html.dark-mode code{background:#121212;color:#e0e0e0}html.dark-mode hr{border-color:#404040}html.dark-mode a{color:#2c94da}html.dark-mode a:hover{color:#57aae2}/*!
 * Partial: _footer.scss
 * Purpose: Footer styles for site-wide layout, branding, navigation, and contact info.
 * Features: Responsive footer, branding, navigation, contact, social links, gradients, overlays.
 * Usage: Import in style.scss for global footer styles.
 * Dependencies: Uses variables and mixins from abstracts.
 * Last updated: 2025-09-11
 */.site-footer{color:#595959;background:linear-gradient(135deg,#1a1a1a,#2a2a2a,#0f3460);padding:40px 0;box-shadow:0 -12px 40px #00000026,0 -4px 20px #8e24aa1a;overflow:hidden;position:relative;width:100vw;left:50%;right:50%;margin-left:-50vw;margin-right:-50vw}.site-footer:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 20% 20%,rgba(142,36,170,.05) 0%,transparent 50%),radial-gradient(circle at 80% 80%,rgba(44,148,218,.05) 0%,transparent 50%);pointer-events:none}.site-footer .container{max-width:1140px;margin:0 auto;display:flex;justify-content:space-between;align-items:flex-start;gap:60px;flex-wrap:wrap;position:relative;z-index:1;padding:0}.site-footer .site-branding{flex:1 1 30%}.site-footer .site-branding a{display:block;width:220px;height:48px;background:image-set(url(/assets/riad-kilani-logo-BtHBowWF.webp) type("image/webp"),url(/assets/riad-kilani-logo-TekZvwV_.png) type("image/png")) center/contain no-repeat;background:-webkit-image-set(url(/assets/riad-kilani-logo-BtHBowWF.webp) 1x,url(/assets/riad-kilani-logo-TekZvwV_.png) 1x) center/contain no-repeat;overflow:hidden;text-indent:-1000px;filter:drop-shadow(0 3px 12px rgba(142,36,170,.2));transition:all .3s cubic-bezier(.4,0,.2,1);position:relative}.site-footer .site-branding a:after{content:"";position:absolute;inset:-4px;background:linear-gradient(45deg,transparent,rgba(142,36,170,.2),transparent);border-radius:8px;opacity:0;transition:opacity .3s ease;z-index:-1}.site-footer .site-branding a:hover{filter:drop-shadow(0 6px 20px rgba(0,115,170,.3));transform:translateY(-2px)}.site-footer .site-branding a:hover:after{opacity:1}.site-footer .site-branding p{font-size:1rem;color:#fff6;margin-top:12px;letter-spacing:.05em;font-weight:500;text-transform:uppercase}.site-footer nav{flex:1 1 20%;display:flex;justify-content:center}.site-footer nav ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;align-items:flex-start;gap:16px;text-transform:uppercase;font-size:1rem}.site-footer nav ul a{color:#fff6;text-decoration:none;font-weight:600;letter-spacing:.0625rem;padding:8px 16px;border-radius:6px;background:#ffffff1a;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.1);transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.site-footer nav ul a:before{content:"";position:absolute;inset:0 0 0 -100%;background:linear-gradient(90deg,transparent,rgba(142,36,170,.3),transparent);transition:left .5s ease}.site-footer nav ul a:hover{color:#fff;background:#8e24aa1a;border-color:#8e24aa33;transform:translate(8px);box-shadow:0 4px 15px #8e24aa33}.site-footer nav ul a:hover:before{left:100%}.site-footer .footer-contact{flex:1 1 30%;text-align:left;font-size:1rem;color:#fff6}.site-footer .footer-contact p{margin-bottom:12px;display:flex;align-items:center;gap:12px;padding:8px 0}.site-footer .footer-contact p i{font-size:18px;color:#8e24aa;width:20px;text-align:center}.site-footer .footer-contact p a{color:#fffffffa;text-decoration:none;font-weight:500;transition:all .3s ease}.site-footer .footer-contact p a:hover{color:#8e24aa;text-shadow:0 0 8px rgba(142,36,170,.2)}.site-footer .footer-contact .footer-title{font-weight:700;color:#fff;margin-bottom:16px;font-size:1.125rem;letter-spacing:.0625rem;text-transform:uppercase;background:linear-gradient(45deg,#8e24aa,#ab47bc);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.site-footer .footer-contact .socials{display:flex;gap:16px;justify-content:end}.site-footer .footer-contact .socials a{display:inline-flex;align-items:center;justify-content:center;color:#fff6;font-size:20px;background:linear-gradient(135deg,#8e24aa1a,#0073aa1a);border:1px solid rgba(255,255,255,.1);border-radius:50%;width:44px;height:44px;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.site-footer .footer-contact .socials a:before{content:"";position:absolute;inset:0;background:linear-gradient(45deg,#8e24aa,#ab47bc);opacity:0;transition:opacity .3s ease}.site-footer .footer-contact .socials a:after{content:"";position:absolute;inset:2px;background:linear-gradient(135deg,#1a1a1a,#2a2a2a);border-radius:50%;transition:all .3s ease}.site-footer .footer-contact .socials a i{position:relative;z-index:1}.site-footer .footer-contact .socials a:hover{color:#fff;transform:translateY(-3px) scale(1.1);box-shadow:0 8px 25px #8e24aa33}.site-footer .footer-contact .socials a:hover:before{opacity:1}.site-footer .footer-bottom{width:100%;text-align:center;margin-top:24px;font-size:.875rem;color:#595959;letter-spacing:.03125rem;opacity:.8}.copyright{text-align:center;margin-top:20px;font-size:.875rem;color:#fff6;letter-spacing:.5px}@media (max-width: 900px){.site-footer .container{flex-direction:column;align-items:center;gap:40px;padding:0 20px}.site-footer .container .site-branding{margin-bottom:12px;text-align:center}.site-footer .container .site-branding a{width:180px;height:38px}.site-footer .container nav{width:100%;justify-content:center}.site-footer .container nav ul{flex-direction:row;justify-content:center;gap:12px;align-items:center;flex-wrap:wrap}.site-footer .container nav ul a{padding:6px 12px;font-size:.875rem}.site-footer .container .footer-contact{width:100%;text-align:center;margin-top:12px}.site-footer .container .footer-contact .socials{justify-content:center;gap:12px}.site-footer .container .footer-contact .socials a{width:40px;height:40px;font-size:18px}}@media (max-width: 600px){.site-footer{padding:18px 2px}.site-footer .container{padding:0 20px;gap:0!important;align-items:center!important}.site-footer .container .site-branding a{height:45px;width:280px;margin-bottom:0}.site-footer .container nav ul{gap:8px;font-size:12px}.site-footer .container nav ul a{padding:4px 8px;font-size:12px}.site-footer .container .footer-contact{font-size:13px;margin-top:0}.site-footer .container .footer-contact .footer-title{font-size:16px}.site-footer .container .footer-contact p{font-size:13px}.site-footer .container .footer-contact p i{font-size:16px}.site-footer .container .footer-contact .socials{gap:10px}.site-footer .container .footer-contact .socials a{font-size:16px;width:36px;height:36px}.site-footer .footer-bottom{font-size:11px;margin-top:18px}}.skeleton{background:linear-gradient(90deg,#eee 25%,#f6f6f6,#eee 75%);background-size:200% 100%;animation:skeleton-loading 1.2s infinite linear;border-radius:8px;margin-bottom:8px}.skeleton.skeleton-text{height:1em;margin-bottom:4px}.skeleton.skeleton-title{height:1.5em;margin-bottom:12px}.skeleton.skeleton-avatar{width:48px;height:48px;border-radius:50%}.skeleton.skeleton-image{width:100%;height:200px;border-radius:4px}@keyframes skeleton-loading{0%{background-position:200% 0}to{background-position:-200% 0}}/*!
 * Partial: _performance.scss
 * Purpose: Performance and loading optimizations for images, fonts, animations, and critical styles.
 * Features: Image loading states, skeleton loaders, GPU acceleration, font loading, resource hints, responsive and accessibility optimizations.
 * Usage: Import in style.scss to enable performance enhancements site-wide.
 * Dependencies: Uses variables from _variables.scss.
 * Last updated: 2025-09-11
 */.image-loading{opacity:.6;filter:blur(2px);transition:opacity .3s ease,filter .3s ease}.image-loaded{opacity:1;filter:none}.image-error{opacity:.5;background:#f8f9fa;border:1px dashed #dee2e6;display:flex;align-items:center;justify-content:center;color:#6c757d;font-size:.875rem}.image-error:after{content:"Image failed to load"}.loading-skeleton{background:linear-gradient(90deg,#f4f3f4 25%,#e9ecef,#f4f3f4 75%);background-size:200% 100%;animation:loading 1.5s infinite}@keyframes loading{0%{background-position:200% 0}to{background-position:-200% 0}}.gpu-accelerated{transform:translateZ(0);will-change:transform}.hero-critical{min-height:60vh;display:flex;justify-content:center;align-items:center;z-index:9999;background:linear-gradient(120deg,#005177,#2c94da)}@font-face{font-family:TrajanProBold;src:url(/assets/trajanpro-bold-webfont-CJ4C_MEn.woff) format("woff"),url(/assets/trajanpro-bold-webfont-CjCGs00S.ttf) format("truetype");font-weight:700;font-style:normal;font-display:swap}.font-preload-inter{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.font-preload-dm-sans{font-family:DM Sans,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.optimized-transition{transition:transform .2s ease,opacity .2s ease}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.gallery-grid-optimized{contain:layout;will-change:contents}.gallery-tile-optimized{contain:layout style paint;transform:translateZ(0)}.modal-optimized{contain:layout style paint;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.smooth-scroll{scroll-behavior:smooth}.scroll-container{-webkit-overflow-scrolling:touch}.performance-mark{position:absolute;visibility:hidden;pointer-events:none}.project-wrapper .additional-project-img{display:flex;flex-direction:column;flex-wrap:wrap;gap:30px;margin:24px 0 0;width:100%;justify-content:flex-start}.project-wrapper .additional-project-img img{width:180px;height:auto;border-radius:8px;box-shadow:0 4px 16px #0073aa1f;transition:transform .3s ease,box-shadow .3s ease}.project-wrapper .additional-project-img img:hover{box-shadow:0 8px 24px #0073aa26;transform:translateY(-2px)}.project-wrapper .additional-project-img img{object-fit:cover;background:#f8f9fa;margin:0;display:block;transition:transform .2s}.project-wrapper .additional-project-img img:hover{transform:scale(1.04) translateY(-2px);box-shadow:0 6px 18px #0073aa1a}@media (max-width: 900px){.project-wrapper .additional-project-img{gap:12px}.project-wrapper .additional-project-img img{width:100px}}.project-wrapper{max-width:1140px;margin:0 auto;display:flex;flex-direction:column;gap:30px}.project-wrapper .project-row{display:flex;gap:30px;width:100%;flex-wrap:wrap}.project-wrapper .main-project-img{flex:1 1 50%;width:50%;max-width:50%;display:flex;align-items:center;justify-content:center}.project-wrapper .main-project-img img{width:100%;height:auto;display:block;border-radius:8px}.project-wrapper .project-description,.project-wrapper .project-deliverables{flex:1 1 47%;width:50%;max-width:50%;display:flex;flex-direction:column;justify-content:center;padding:24px 0 24px 32px}.project-wrapper .project-description{padding:24px 0 24px 32px}.project-wrapper .project-deliverables{padding:24px 32px 24px 0}.project-wrapper .secondary-project-img{flex:1 1 50%;width:50%;max-width:50%;display:flex;align-items:center;justify-content:center}@media (max-width: 900px){.project-wrapper .project-row{flex-direction:column;gap:30px}.project-wrapper .main-project-img,.project-wrapper .project-description,.project-wrapper .project-deliverables,.project-wrapper .secondary-project-img{width:100%;max-width:100%;min-width:0;padding-left:0;padding-right:0}}.project-wrapper .tech-used{margin-top:24px;padding-top:20px;border-top:1px solid #e3e3e3}.project-wrapper .tech-used strong{display:block;margin-bottom:12px;color:#2c94da;font-size:1.1rem;font-weight:600}.project-wrapper .tech-used .project-tech-list{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:8px}.project-wrapper .tech-used .project-tech-list li{display:flex;align-items:center;gap:6px;background:linear-gradient(135deg,#0073aa1a,#0073aa0d);color:#2c94da;padding:8px 12px;border-radius:20px;font-size:.875rem;font-weight:500;border:1px solid rgba(0,115,170,.2);transition:all .2s ease}.project-wrapper .tech-used .project-tech-list li:hover{background:linear-gradient(135deg,#0073aa1a,#0073aa1a);transform:translateY(-1px);box-shadow:0 2px 8px #0073aa33}.project-wrapper .tech-used .project-tech-list li i{font-size:1rem}.project-wrapper .tech-used .project-tech-list li i.fa-html5{color:#e34f26}.project-wrapper .tech-used .project-tech-list li i.fa-css3,.project-wrapper .tech-used .project-tech-list li i.fa-css{color:#1572b6}.project-wrapper .tech-used .project-tech-list li i.fa-javascript{color:#f7df1e}.project-wrapper .tech-used .project-tech-list li i.fa-typescript{color:#3178c6}.project-wrapper .tech-used .project-tech-list li i.fa-react{color:#61dafb}.project-wrapper .tech-used .project-tech-list li i.fa-vue,.project-wrapper .tech-used .project-tech-list li i.fa-vuejs{color:#4fc08d}.project-wrapper .tech-used .project-tech-list li i.fa-angular{color:#dd0031}.project-wrapper .tech-used .project-tech-list li i.fa-node,.project-wrapper .tech-used .project-tech-list li i.fa-node-js{color:#393}.project-wrapper .tech-used .project-tech-list li i.fa-php{color:#777bb4}.project-wrapper .tech-used .project-tech-list li i.fa-python{color:#3776ab}.project-wrapper .tech-used .project-tech-list li i.fa-java{color:#ed8b00}.project-wrapper .tech-used .project-tech-list li i.fa-dart{color:#0175c2}.project-wrapper .tech-used .project-tech-list li i.fa-rust{color:#000}.project-wrapper .tech-used .project-tech-list li i.fa-sass{color:#c69}.project-wrapper .tech-used .project-tech-list li i.fa-tailwind{color:#06b6d4}.project-wrapper .tech-used .project-tech-list li i.fa-bootstrap{color:#7952b3}.project-wrapper .tech-used .project-tech-list li i.fa-less{color:#1d365d}.project-wrapper .tech-used .project-tech-list li i.fa-webpack{color:#8dd6f9}.project-wrapper .tech-used .project-tech-list li i.fa-gulp{color:#cf4647}.project-wrapper .tech-used .project-tech-list li i.fa-wordpress,.project-wrapper .tech-used .project-tech-list li i.fa-wordpress-simple{color:#21759b}.project-wrapper .tech-used .project-tech-list li i.fa-drupal{color:#0678be}.project-wrapper .tech-used .project-tech-list li i.fa-laravel{color:#ff2d20}.project-wrapper .tech-used .project-tech-list li i.fa-eleventy,.project-wrapper .tech-used .project-tech-list li i.fa-nextjs{color:#000}.project-wrapper .tech-used .project-tech-list li i.fa-git{color:#f05032}.project-wrapper .tech-used .project-tech-list li i.fa-github{color:#181717}.project-wrapper .tech-used .project-tech-list li i.fa-gitlab{color:#fc6d26}.project-wrapper .tech-used .project-tech-list li i.fa-npm{color:#cb3837}.project-wrapper .tech-used .project-tech-list li i.fa-yarn{color:#2c8ebb}.project-wrapper .tech-used .project-tech-list li i.fa-docker{color:#2496ed}.project-wrapper .tech-used .project-tech-list li i.fa-jenkins{color:#d24939}.project-wrapper .tech-used .project-tech-list li i.fa-jira{color:#0052cc}.project-wrapper .tech-used .project-tech-list li i.fa-confluence{color:#172b4d}.project-wrapper .tech-used .project-tech-list li i.fa-bitbucket,.project-wrapper .tech-used .project-tech-list li i.fa-sourcetree{color:#0052cc}.project-wrapper .tech-used .project-tech-list li i.fa-openai{color:#412991}.project-wrapper .tech-used .project-tech-list li i.fa-figma{color:#f24e1e}.project-wrapper .tech-used .project-tech-list li i.fa-sketch{color:#f7b500}.project-wrapper .tech-used .project-tech-list li i.fa-illustrator{color:#ff9a00}.project-wrapper .tech-used .project-tech-list li i.fa-photoshop{color:#31a8ff}.project-wrapper .tech-used .project-tech-list li i.fa-indesign{color:#f36}.project-wrapper .tech-used .project-tech-list li i.fa-xd{color:#ff61f6}.project-wrapper .tech-used .project-tech-list li i.fa-invision{color:#f36}.project-wrapper .tech-used .project-tech-list li i.fa-codepen,.project-wrapper .tech-used .project-tech-list li i.fa-markdown{color:#000}.project-wrapper .tech-used .project-tech-list li i.fa-golang{color:#00add8}.project-wrapper .tech-used .project-tech-list li i.fa-hackerrank{color:#2ec866}.project-wrapper .tech-used .project-tech-list li i.fa-hashnode{color:#2962ff}.project-wrapper .tech-used .project-tech-list li i.fa-linux{color:#fcc624}.project-wrapper .tech-used .project-tech-list li i.fa-jquery{color:#0769ad}.project-wrapper .tech-used .project-tech-list li i.fa-magento{color:#e45e34}.project-wrapper .tech-used .project-tech-list li i.fa-aws{color:#f90}.project-wrapper .tech-used .project-tech-list li i.fa-azure{color:#104581}.project-wrapper .tech-used .project-tech-list li i.fa-hotjar{color:#ff3c00}.project-wrapper .tech-used .project-tech-list li i.fa-design-systems{color:#6366f1}.project-wrapper .tech-used .project-tech-list li i.fa-google-analytics{color:#a50e0e}.project-wrapper .tech-used .project-tech-list li i.fa-gtm{color:#0d652d}.project-wrapper .tech-used .project-tech-list li i.fa-a-b-testing{color:#4285f4}.project-wrapper .tech-used .project-tech-list li i.fa-seo{color:#fbbc04}.project-wrapper .tech-used .project-tech-list li i.fa-responsive-design{color:#e37400}.project-wrapper .tech-used .project-tech-list li i.fa-vite{color:#646cff}.project-wrapper .tech-used .project-tech-list li i.fa-material-ui{color:#007fff}.project-wrapper .tech-used .project-tech-list li i.fa-wcag,.project-wrapper .tech-used .project-tech-list li i.fa-wcag-2-1{color:#059669}.project-wrapper .tech-used .project-tech-list li i.fa-performance{color:#7c3aed}.project-wrapper .tech-used .project-tech-list li i.fa-css3-alt{color:#1572b6}.project-wrapper .tech-used .project-tech-list li i.fa-git-alt{color:#f05032}.skip-link{position:absolute;left:-999px;top:0;width:auto;min-width:160px;height:auto;overflow:hidden;z-index:10000;background:#0073aa;color:#fff;padding:12px 32px;border-radius:0 0 8px 8px;font-weight:700;font-size:1.1rem;letter-spacing:.03em;box-shadow:0 4px 16px #0073aa4d,0 2px 8px #00000080;border:none;opacity:.95;transition:left .2s,box-shadow .2s,background .2s,color .2s}.skip-link:focus{left:0;opacity:1;box-shadow:0 8px 24px #0073aa66,0 4px 12px #00000080}.skip-link:hover{background:#2c94da}.skip-link:active{background:#005177}.project-card{cursor:pointer}.project-card:focus-visible{outline:3px solid #0073aa;outline-offset:4px}.featured-work .project-card{background:#fff;border-radius:8px;overflow:hidden;transition:all .3s ease;border:none;box-shadow:0 4px 16px #0073aa1f;cursor:pointer}.featured-work .project-card:hover{transform:translateY(-12px);box-shadow:0 8px 24px #0073aa26;border-color:#0073aa}.featured-work .project-card:active{transform:translateY(-6px);box-shadow:0 4px 16px #0073aa1f}.featured-work .project-card{animation:fadeInUp .6s ease-out backwards;animation-delay:var(--card-delay);max-width:100%}.featured-work .project-card:hover{box-shadow:0 20px 50px #0073aa33}.featured-work .project-card:hover .project-card-image img{transform:scale(1.1)}.featured-work .project-card:hover .project-card-image .project-card-overlay{opacity:1}.featured-work .project-card:hover .project-title{color:#0073aa}.featured-work .project-card .project-card-image{position:relative;width:100%;height:220px;overflow:hidden;background:linear-gradient(135deg,#0073aa1a,#0073aa0d)}.featured-work .project-card .project-card-image img{width:100%;height:100%;object-fit:cover;transition:transform .5s cubic-bezier(.4,0,.2,1)}.featured-work .project-card .project-card-image .project-card-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.9) 0%,rgba(0,0,0,.8) 50%,transparent 100%);display:flex;align-items:flex-end;justify-content:center;padding-bottom:16px;opacity:0;transition:opacity .3s cubic-bezier(.4,0,.2,1)}.featured-work .project-card .project-card-image .project-card-overlay .view-project-text{color:#fff;font-weight:700;font-size:.875rem;letter-spacing:.5px}.featured-work .project-card .project-card-image .project-featured-badge{position:absolute;top:16px;right:16px;padding:6px 12px;background:linear-gradient(to right,#0073aa,#2c94da);color:#fff;font-size:.75rem;font-weight:700;border-radius:20px;box-shadow:0 4px 12px #0073aa66;z-index:2;animation:featuredBadgeEntry .6s cubic-bezier(.175,.885,.32,1.275) backwards;animation-delay:calc(var(--card-delay) + .3s)}.featured-work .project-card .project-card-image .project-featured-badge:hover{transform:scale(1.1) rotate(5deg)}.featured-work .project-card .project-card-content{padding:24px}.featured-work .project-card .project-title{font-family:trajan-pro-3,serif;font-size:1.5rem;margin:0 0 12px;font-weight:700;letter-spacing:.3px;line-height:1.3;transition:color .3s ease}.featured-work .project-card .project-title .project-type{font-family:dmsans,sans-serif;font-size:1.125rem;font-weight:700;letter-spacing:.2px}.featured-work .project-card .project-role-year{font-size:.875rem;font-weight:600;margin:0 0 16px;line-height:1.4}.featured-work .project-card .project-excerpt{font-size:.875rem;line-height:1.6;margin:0 0 20px;font-weight:500}.featured-work .project-card .project-metrics{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-bottom:20px}.featured-work .project-card .project-metrics .metric-item{text-align:center;padding:12px;background:linear-gradient(135deg,#0073aa0d 0% 100%);border:1px solid rgba(0,115,170,.2);border-radius:12px;transition:all .3s ease}.featured-work .project-card .project-metrics .metric-item:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0073aa1a}.featured-work .project-card .project-metrics .metric-item .metric-value{font-size:1.25rem;font-weight:700;color:#0073aa;font-family:dmsans,sans-serif;letter-spacing:.5px;margin-bottom:4px;display:block}.featured-work .project-card .project-metrics .metric-item .metric-label{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;display:block;line-height:1.3;margin-top:4px}.featured-work .project-card .project-tech-stack{display:flex;flex-wrap:nowrap;gap:8px;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;scrollbar-width:none}.featured-work .project-card .project-tech-stack::-webkit-scrollbar{display:none}.featured-work .project-card .project-tech-stack .tech-badge{background:#000000bf!important;color:#fff!important;border:2px solid;box-shadow:0 2px 6px #00000080;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);flex-shrink:0;white-space:nowrap}.featured-work .project-card .project-tech-stack .tech-badge:hover{transform:translateY(-3px) scale(1.05);background:#000000d9!important;box-shadow:0 4px 12px var(--tech-color, #0073aa),0 2px 8px #0000004d}.featured-work .project-card .project-tech-stack .tech-badge.tech-badge-more{border-color:#0073aa;color:#fff;background:#0073aa!important;font-weight:800}.featured-work .project-card .project-tech-stack .tech-badge.tech-badge-more:hover{background:#2c94da!important;box-shadow:0 0 12px #0073aa66,0 4px 8px #0073aa33}.portfolio-projects-section .project-card{display:flex;flex-direction:column;overflow:hidden;opacity:0;animation:fadeInUp .6s ease forwards}.portfolio-projects-section .project-card .project-content .project-tech{display:flex;gap:8px;flex-wrap:nowrap;margin-top:auto;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;scrollbar-width:none}.portfolio-projects-section .project-card .project-content .project-tech::-webkit-scrollbar{display:none}.portfolio-projects-section .project-card .project-content .project-tech .tech-tag{display:inline-flex;align-items:center;gap:4px;padding:4px 8px;border-radius:4px;white-space:nowrap;flex-shrink:0}@media (max-width: 900px){.featured-work .project-card .project-card-image{height:180px}.featured-work .project-card .project-card-image .project-featured-badge{top:12px;right:12px;padding:5px 11px;font-size:.75rem}.featured-work .project-card .project-card-content{padding:20px}.featured-work .project-card .project-title{font-size:1rem}.featured-work .project-card .project-role-year{font-size:.75rem}.featured-work .project-card .project-excerpt{font-size:.875rem}.featured-work .project-card .project-metrics{grid-template-columns:repeat(2,1fr);gap:10px}.featured-work .project-card .project-metrics .metric-item{padding:10px 8px}.featured-work .project-card .project-metrics .metric-item .metric-value{font-size:1rem}.featured-work .project-card .project-metrics .metric-item .metric-label{font-size:.75rem}.featured-work .project-card .project-tech-stack .tech-badge{font-size:.75rem;padding:7px 12px}.featured-work .project-card .project-tech-stack .tech-badge i{font-size:.75rem}}@media (max-width: 600px){.featured-work .project-card{border-radius:12px}.featured-work .project-card .project-card-image{height:160px}.featured-work .project-card .project-card-image .project-card-overlay .view-project-text{font-size:.75rem}.featured-work .project-card .project-card-image .project-featured-badge{top:12px;right:12px;padding:5px 10px;font-size:.75rem}.featured-work .project-card .project-card-content{padding:18px}.featured-work .project-card .project-title{font-size:1rem}.featured-work .project-card .project-role-year,.featured-work .project-card .project-excerpt{font-size:.75rem}.featured-work .project-card .project-metrics{grid-template-columns:repeat(2,1fr);gap:8px}.featured-work .project-card .project-metrics .metric-item{padding:10px 8px}.featured-work .project-card .project-metrics .metric-item .metric-value{font-size:1rem}.featured-work .project-card .project-metrics .metric-item .metric-label{font-size:.75rem}.featured-work .project-card .project-tech-stack{gap:6px}.featured-work .project-card .project-tech-stack .tech-badge{font-size:.75rem;padding:6px 10px;gap:5px}.featured-work .project-card .project-tech-stack .tech-badge i{font-size:.75rem}}.hero{position:relative;min-height:60vh;display:flex;align-items:center;overflow:hidden;background:linear-gradient(135deg,#f4f3f4,#fff);transform:translateZ(0);backface-visibility:hidden}.hero .hero-background{position:absolute;inset:0;z-index:0;overflow:hidden}.hero .hero-background .hero-gradient{position:absolute;width:150%;height:150%;top:-25%;right:-25%;background:radial-gradient(circle at 30% 50%,rgba(0,115,170,.05) 0%,rgba(0,115,170,.05) 35%,transparent 70%);animation:float 20s ease-in-out infinite}@keyframes float{0%,to{transform:translate(0) rotate(0)}33%{transform:translate(30px,-30px) rotate(5deg)}66%{transform:translate(-20px,20px) rotate(-5deg)}}@media (prefers-reduced-motion: reduce){.hero .hero-gradient{animation:none}}.hero .container{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:50px;padding:50px 40px;max-width:1200px;margin:0 auto}.hero .hero-content{flex:1;max-width:600px}.hero .hero-content .badge{margin-bottom:24px}.hero .hero-content .hero-heading{font-size:clamp(2rem,5vw,3.5rem);font-weight:700;line-height:1.2;margin-bottom:24px;font-family:dmsans,sans-serif}.hero .hero-content .hero-heading .hero-heading-line{display:block;color:#333}.hero .hero-content .hero-heading .hero-heading-animated{display:block;background:linear-gradient(135deg,#0073aa,#2c94da);background-size:200% 200%;-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;min-height:1.2em;animation:gradientShift 3s ease infinite}@keyframes gradientShift{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}.hero .hero-content .hero-description{font-size:clamp(1rem,2vw,1.25rem);color:#595959;max-width:600px;line-height:1.7;margin-bottom:32px}.hero .hero-content .hero-description .highlight-text{color:#0073aa;font-weight:600}.hero .hero-content .hero-cta-buttons{display:flex;gap:16px;flex-wrap:wrap;margin-bottom:48px}.hero .hero-content .hero-cta-buttons .btn-primary,.hero .hero-content .hero-cta-buttons .btn-secondary{padding:16px 32px;border-radius:10px;font-weight:600;text-decoration:none;display:inline-flex;align-items:center;gap:12px;font-size:1rem;transition:all .3s cubic-bezier(.4,0,.2,1);letter-spacing:.3px;font-family:dmsans,sans-serif}.hero .hero-content .hero-cta-buttons .btn-primary i,.hero .hero-content .hero-cta-buttons .btn-secondary i{font-size:1.125rem;transition:transform .3s ease}.hero .hero-content .hero-cta-buttons .btn-primary{background:linear-gradient(135deg,#0073aa,#2c94da);color:#fff;box-shadow:0 4px 16px #0073aa33;border:none}.hero .hero-content .hero-cta-buttons .btn-primary:hover{transform:translateY(-2px);box-shadow:0 8px 24px #0073aa4d}.hero .hero-content .hero-cta-buttons .btn-primary:hover i{transform:translate(4px)}.hero .hero-content .hero-cta-buttons .btn-secondary{background:#fff;color:#333;border:2px solid #cccccc;box-shadow:0 2px 8px #00000080}.hero .hero-content .hero-cta-buttons .btn-secondary:hover{border-color:#0073aa;background:#0073aa0d;transform:translateY(-2px);box-shadow:0 4px 16px #0073aa1a}.hero .hero-content .hero-cta-buttons .btn-secondary:hover i{transform:scale(1.1)}.hero .hero-content .hero-stats-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;padding-top:32px;border-top:1px solid #e3e3e3}@media (min-width: 600px){.hero .hero-content .hero-stats-grid{grid-template-columns:repeat(4,1fr)}}.hero .hero-content .hero-stats-grid .stat-item{text-align:left}.hero .hero-content .hero-stats-grid .stat-item .stat-number{font-size:clamp(1.5rem,3vw,2rem);font-weight:700;background:linear-gradient(135deg,#0073aa,#2c94da);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;font-family:dmsans,sans-serif;margin-bottom:4px}.hero .hero-content .hero-stats-grid .stat-item .stat-label{font-size:.875rem;color:#595959;margin-top:4px;font-weight:500;font-family:dmsans,sans-serif}.hero .hero-image{flex:0 0 auto;margin:0;animation:fadeInRight .8s ease-out .2s both;transform:translateZ(0)}.hero .hero-image .hero-image-wrapper{position:relative;width:360px;height:360px;border-radius:50%;overflow:hidden;box-shadow:0 4px 12px #0073aa1a,0 8px 24px #0073aa1a;border:6px solid #ffffff;transition:all .4s cubic-bezier(.4,0,.2,1);backface-visibility:hidden}.hero .hero-image .hero-image-wrapper:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:conic-gradient(from 0deg,transparent 0deg 340deg,#2c94da 340deg 360deg);animation:rotate 4s linear infinite;z-index:-1}.hero .hero-image .hero-image-wrapper img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s ease}.hero .hero-image .hero-image-wrapper:hover{transform:translateY(-8px) scale(1.02);box-shadow:0 24px 72px #0073aa33,0 12px 32px #0073aa1a}.hero .hero-image .hero-image-wrapper:hover img{transform:scale(1.05)}@keyframes rotate{to{transform:rotate(360deg)}}@keyframes fadeInRight{0%{opacity:0;transform:translate(50px)}to{opacity:1;transform:translate(0)}}@media (max-width: 1050px){.hero{min-height:60vh}.hero .container{gap:40px;padding:40px 30px}.hero .hero-content .hero-greeting{font-size:.875rem;letter-spacing:1.5px}.hero .hero-content .hero-name{font-size:2.5rem}}@media (max-width: 1050px) and (max-width: 900px){.hero .hero-content .hero-name{font-size:2rem}}@media (max-width: 1050px) and (max-width: 600px){.hero .hero-content .hero-name{font-size:1.25rem}}@media (max-width: 1050px){.hero .hero-content .hero-title-wrapper .hero-rotating{font-size:1rem}.hero .hero-content .hero-description{font-size:.875rem;line-height:1.65}.hero .hero-image .hero-image-wrapper{width:300px;height:300px}}@media (max-width: 900px){.hero{min-height:auto;padding:30px 0}.hero .container{flex-direction:column-reverse;text-align:center;gap:30px;padding:30px 20px}.hero .hero-content{max-width:100%}.hero .hero-content .hero-greeting{font-size:.875rem;letter-spacing:1.5px}.hero .hero-content .hero-name{font-size:2.5rem;line-height:1.2}}@media (max-width: 900px) and (max-width: 900px){.hero .hero-content .hero-name{font-size:2rem}}@media (max-width: 900px) and (max-width: 600px){.hero .hero-content .hero-name{font-size:1.25rem}}@media (max-width: 900px){.hero .hero-content .hero-title-wrapper{min-height:50px}.hero .hero-content .hero-title-wrapper .hero-rotating{font-size:1rem}.hero .hero-content .hero-title-wrapper .hero-rotating:before{width:30px;height:2px}.hero .hero-content .hero-description{max-width:100%;font-size:.875rem;line-height:1.65}.hero .hero-content .hero-cta{justify-content:center}.hero .hero-image .hero-image-wrapper{width:260px;height:260px}}@media (max-width: 600px){.hero .container{padding:20px 15px;gap:24px}.hero .hero-content .hero-greeting{font-size:.75rem;letter-spacing:1.5px}.hero .hero-content .hero-name{font-size:1.25rem;line-height:1.25}.hero .hero-content .hero-title-wrapper{min-height:40px}.hero .hero-content .hero-title-wrapper .hero-rotating{font-size:.875rem}.hero .hero-content .hero-title-wrapper .hero-rotating:before{width:24px;margin-right:8px}.hero .hero-content .hero-description{font-size:.75rem;line-height:1.6}.hero .hero-content .hero-cta{flex-direction:column;align-items:stretch}.hero .hero-content .hero-cta .btn{width:100%;justify-content:center;padding:12px 24px}.hero .hero-image .hero-image-wrapper{width:200px;height:200px;border:4px solid #ffffff}}@media (prefers-reduced-motion: reduce){.hero .hero-background .hero-gradient,.hero .hero-content,.hero .hero-image{animation:none}.hero .hero-image .hero-image-wrapper:before{animation:none}}html.dark-mode .hero{background:linear-gradient(135deg,#1a1a1a,#2a2a2a)}html.dark-mode .hero .hero-background .hero-gradient{background:radial-gradient(circle at 30% 50%,rgba(44,148,218,.08) 0%,rgba(44,148,218,.04) 35%,transparent 70%)}html.dark-mode .hero .hero-content .badge{background:#2c94da26;color:#e0e0e0;border-color:#2c94da4d}html.dark-mode .hero .hero-content .hero-heading .hero-heading-line{color:#e0e0e0}html.dark-mode .hero .hero-content .hero-heading .hero-heading-animated{background:linear-gradient(135deg,#2c94da 0% 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}html.dark-mode .hero .hero-content .hero-description{color:#a0a0a0}html.dark-mode .hero .hero-content .hero-description .highlight-text{color:#2c94da}html.dark-mode .hero .hero-content .hero-cta-buttons .btn-primary{background:linear-gradient(135deg,#2c94da,#0073aa);box-shadow:0 4px 16px #2c94da33}html.dark-mode .hero .hero-content .hero-cta-buttons .btn-primary:hover{box-shadow:0 8px 24px #2c94da4d}html.dark-mode .hero .hero-content .hero-cta-buttons .btn-secondary{background:#252525;color:#e0e0e0;border-color:#404040}html.dark-mode .hero .hero-content .hero-cta-buttons .btn-secondary:hover{border-color:#2c94da;background:#2c94da1a;box-shadow:0 2px 8px #2c94da26}html.dark-mode .hero .hero-content .hero-stats-grid{border-top-color:#404040}html.dark-mode .hero .hero-content .hero-stats-grid .stat-item .stat-number{background:linear-gradient(135deg,#2c94da 0% 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}html.dark-mode .hero .hero-content .hero-stats-grid .stat-item .stat-label{color:#a0a0a0}html.dark-mode .hero .hero-image .hero-image-wrapper{border-color:#1a1a1a;box-shadow:0 12px 32px #00000080,0 4px 16px #2c94da33}html.dark-mode .hero .hero-image .hero-image-wrapper:before{background:conic-gradient(from 0deg,transparent 0deg 340deg,#2c94da 340deg 360deg)}html.dark-mode .hero .hero-image .hero-image-wrapper:hover{box-shadow:0 24px 72px #0009,0 12px 32px #2c94da4d}.about{padding:80px 0;background:linear-gradient(180deg,#fff,#f4f3f4);position:relative;overflow:hidden}.about .container{max-width:1200px;margin:0 auto;padding:0 40px}.about .about-content-condensed{max-width:900px;margin:0 auto;text-align:center}.about .about-tech-preview{margin-bottom:48px}.about .about-tech-preview .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}.about .about-tech-preview .tech-icons-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:24px;margin:0 auto}@media (max-width: 600px){.about .about-tech-preview .tech-icons-grid{grid-template-columns:repeat(2,1fr);gap:16px}}.about .about-tech-preview .tech-icon-item{display:flex;flex-direction:column;align-items:center;gap:12px;padding:24px 16px;background:#fff;border-radius:8px;border:2px solid #e3e3e3;transition:all .3s cubic-bezier(.4,0,.2,1);cursor:default}.about .about-tech-preview .tech-icon-item i{font-size:3rem;color:var(--tech-color);transition:transform .3s ease}@media (max-width: 900px){.about .about-tech-preview .tech-icon-item i{font-size:2.5rem}}@media (max-width: 600px){.about .about-tech-preview .tech-icon-item i{font-size:2.5rem}}.about .about-tech-preview .tech-icon-item .tech-name{font-size:.875rem;font-weight:600;color:#333;font-family:dmsans,sans-serif;letter-spacing:.3px;margin-bottom:8px}@media (max-width: 600px){.about .about-tech-preview .tech-icon-item .tech-name{font-size:.75rem}}.about .about-tech-preview .tech-icon-item .tech-proficiency-bar{width:100%;height:4px;background:#00000080;border-radius:2px;overflow:hidden;position:relative;opacity:0;transition:opacity .3s ease-in-out}.about .about-tech-preview .tech-icon-item .tech-proficiency-bar .tech-proficiency-fill{height:100%;width:0;background:var(--tech-color);border-radius:2px;transition:width .6s ease-in-out;position:relative}.about .about-tech-preview .tech-icon-item .tech-proficiency-bar .tech-proficiency-fill:after{content:"";position:absolute;top:0;right:0;bottom:0;width:30%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.4))}.about .about-tech-preview .tech-icon-item:hover{border-color:var(--tech-color);box-shadow:0 8px 24px #00000080;background:#fffffffa}.about .about-tech-preview .tech-icon-item:hover i{transform:scale(1.1)}.about .about-tech-preview .tech-icon-item:hover .tech-proficiency-bar{opacity:1}.about .about-tech-preview .tech-icon-item:hover .tech-proficiency-fill{width:calc(var(--proficiency) * 1%)}.about .about-tech-preview .tech-icon-item:focus-visible{outline:3px solid var(--tech-color);outline-offset:2px}.about .about-cta{margin-top:48px}.about .about-cta .bio-cta-button{display:inline-flex;align-items:center;justify-content:space-between;gap:20px;padding:16px 32px;background:linear-gradient(135deg,#0073aa,#2c94da);color:#fff;text-decoration:none;border-radius:10px;box-shadow:0 4px 16px #0073aa4d;transition:all .3s cubic-bezier(.4,0,.2,1);font-family:dmsans,sans-serif;min-width:280px;max-width:500px}.about .about-cta .bio-cta-button .cta-content{display:flex;align-items:center;gap:12px}.about .about-cta .bio-cta-button .cta-content i{font-size:1.25rem;flex-shrink:0}.about .about-cta .bio-cta-button .cta-content .cta-text{display:flex;flex-direction:column;align-items:flex-start;text-align:left;gap:2px}.about .about-cta .bio-cta-button .cta-content .cta-text strong{font-size:1rem;font-weight:600;letter-spacing:.3px}.about .about-cta .bio-cta-button .cta-content .cta-text small{font-size:.875rem;opacity:.9;font-weight:400;letter-spacing:.2px}.about .about-cta .bio-cta-button .cta-arrow{font-size:1.125rem;transition:transform .3s ease;flex-shrink:0}.about .about-cta .bio-cta-button:hover{transform:translateY(-2px);box-shadow:0 8px 24px #0073aa66}.about .about-cta .bio-cta-button:hover .cta-arrow{transform:translate(4px)}.about .about-cta .bio-cta-button:active{transform:translateY(0)}.about .about-cta .bio-cta-button:focus-visible{outline:3px solid rgba(0,115,170,.5);outline-offset:3px}@media (max-width: 600px){.about .about-cta .bio-cta-button{min-width:auto;width:100%;max-width:100%;padding:14px 24px}.about .about-cta .bio-cta-button .cta-content i{font-size:1.125rem}.about .about-cta .bio-cta-button .cta-arrow{font-size:1rem}}@media (max-width: 900px){.about .about-tech-preview .tech-icons-grid{grid-template-columns:repeat(3,1fr);gap:20px}}@media (max-width: 600px){.about{padding:40px 0}.about .container{padding:0 15px}.about .about-tech-preview .tech-icons-grid{grid-template-columns:repeat(2,1fr);gap:16px}}html.dark-mode .about{background:linear-gradient(180deg,#1a1a1a,#2a2a2a)}html.dark-mode .about .about-content-condensed{color:#e0e0e0}html.dark-mode .about .about-tech-preview .tech-icon-item{background:#252525;border-color:#404040}html.dark-mode .about .about-tech-preview .tech-icon-item .tech-name{color:#e0e0e0}html.dark-mode .about .about-tech-preview .tech-icon-item .tech-proficiency-bar{background:#40404080}html.dark-mode .about .about-tech-preview .tech-icon-item .tech-proficiency-bar .tech-proficiency-fill:after{background:linear-gradient(90deg,transparent,rgba(255,255,255,.2))}html.dark-mode .about .about-tech-preview .tech-icon-item:hover{background:#252525cc;box-shadow:0 4px 16px #0006}html.dark-mode .about .bio-cta-button{background:linear-gradient(135deg,#2c94da,#0073aa);box-shadow:0 4px 16px #2c94da33}html.dark-mode .about .bio-cta-button:hover{box-shadow:0 8px 24px #2c94da4d}.featured-work{padding:80px 0;background:linear-gradient(180deg,#fff,#f4f3f4);position:relative;overflow:hidden}.featured-work .container{max-width:1200px;margin:0 auto;padding:0 40px}.featured-work .featured-work-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:32px;margin-bottom:40px}.featured-work .featured-work-cta{text-align:center;margin-top:48px}.featured-work .portfolio-cta-button{display:inline-flex;align-items:center;justify-content:space-between;gap:20px;padding:16px 32px;background:linear-gradient(135deg,#0073aa,#2c94da);color:#fff;text-decoration:none;border-radius:10px;box-shadow:0 4px 16px #0073aa4d;transition:all .3s cubic-bezier(.4,0,.2,1);font-family:dmsans,sans-serif;min-width:280px;max-width:500px}.featured-work .portfolio-cta-button .cta-content{display:flex;align-items:center;gap:12px}.featured-work .portfolio-cta-button .cta-content i{font-size:1.25rem;flex-shrink:0}.featured-work .portfolio-cta-button .cta-content .cta-text{display:flex;flex-direction:column;align-items:flex-start;text-align:left;gap:2px}.featured-work .portfolio-cta-button .cta-content .cta-text strong{font-size:1rem;font-weight:600;letter-spacing:.3px}.featured-work .portfolio-cta-button .cta-content .cta-text small{font-size:.875rem;opacity:.9;font-weight:400;letter-spacing:.2px}.featured-work .portfolio-cta-button .cta-arrow{font-size:1.125rem;transition:transform .3s ease;flex-shrink:0}.featured-work .portfolio-cta-button:hover{transform:translateY(-2px);box-shadow:0 8px 24px #0073aa66}.featured-work .portfolio-cta-button:hover .cta-arrow{transform:translate(4px)}.featured-work .portfolio-cta-button:active{transform:translateY(0)}.featured-work .portfolio-cta-button:focus-visible{outline:3px solid rgba(0,115,170,.5);outline-offset:3px}@media (max-width: 600px){.featured-work .portfolio-cta-button{min-width:auto;width:100%;max-width:100%;padding:14px 24px}.featured-work .portfolio-cta-button .cta-content i{font-size:1.125rem}.featured-work .portfolio-cta-button .cta-arrow{font-size:1rem}}@media (max-width: 1050px){.featured-work{padding:60px 0}.featured-work .container{padding:0 30px}.featured-work .featured-work-grid{grid-template-columns:1fr;gap:24px}.featured-work .project-card .project-card-content{padding:24px}.featured-work .project-card .project-title{font-size:1.25rem}.featured-work .project-card .project-metrics{grid-template-columns:repeat(3,1fr);gap:10px;padding:14px}.featured-work .project-card .project-metrics .metric-item{padding:6px}.featured-work .project-card .project-metrics .metric-item .metric-value{font-size:.875rem}.featured-work .project-card .project-metrics .metric-item .metric-label{font-size:.75rem}}@media (max-width: 900px){.featured-work{padding:50px 0}.featured-work .container{padding:0 20px}.featured-work .featured-work-grid{grid-template-columns:1fr;gap:24px}}@media (max-width: 600px){.featured-work{padding:40px 0}.featured-work .container{padding:0 16px}.featured-work .featured-work-grid{gap:20px}}@media (prefers-reduced-motion: reduce){.featured-work .project-card{animation:none}.featured-work .project-card:hover,.featured-work .project-card:hover .project-card-image img{transform:none}}html.dark-mode .featured-work{background:linear-gradient(180deg,#1a1a1a,#2a2a2a)}.blog-section{padding:80px 0;background:linear-gradient(180deg,#fff,#f4f3f4);position:relative;overflow:hidden}.blog-section .container{max-width:1200px;margin:0 auto;padding:0 40px}.blog-section .blog-posts-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:32px;margin-bottom:48px}.blog-section .blog-loading{grid-column:1/-1;text-align:center;padding:60px 20px;color:#595959;font-family:dmsans,sans-serif}.blog-section .blog-card{background:#fff;border-radius:8px;overflow:hidden;transition:all .3s ease;border:none;box-shadow:0 4px 16px #0073aa1f;cursor:pointer}.blog-section .blog-card:hover{transform:translateY(-8px);box-shadow:0 8px 24px #0073aa26;border-color:#0073aa}.blog-section .blog-card:active{transform:translateY(-4px);box-shadow:0 4px 16px #0073aa1f}.blog-section .blog-card{animation:fadeInUp .6s ease-out backwards;animation-delay:var(--card-delay)}.blog-section .blog-card:hover{box-shadow:0 20px 50px #0073aa1a}.blog-section .blog-card:hover .blog-card-image img{transform:scale(1.1)}.blog-section .blog-card:hover .blog-title{color:#0073aa}.blog-section .blog-card:hover .blog-read-more i{transform:translate(4px)}.blog-section .blog-card .blog-card-link{text-decoration:none;color:inherit;display:block}.blog-section .blog-card .blog-card-image{position:relative;width:100%;height:220px;overflow:hidden;background:linear-gradient(135deg,#0073aa1a,#0073aa0d)}.blog-section .blog-card .blog-card-image img{width:100%;height:100%;object-fit:cover;transition:transform .5s cubic-bezier(.4,0,.2,1)}.blog-section .blog-card .blog-card-image .blog-card-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.9) 0%,transparent 60%);display:flex;align-items:flex-end;justify-content:center;padding-bottom:20px;opacity:0;transition:opacity .3s cubic-bezier(.4,0,.2,1)}.blog-section .blog-card .blog-card-image .blog-card-overlay .read-more-text{color:#fff;font-weight:700;font-size:.875rem;letter-spacing:.5px}.blog-section .blog-card .blog-card-content{padding:24px}.blog-section .blog-card .blog-card-content .blog-date{display:inline-block;font-family:dmsans,sans-serif;font-size:.75rem;font-weight:600;color:#0073aa;text-transform:uppercase;letter-spacing:1px;margin-bottom:12px}.blog-section .blog-card .blog-card-content .blog-title{font-family:trajan-pro-3,serif;font-size:1.25rem;margin:0 0 12px;line-height:1.4;transition:color .3s ease;font-weight:500}.blog-section .blog-card .blog-card-content .blog-excerpt{font-size:.875rem;line-height:1.7;margin-bottom:16px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.blog-section .blog-card .blog-card-content .blog-read-more{display:inline-flex;align-items:center;gap:8px;font-family:dmsans,sans-serif;font-size:.875rem;font-weight:600;color:#0073aa;letter-spacing:.3px}.blog-section .blog-card .blog-card-content .blog-read-more i{font-size:.75rem;transition:transform .3s ease}.blog-section .blog-compact-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-bottom:48px}.blog-section .blog-compact-card{background:var(--card-background);border:1px solid var(--card-border);border-radius:12px;overflow:hidden;transition:all .3s ease}.blog-section .blog-compact-card:hover{border-color:var(--accent-primary);box-shadow:0 12px 32px #0073aa66;transform:translateY(-2px)}.blog-section .blog-compact-link{display:flex;flex-direction:column;height:100%;text-decoration:none;color:inherit}.blog-section .blog-compact-image{position:relative;width:100%;height:120px;overflow:hidden;background:var(--surface-variant)}.blog-section .blog-compact-image img{width:100%;height:100%;object-fit:cover;transition:transform .3s ease}.blog-compact-card:hover .blog-section .blog-compact-image img{transform:scale(1.05)}.blog-section .blog-compact-content{padding:16px;display:flex;flex-direction:column;gap:8px;flex:1}.blog-section .blog-compact-date{font-size:12px;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.blog-section .blog-compact-title{font-size:14px;font-weight:600;line-height:1.4;color:var(--text-primary);margin:0;flex:1}.blog-section .blog-compact-read-more{font-size:13px;color:var(--accent-primary);font-weight:500;display:flex;align-items:center;gap:6px}.blog-section .blog-compact-read-more i{font-size:11px;transition:transform .3s ease}.blog-compact-card:hover .blog-section .blog-compact-read-more i{transform:translate(4px)}.blog-section .blog-cta{text-align:center;margin-top:48px}.blog-section .blog-cta-button{display:inline-flex;align-items:center;justify-content:space-between;gap:20px;padding:16px 32px;background:linear-gradient(135deg,#0073aa,#2c94da);color:#fff;text-decoration:none;border-radius:10px;box-shadow:0 4px 16px #0073aa4d;transition:all .3s cubic-bezier(.4,0,.2,1);font-family:dmsans,sans-serif;min-width:280px;max-width:500px}.blog-section .blog-cta-button .cta-content{display:flex;align-items:center;gap:12px}.blog-section .blog-cta-button .cta-content i{font-size:1.25rem;flex-shrink:0}.blog-section .blog-cta-button .cta-content .cta-text{display:flex;flex-direction:column;align-items:flex-start;text-align:left;gap:2px}.blog-section .blog-cta-button .cta-content .cta-text strong{font-size:1rem;font-weight:600;letter-spacing:.3px}.blog-section .blog-cta-button .cta-content .cta-text small{font-size:.875rem;opacity:.9;font-weight:400;letter-spacing:.2px}.blog-section .blog-cta-button .cta-arrow{font-size:1.125rem;transition:transform .3s ease;flex-shrink:0}.blog-section .blog-cta-button:hover{transform:translateY(-2px);box-shadow:0 8px 24px #0073aa66}.blog-section .blog-cta-button:hover .cta-arrow{transform:translate(4px)}.blog-section .blog-cta-button:active{transform:translateY(0)}.blog-section .blog-cta-button:focus-visible{outline:3px solid rgba(0,115,170,.5);outline-offset:3px}@media (max-width: 600px){.blog-section .blog-cta-button{min-width:auto;width:100%;max-width:100%;padding:14px 24px}.blog-section .blog-cta-button .cta-content i{font-size:1.125rem}.blog-section .blog-cta-button .cta-arrow{font-size:1rem}}@media (max-width: 1050px){.blog-section{padding:60px 0}.blog-section .container{padding:0 30px}.blog-section .blog-posts-grid{grid-template-columns:1fr;gap:24px}.blog-section .blog-compact-grid{grid-template-columns:repeat(2,1fr);gap:16px}}@media (max-width: 900px){.blog-section{padding:50px 0}.blog-section .container{padding:0 20px}.blog-section .blog-posts-grid{gap:20px;margin-bottom:40px}.blog-section .blog-compact-grid{grid-template-columns:1fr;gap:16px;margin-bottom:40px}.blog-section .blog-card .blog-card-image{height:180px}.blog-section .blog-card .blog-card-content{padding:20px}.blog-section .blog-compact-card .blog-compact-link{flex-direction:row}.blog-section .blog-compact-card .blog-compact-image{width:100px;height:100px;flex-shrink:0}.blog-section .blog-compact-card .blog-compact-content{padding:12px}}html.dark-mode .blog-section{background:linear-gradient(180deg,#1a1a1a,#2a2a2a)}html.dark-mode .blog-section .blog-loading{color:#a0a0a0}html.dark-mode .blog-section .blog-card{background:#252525;border-color:#404040}html.dark-mode .blog-section .blog-card:hover{background:#252525e6;box-shadow:0 12px 36px #00000080;border-color:#2c94da}html.dark-mode .blog-section .blog-card .blog-card-image{background:linear-gradient(135deg,#2c94da33,#2c94da1a)}html.dark-mode .blog-section .blog-card .blog-card-image .blog-card-overlay{background:linear-gradient(to top,rgba(0,0,0,.9) 0%,transparent 60%)}html.dark-mode .blog-section .blog-card .blog-card-content .blog-date{color:#2c94da}html.dark-mode .blog-section .blog-card .blog-card-content .blog-title{color:#e0e0e0}html.dark-mode .blog-section .blog-card .blog-card-content:hover .blog-title{color:#2c94da}html.dark-mode .blog-section .blog-card .blog-card-content .blog-excerpt{color:#a0a0a0}html.dark-mode .blog-section .blog-card .blog-card-content .blog-read-more{color:#2c94da}html.dark-mode .blog-section .blog-compact-card{background:#252525;border-color:#404040}html.dark-mode .blog-section .blog-compact-card:hover{border-color:#2c94da;box-shadow:0 8px 24px #0006}html.dark-mode .blog-section .blog-compact-card .blog-compact-image{background:#4040404d}html.dark-mode .blog-section .blog-compact-card .blog-compact-date{color:#a0a0a0}html.dark-mode .blog-section .blog-compact-card .blog-compact-title{color:#e0e0e0}html.dark-mode .blog-section .blog-compact-card .blog-compact-read-more{color:#2c94da}html.dark-mode .blog-section .blog-cta-button{background:linear-gradient(135deg,#2c94da,#0073aa);box-shadow:0 4px 16px #2c94da33}html.dark-mode .blog-section .blog-cta-button:hover{box-shadow:0 8px 24px #2c94da4d}.contact-section{padding:100px 0 120px;background:linear-gradient(180deg,#fff,#f4f3f4);position:relative;overflow:hidden}.contact-section:before{content:"";position:absolute;top:0;left:50%;transform:translate(-50%);width:100%;max-width:1400px;height:100%;background:radial-gradient(ellipse at top center,rgba(0,115,170,.05) 0%,transparent 60%);pointer-events:none;z-index:0}.contact-section .container{max-width:1200px;margin:0 auto;padding:0 40px;position:relative;z-index:1}.contact-section .contact-grid{display:grid;grid-template-columns:360px 1fr;gap:40px;align-items:start}.contact-section .contact-info{display:flex;flex-direction:column;gap:16px;position:sticky;top:100px;animation:fadeInLeft .6s ease-out .2s backwards}.contact-section .contact-info .contact-info-card{background:#fff;border-radius:8px;transition:all .3s ease;border:1px solid #e3e3e3;box-shadow:0 1px 2px #0000000d;position:relative;padding:28px;transition:all .4s cubic-bezier(.4,0,.2,1);overflow:hidden}.contact-section .contact-info .contact-info-card:before{content:"";position:absolute;inset:0;border-radius:16px;padding:2px;background:linear-gradient(135deg,#0073aa,#2c94da);opacity:0;transition:opacity .4s ease;z-index:-1}.contact-section .contact-info .contact-info-card:hover{transform:translateY(-6px) scale(1.02);box-shadow:0 8px 24px #0073aa1a,0 16px 48px #0073aa33;border-color:transparent}.contact-section .contact-info .contact-info-card:hover:before{opacity:1}.contact-section .contact-info .contact-info-card:hover .info-icon{background:linear-gradient(135deg,#0073aa,#2c94da);color:#fff;transform:scale(1.1) rotate(5deg);box-shadow:0 4px 16px #0073aa4d}.contact-section .contact-info .contact-info-card:hover .contact-link{color:#0073aa;transform:translate(4px)}.contact-section .contact-info .contact-info-card .info-icon{width:56px;height:56px;border-radius:14px;background:linear-gradient(135deg,#0073aa0d,#0073aa1a);color:#0073aa;display:flex;align-items:center;justify-content:center;margin-bottom:20px;transition:all .4s cubic-bezier(.4,0,.2,1);box-shadow:0 2px 8px #0073aa1a}.contact-section .contact-info .contact-info-card .info-icon i{font-size:1.25rem}.contact-section .contact-info .contact-info-card h3{font-family:trajan-pro-3,serif;font-size:1rem;color:#333;margin:0 0 6px;font-weight:600;letter-spacing:.3px}.contact-section .contact-info .contact-info-card p{font-size:.875rem;color:#595959;margin:0 0 16px;line-height:1.6}.contact-section .contact-info .contact-info-card .contact-link{font-size:.875rem;color:#333;text-decoration:none;font-weight:600;transition:all .3s ease;word-break:break-word;display:inline-flex;align-items:center;gap:6px}.contact-section .contact-info .contact-info-card .contact-link:after{content:"→";font-size:1rem;transition:transform .3s ease}.contact-section .contact-info .contact-info-card .contact-link:hover{color:#0073aa}.contact-section .contact-info .contact-info-card .contact-link:hover:after{transform:translate(4px)}.contact-section .contact-info .contact-info-card .contact-link:focus-visible{outline:3px solid rgba(0,115,170,.3);outline-offset:4px;border-radius:6px}.contact-section .contact-form-wrapper{background:#fff;border-radius:12px;padding:24px;box-shadow:0 4px 16px #0073aa1f;border:1px solid #e3e3e3;animation:fadeInRight .6s ease-out .2s backwards;position:relative;transition:all .3s cubic-bezier(.4,0,.2,1)}.contact-section .contact-form-wrapper:hover{box-shadow:0 8px 24px #0073aa26;border-color:#0073aa33}.contact-section .contact-form-wrapper:before{content:"";position:absolute;top:0;right:0;width:200px;height:200px;background:radial-gradient(circle at top right,rgba(0,115,170,.05) 0%,transparent 70%);border-radius:12px;pointer-events:none;opacity:.6}.contact-section .contact-form-wrapper .form-title{font-family:dmsans,sans-serif;font-size:1.5rem;color:#333;margin:0 0 40px;font-weight:600;letter-spacing:.5px;position:relative;padding-bottom:20px}.contact-section .contact-form-wrapper .form-title:after{content:"";position:absolute;bottom:0;left:0;width:60px;height:3px;background:linear-gradient(90deg,#0073aa,#2c94da);border-radius:3px}.contact-section .contact-form-wrapper .contact-form{position:relative;z-index:1}.contact-section .contact-form-wrapper .contact-form .form-group{margin-bottom:40px}.contact-section .contact-form-wrapper .contact-form .form-group label{display:block;font-family:dmsans,sans-serif;font-size:1rem;font-weight:600;color:#333;margin-bottom:8px;letter-spacing:.3px}.contact-section .contact-form-wrapper .contact-form .form-group label .required{color:#0073aa;margin-left:2px}.contact-section .contact-form-wrapper .contact-form .form-group .form-control{width:100%;padding:12px 16px;font-family:Inter,sans-serif;font-size:1rem;color:#333;background:#fff;border:2px solid #e3e3e3;border-radius:8px;transition:all .3s cubic-bezier(.4,0,.2,1);outline:none}.contact-section .contact-form-wrapper .contact-form .form-group .form-control::placeholder{color:#6c757d;opacity:.7}.contact-section .contact-form-wrapper .contact-form .form-group .form-control:hover{border-color:#0073aa33}.contact-section .contact-form-wrapper .contact-form .form-group .form-control:focus{border-color:#0073aa;box-shadow:0 0 0 4px #0073aa1a;background:#fff}.contact-section .contact-form-wrapper .contact-form .form-group .form-control:disabled{background:#f4f3f4;cursor:not-allowed;opacity:.6}.contact-section .contact-form-wrapper .contact-form .form-group textarea.form-control{resize:vertical;min-height:140px;line-height:1.6}.contact-section .contact-form-wrapper .contact-form .btn-submit{width:100%;padding:16px 20px;font-size:1rem;font-weight:600;display:flex;align-items:center;justify-content:center;gap:12px;margin-top:60px;border:none;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1)}.contact-section .contact-form-wrapper .contact-form .btn-submit i{transition:transform .3s ease}.contact-section .contact-form-wrapper .contact-form .btn-submit:hover{transform:translateY(-2px);box-shadow:0 8px 24px #0073aa26}.contact-section .contact-form-wrapper .contact-form .btn-submit:hover i{transform:translate(4px)}.contact-section .contact-form-wrapper .contact-form .btn-submit:active{transform:translateY(0)}.contact-section .contact-form-wrapper .contact-form .btn-submit:disabled{opacity:.6;cursor:not-allowed;transform:none}.contact-section .contact-form-wrapper .contact-form iframe{border-radius:8px;display:block;border:1px solid #e3e3e3;box-shadow:0 1px 2px #0000000d;transition:all .3s ease;background:#fff}.contact-section .contact-form-wrapper .contact-form iframe:hover{box-shadow:0 2px 8px #00000014}@media (max-width: 1050px){.contact-section{padding:60px 0 80px}.contact-section .container{padding:0 30px}.contact-section .contact-header{margin-bottom:48px}.contact-section .contact-header h2{font-size:1.5rem}.contact-section .contact-grid{grid-template-columns:1fr;gap:32px}.contact-section .contact-info{flex-direction:row;flex-wrap:wrap}.contact-section .contact-info .contact-info-card{flex:1 1 calc(50% - 10px);min-width:250px}.contact-section .contact-form-wrapper{padding:28px}}@media (max-width: 900px){.contact-section{padding:50px 0 60px}.contact-section .container{padding:0 20px}.contact-section .contact-header{margin-bottom:40px}.contact-section .contact-header h2{font-size:1.25rem}.contact-section .contact-header .contact-intro{font-size:.875rem}.contact-section .contact-grid{gap:24px}.contact-section .contact-info{flex-direction:column}.contact-section .contact-info .contact-info-card{flex:1 1 100%}.contact-section .contact-form-wrapper{padding:24px}.contact-section .contact-form-wrapper .form-title{font-size:1rem;margin-bottom:20px}}.home-page .expertise-card,.home-page .stat-card,.home-page .project-card,.home-page .blog-card{backface-visibility:hidden;transform:translateZ(0);contain:layout style paint}.home-page .about-header,.home-page .featured-work-header,.home-page .blog-header{contain:layout style paint}html.dark-mode .about,html.dark-mode .featured-work,html.dark-mode .blog-section,html.dark-mode .contact-section{background:linear-gradient(180deg,#1a1a1a,#2a2a2a)}html.dark-mode .contact-section:before{background:radial-gradient(ellipse at top center,rgba(0,115,170,.2) 0%,transparent 60%)}html.dark-mode .contact-section .contact-info-card{background:#252525;border-color:#404040;box-shadow:0 4px 16px -2px #0000004d,0 0 0 1px #404040}html.dark-mode .contact-section .contact-info-card:before{background:linear-gradient(135deg,#2c94da,#abafb2)}html.dark-mode .contact-section .contact-info-card:hover{box-shadow:0 12px 32px -4px #00000080,0 0 0 1px #0073aa66}html.dark-mode .contact-section .contact-info-card h3{color:#e0e0e0}html.dark-mode .contact-section .contact-info-card p{color:#a0a0a0}html.dark-mode .contact-section .contact-info-card .contact-link{color:#e0e0e0}html.dark-mode .contact-section .contact-info-card .contact-link:hover{color:#2c94da}html.dark-mode .contact-section .contact-info-card .info-icon{background:linear-gradient(135deg,#0073aa4d,#0073aa33);box-shadow:0 4px 12px #0073aa4d}html.dark-mode .contact-section .contact-form-wrapper{background:#252525;border-color:#404040;box-shadow:0 8px 32px -4px #0006,0 0 0 1px #404040}html.dark-mode .contact-section .contact-form-wrapper:before{background:radial-gradient(circle at top right,rgba(0,115,170,.2) 0%,transparent 70%)}html.dark-mode .contact-section .contact-form-wrapper .form-title{color:#e0e0e0}html.dark-mode .contact-section .contact-form-wrapper iframe{border-color:#404040;box-shadow:0 2px 8px #0000004d}html.dark-mode .about-tech-preview .tech-icon-item{background:#252525;border-color:#ffffff1a}html.dark-mode .about-tech-preview .tech-icon-item .tech-name{color:#e0e0e0}html.dark-mode .about-tech-preview .tech-icon-item .tech-proficiency-bar{background:#ffffff1a}html.dark-mode .about-tech-preview .tech-icon-item:hover{background:#ffffff1a;border-color:var(--tech-color)}html.dark-mode .about-cta .bio-cta-button{background:linear-gradient(135deg,#0073aa,#2c94da);box-shadow:0 4px 16px #0073aa4d}html.dark-mode .about-cta .bio-cta-button:hover{box-shadow:0 8px 24px #0073aa66}@media (prefers-reduced-motion: reduce){.about .expertise-card,.about .tech-tag,.about .stat-card,.about .tech-icon-item,.about .bio-cta-button{transition:none}.about .expertise-card:hover,.about .tech-tag:hover,.about .stat-card:hover,.about .tech-icon-item:hover,.about .bio-cta-button:hover{transform:none}.about .tech-proficiency-fill{transition:none}.about .bio-cta-button:hover .cta-arrow{transform:none}}.portfolio-page{margin:0 auto}.portfolio-page section{margin-bottom:60px}.portfolio-page section:last-child{margin-bottom:0}.portfolio-filters{margin-bottom:60px;padding:20px 0;font-family:dmsans,sans-serif}.portfolio-filters .card{max-width:1200px;margin:0 auto;background:#fff;border-radius:8px;box-shadow:0 2px 8px #00000014;border:1px solid #e3e3e3}.portfolio-filters .card-body{padding:16px}.portfolio-filters .filter-tabs{display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap;position:relative}.portfolio-filters .filter-tabs .filter-icon{color:#0073aa;font-size:1.5rem;margin-right:8px;flex-shrink:0}.portfolio-filters .filter-tabs .filter-tab{background:#f4f3f4;border:2px solid #e3e3e3;border-radius:8px;padding:12px 20px;min-height:48px;font-size:.75rem;font-weight:600;color:#595959;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;align-items:center;gap:12px;position:relative;white-space:nowrap;box-shadow:0 1px 2px #0000000d}.portfolio-filters .filter-tabs .filter-tab i{font-size:1.125rem;transition:color .2s ease}.portfolio-filters .filter-tabs .filter-tab:hover{color:#0073aa;background:#fff;border-color:#0073aa33;transform:translateY(-2px);box-shadow:0 4px 16px #0073aa1f}.portfolio-filters .filter-tabs .filter-tab:hover i{color:#0073aa}.portfolio-filters .filter-tabs .filter-tab:active{transform:translateY(0);box-shadow:0 1px 2px #0000000d}.portfolio-filters .filter-tabs .filter-tab.active{color:#fff;font-weight:700;background:linear-gradient(135deg,#0073aa,#2c94da);border-color:#0073aa;box-shadow:0 4px 16px #0073aa1f}.portfolio-filters .filter-tabs .filter-tab.active i{color:#fff}.portfolio-filters .filter-tabs .filter-tab.active:hover{transform:translateY(-2px);box-shadow:0 8px 24px #0073aa26}@media (max-width: 900px){.portfolio-filters .filter-tabs{flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;scrollbar-width:none;justify-content:flex-start;gap:8px;padding:12px 16px;scroll-snap-type:x proximity}.portfolio-filters .filter-tabs::-webkit-scrollbar{display:none}.portfolio-filters .filter-tabs:after{content:"";position:absolute;right:0;top:0;bottom:0;width:40px;background:linear-gradient(to right,transparent,#f4f3f4);pointer-events:none}.portfolio-filters .filter-tabs .filter-tab{padding:8px 16px;font-size:.875rem;gap:8px;flex-shrink:0;scroll-snap-align:start}.portfolio-filters .filter-tabs .filter-tab i{font-size:1rem}.portfolio-filters .filter-tabs .filter-tab span{display:inline}}@media (max-width: 600px){.portfolio-filters .filter-tabs{gap:4px;padding:8px 12px}.portfolio-filters .filter-tabs .filter-tab{padding:8px 12px;gap:4px;min-width:auto}.portfolio-filters .filter-tabs .filter-tab span{display:none}.portfolio-filters .filter-tabs .filter-tab i{font-size:1.125rem;margin:0}.portfolio-filters .filter-tabs .filter-tab.active span{display:inline}}@media (max-width: 480px){.portfolio-filters .filter-tabs.filter-tabs--stacked{flex-direction:column;align-items:stretch;overflow-x:visible}.portfolio-filters .filter-tabs.filter-tabs--stacked .filter-tab{justify-content:center;width:100%}.portfolio-filters .filter-tabs.filter-tabs--stacked .filter-tab span{display:inline}}.portfolio-projects-section .projects-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(380px,1fr));gap:40px;margin:0 auto;align-items:stretch}@media (max-width: 1050px){.portfolio-projects-section .projects-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 900px){.portfolio-projects-section .projects-grid{grid-template-columns:1fr;gap:20px}}.portfolio-projects-section .project-card{background:#fff;border-radius:12px;border:1px solid #e3e3e3;box-shadow:0 1px 2px #0000000d;transition:all .3s ease}.portfolio-projects-section .project-card:hover{transform:translateY(-8px);box-shadow:0 8px 24px #0073aa26;border-color:#0073aa}.portfolio-projects-section .project-card{display:flex;flex-direction:column;overflow:hidden;opacity:0;animation:fadeInUp .6s ease forwards;height:100%}.portfolio-projects-section .project-card .project-image{position:relative;width:100%;aspect-ratio:1.7777777778;overflow:hidden;background:#f4f3f4}.portfolio-projects-section .project-card .project-image img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease}.portfolio-projects-section .project-card .project-image:hover img{transform:scale(1.05)}.portfolio-projects-section .project-card .project-image:hover img{transform:scale(1.07)}.portfolio-projects-section .project-card .project-image .project-badge{position:absolute;top:16px;right:16px;padding:4px 12px;border-radius:9999px;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;background:linear-gradient(135deg,#0073aa,#2c94da);color:#fff;box-shadow:0 4px 16px #0073aa1f}.portfolio-projects-section .project-card .project-content{padding:20px;flex:1;display:flex;flex-direction:column;gap:20px}.portfolio-projects-section .project-card .project-content h3{font-size:1.5rem;color:#0073aa;margin:0;font-weight:700;letter-spacing:.3px;line-height:1.25}.portfolio-projects-section .project-card .project-content p{font-size:1rem;color:#333;line-height:1.75;margin:0;flex:1}.portfolio-projects-section .project-card .project-content .project-tech{display:flex;gap:8px;flex-wrap:wrap;margin-top:auto}.portfolio-projects-section .project-card .project-content .project-tech .tech-tag{padding:4px 12px;background:#0073aa1a;border:1px solid rgba(0,115,170,.2);border-radius:9999px;font-size:.75rem;color:#0073aa;font-weight:500;transition:all .2s ease}.portfolio-projects-section .project-card .project-content .project-tech .tech-tag:hover{background:#0073aa26;border-color:#0073aa66}.portfolio-projects-section .project-card .project-content .project-tech .tech-tag{display:inline-flex;align-items:center;gap:4px;padding:4px 8px;border-radius:4px}.portfolio-projects-section .project-card .project-content .project-tech .tech-tag i{font-size:14px}.portfolio-projects-section .project-card .project-content .project-tech .tech-tag.more{background:#f4f3f4;color:#595959;border-color:#e3e3e3}.portfolio-projects-section .project-card .project-content .project-tech .tech-tag:hover{transform:translateY(-2px)}.portfolio-projects-section .project-card .project-content .btn-primary{background-color:#0073aa;border-radius:4px;color:#fff;border:solid 1px #005177;font-size:.875rem;font-weight:700;padding:12px 20px;text-decoration:none;text-transform:uppercase;transition:background .3s ease}.portfolio-projects-section .project-card .project-content .btn-primary:hover{background:#005177}.portfolio-projects-section .project-card .project-content .btn-primary{display:inline-flex;align-items:center;gap:8px}.portfolio-projects-section .project-card .project-content .btn-primary i{transition:transform .3s ease}.portfolio-projects-section .project-card .project-content .btn-primary:hover i{transform:translate(4px)}.portfolio-projects-section .project-card .project-content .btn-primary{background:linear-gradient(135deg,#0073aa,#2c94da);color:#fff;border:none;margin-top:10px;width:100%;justify-content:center;font-weight:600}.portfolio-projects-section .project-card .project-content .btn-primary:hover{transform:translateY(-2px);box-shadow:0 8px 24px #0073aa26}.portfolio-case-studies-section .case-studies-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(400px,1fr));gap:60px;align-items:stretch}@media (max-width: 900px){.portfolio-case-studies-section .case-studies-grid{grid-template-columns:1fr}}.portfolio-case-studies-section .case-studies-grid .case-study-card{background:#fff;border-radius:8px;overflow:hidden;transition:all .3s ease;border:none;box-shadow:0 4px 16px #0073aa1f;cursor:pointer}.portfolio-case-studies-section .case-studies-grid .case-study-card:hover{transform:translateY(-8px);box-shadow:0 8px 24px #0073aa26;border-color:#0073aa}.portfolio-case-studies-section .case-studies-grid .case-study-card:active{transform:translateY(-4px);box-shadow:0 4px 16px #0073aa1f}.portfolio-case-studies-section .case-studies-grid .case-study-card{display:flex;flex-direction:column;height:100%}.portfolio-case-studies-section .case-studies-grid .case-study-card .case-study-image{position:relative;width:100%;aspect-ratio:1.7777777778;overflow:hidden;background:#f4f3f4}.portfolio-case-studies-section .case-studies-grid .case-study-card .case-study-image img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease}.portfolio-case-studies-section .case-studies-grid .case-study-card .case-study-image:hover img{transform:scale(1.05)}.portfolio-case-studies-section .case-studies-grid .case-study-card .case-study-image .case-study-category{position:absolute;top:16px;left:16px;padding:4px 12px;background:#0073aaf2;color:#fff;border-radius:9999px;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.portfolio-case-studies-section .case-studies-grid .case-study-card .case-study-content{padding:20px;display:flex;flex-direction:column;gap:20px;flex:1}.portfolio-case-studies-section .case-studies-grid .case-study-card .case-study-content .case-study-meta{display:flex;gap:20px;font-size:.875rem;color:#6c757d;font-weight:500}.portfolio-case-studies-section .case-studies-grid .case-study-card .case-study-content .case-study-meta .year,.portfolio-case-studies-section .case-studies-grid .case-study-card .case-study-content .case-study-meta .duration{display:flex;align-items:center;gap:4px}.portfolio-case-studies-section .case-studies-grid .case-study-card .case-study-content .case-study-meta .year:before,.portfolio-case-studies-section .case-studies-grid .case-study-card .case-study-content .case-study-meta .duration:before{content:"•";color:#0073aa}.portfolio-case-studies-section .case-studies-grid .case-study-card .case-study-content .case-study-meta .year:first-child:before,.portfolio-case-studies-section .case-studies-grid .case-study-card .case-study-content .case-study-meta .duration:first-child:before{display:none}.portfolio-case-studies-section .case-studies-grid .case-study-card .case-study-content h3{font-size:1.5rem;color:#333;margin:0;line-height:1.3;font-weight:600}.portfolio-case-studies-section .case-studies-grid .case-study-card .case-study-content .subtitle{font-size:.875rem;color:#0073aa;font-weight:600;margin:0;line-height:1.5}.portfolio-case-studies-section .case-studies-grid .case-study-card .case-study-content .summary{font-size:1rem;color:#595959;line-height:1.7;margin:0;flex:1}.portfolio-case-studies-section .case-studies-grid .case-study-card .case-study-content .case-study-tags{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.portfolio-case-studies-section .case-studies-grid .case-study-card .case-study-content .case-study-tags .tag{padding:4px 12px;background:#0073aa14;border:1px solid rgba(0,115,170,.2);border-radius:9999px;font-size:.75rem;color:#0073aa;font-weight:500;transition:all .2s ease}.portfolio-case-studies-section .case-studies-grid .case-study-card .case-study-content .case-study-tags .tag:hover{background:#0073aa21;border-color:#0073aa66}.portfolio-case-studies-section .case-studies-grid .case-study-card .case-study-content .btn-primary{background-color:#0073aa;border-radius:4px;color:#fff;border:solid 1px #005177;font-size:.875rem;font-weight:700;padding:12px 20px;text-decoration:none;text-transform:uppercase;transition:background .3s ease}.portfolio-case-studies-section .case-studies-grid .case-study-card .case-study-content .btn-primary:hover{background:#005177}.portfolio-case-studies-section .case-studies-grid .case-study-card .case-study-content .btn-primary{display:inline-flex;align-items:center;gap:8px}.portfolio-case-studies-section .case-studies-grid .case-study-card .case-study-content .btn-primary i{transition:transform .3s ease}.portfolio-case-studies-section .case-studies-grid .case-study-card .case-study-content .btn-primary:hover i{transform:translate(4px)}.portfolio-case-studies-section .case-studies-grid .case-study-card .case-study-content .btn-primary{background:linear-gradient(135deg,#0073aa,#2c94da);color:#fff;border:none;margin-top:20px;width:100%;justify-content:center;font-weight:600;padding:12px 20px}.portfolio-case-studies-section .case-studies-grid .case-study-card .case-study-content .btn-primary:hover{transform:translateY(-2px);box-shadow:0 8px 24px #0073aa26}.portfolio-design-section .design-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;align-items:stretch}@media (max-width: 900px){.portfolio-design-section .design-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 600px){.portfolio-design-section .design-grid{grid-template-columns:1fr}}.portfolio-design-section .design-card{background:#fff;border-radius:12px;border:1px solid #e3e3e3;box-shadow:0 1px 2px #0000000d;transition:all .3s ease}.portfolio-design-section .design-card:hover{transform:translateY(-4px);box-shadow:0 8px 24px #0073aa26;border-color:#0073aa}.portfolio-design-section .design-card{display:flex;flex-direction:column;overflow:hidden;height:100%}.portfolio-design-section .design-card .design-image{position:relative;width:100%;aspect-ratio:1.3333333333;overflow:hidden;background:#f4f3f4}.portfolio-design-section .design-card .design-image img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease}.portfolio-design-section .design-card .design-image:hover img{transform:scale(1.05)}.portfolio-design-section .design-card .design-image{background:linear-gradient(135deg,#f4f3f4,#e9ecef)}.portfolio-design-section .design-card .design-image .design-category{position:absolute;top:16px;right:16px;font-size:.75rem;background:#fffffff2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:4px 12px;border-radius:9999px;font-size:.6875rem;font-weight:700;color:#0073aa;text-transform:uppercase;letter-spacing:.5px;box-shadow:0 2px 8px #0000001a;border:1px solid rgba(0,115,170,.2)}.portfolio-design-section .design-card .design-content{padding:20px;display:flex;flex-direction:column;gap:20px;flex:1}.portfolio-design-section .design-card .design-content h3{font-size:1.125rem;font-weight:600;color:#333;margin:0;line-height:1.4}.portfolio-design-section .design-card .design-content p{font-size:.9375rem;color:#595959;line-height:1.6;margin:0;flex:1}.portfolio-design-section .design-card .design-content .design-tags{display:flex;gap:8px;flex-wrap:wrap}.portfolio-design-section .design-card .design-content .design-tags .tag{padding:4px 12px;background:#0073aa14;border:1px solid rgba(0,115,170,.2);border-radius:9999px;font-size:.75rem;color:#0073aa;font-weight:500;transition:all .2s ease}.portfolio-design-section .design-card .design-content .design-tags .tag:hover{background:#0073aa21;border-color:#0073aa66}.portfolio-design-section .design-card .design-content .btn-link{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:12px 16px;background:#f4f3f4;border:1px solid #cccccc;border-radius:4px;font-size:.875rem;font-weight:600;color:#333;text-decoration:none;transition:all .3s ease;cursor:pointer;margin-top:10px}.portfolio-design-section .design-card .design-content .btn-link i{font-size:.875rem;transition:transform .3s ease;color:#0073aa}.portfolio-design-section .design-card .design-content .btn-link:hover{background:#0073aa;color:#fff;border-color:#0073aa;transform:translateY(-2px);box-shadow:0 4px 12px #0073aa4d}.portfolio-design-section .design-card .design-content .btn-link:hover i{color:#fff;transform:translate(4px)}.portfolio-github-section .github-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:40px;align-items:stretch}@media (max-width: 900px){.portfolio-github-section .github-grid{grid-template-columns:1fr}}.portfolio-github-section .github-card{background:#fff;border-radius:12px;border:1px solid #e3e3e3;box-shadow:0 1px 2px #0000000d;transition:all .3s ease}.portfolio-github-section .github-card:hover{transform:translateY(-4px);box-shadow:0 8px 24px #0073aa26;border-color:#0073aa}.portfolio-github-section .github-card{display:flex;flex-direction:column;overflow:hidden;height:100%}.portfolio-github-section .github-card .github-thumbnail{width:100%;aspect-ratio:16/9;overflow:hidden;background:linear-gradient(135deg,#f4f3f4,#e9ecef);position:relative}.portfolio-github-section .github-card .github-thumbnail img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease}.portfolio-github-section .github-card .github-content{padding:20px;display:flex;flex-direction:column;gap:20px;flex:1}.portfolio-github-section .github-card .github-header{display:flex;align-items:center;gap:10px}.portfolio-github-section .github-card .github-header i{font-size:1.5rem;color:#181717}.portfolio-github-section .github-card .github-header h3{font-size:1.25rem;color:#333;margin:0;font-weight:700}.portfolio-github-section .github-card p{font-size:1rem;color:#595959;line-height:1.75;flex:1;margin:0}.portfolio-github-section .github-card .github-tech{display:flex;gap:8px;flex-wrap:wrap}.portfolio-github-section .github-card .github-tech .tech-pill{padding:4px 12px;background:#0073aa14;border:1px solid rgba(0,115,170,.2);border-radius:9999px;font-size:.75rem;color:#0073aa;font-weight:500;transition:all .2s ease}.portfolio-github-section .github-card .github-tech .tech-pill:hover{background:#0073aa21;border-color:#0073aa66}.portfolio-github-section .github-card .github-actions{display:flex;gap:10px;margin-top:10px;padding-top:20px;border-top:1px solid #e3e3e3}@media (max-width: 600px){.portfolio-github-section .github-card .github-actions{flex-direction:column}}.portfolio-github-section .github-card .github-actions a{background-color:#0073aa;border-radius:4px;color:#fff;border:solid 1px #005177;font-size:.875rem;font-weight:700;padding:12px 20px;text-decoration:none;text-transform:uppercase;transition:background .3s ease}.portfolio-github-section .github-card .github-actions a:hover{background:#005177}.portfolio-github-section .github-card .github-actions a{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-weight:600;font-size:.875rem;padding:12px 16px;border-radius:4px;text-decoration:none;transition:all .3s ease}.portfolio-github-section .github-card .github-actions a i{font-size:1rem;transition:transform .3s ease}.portfolio-github-section .github-card .github-actions a.btn-primary{background:#0073aa;color:#fff;border:1px solid #0073aa}.portfolio-github-section .github-card .github-actions a.btn-primary:hover{background:#005177;border-color:#005177;transform:translateY(-2px);box-shadow:0 4px 12px #0073aa4d}.portfolio-github-section .github-card .github-actions a.btn-primary:hover i{transform:translate(2px)}.portfolio-github-section .github-card .github-actions a.btn-secondary{background:#f4f3f4;color:#333;border:1px solid #cccccc}.portfolio-github-section .github-card .github-actions a.btn-secondary i{color:#181717}.portfolio-github-section .github-card .github-actions a.btn-secondary:hover{background:#181717;color:#fff;border-color:#181717;transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.portfolio-github-section .github-card .github-actions a.btn-secondary:hover i{color:#fff;transform:scale(1.1)}.codepen-section{padding:56px 0}.codepen-section .section-head{margin-bottom:18px}.codepen-section .section-sub{color:#666;margin-bottom:28px}.codepen-section .codepen-grid{column-gap:20px;column-count:3}@media (max-width: 1100px){.codepen-section .codepen-grid{column-count:2}}@media (max-width: 640px){.codepen-section .codepen-grid{column-count:1}}.codepen-section .codepen-card{display:block;break-inside:avoid;margin:0 0 20px;background:#fff;border-radius:12px;overflow:hidden;text-decoration:none;color:inherit;box-shadow:0 4px 18px #14141e0f;transition:transform .18s ease,box-shadow .18s ease}.codepen-section .codepen-card:hover{transform:translateY(-6px);box-shadow:0 10px 30px #14141e1f}.codepen-section .card-media{position:relative;width:100%}.codepen-section .preview-img,.codepen-section .preview-video{width:100%;object-fit:cover;aspect-ratio:16/9}.codepen-section .media-overlay{position:absolute;inset:0;background:linear-gradient(to bottom,transparent,rgba(0,0,0,.06))}.codepen-section .card-body{padding:16px}.codepen-section .card-title{margin:0 0 6px;font-size:1.04rem}.codepen-section .card-desc{margin:0 0 12px;color:#666}.codepen-section .card-footer{display:flex;align-items:center;gap:8px;font-weight:600}.codepen-section .codepen-cta-row{display:flex;justify-content:center;margin-top:40px}.codepen-section .portfolio-cta-button{display:inline-flex;align-items:center;justify-content:space-between;gap:20px;padding:16px 32px;background:linear-gradient(135deg,#0073aa,#2c94da);color:#fff;text-decoration:none;border-radius:10px;box-shadow:0 4px 16px #0073aa4d;transition:all .3s cubic-bezier(.4,0,.2,1);font-family:dmsans,sans-serif;min-width:280px;max-width:500px}.codepen-section .portfolio-cta-button .cta-content{display:flex;align-items:center;gap:12px}.codepen-section .portfolio-cta-button .cta-content i{font-size:1.25rem;flex-shrink:0}.codepen-section .portfolio-cta-button .cta-content .cta-text{display:flex;flex-direction:column;align-items:flex-start;gap:2px}.codepen-section .portfolio-cta-button .cta-content .cta-text strong{font-size:1rem;font-weight:600;letter-spacing:.3px}.codepen-section .portfolio-cta-button .cta-content .cta-text small{font-size:.875rem;opacity:.9;font-weight:400;letter-spacing:.2px}.codepen-section .portfolio-cta-button .cta-arrow{font-size:1.125rem;transition:transform .3s ease;flex-shrink:0}.codepen-section .portfolio-cta-button:hover{transform:translateY(-2px);box-shadow:0 8px 24px #0073aa66}.codepen-section .portfolio-cta-button:hover .cta-arrow{transform:translate(4px)}.codepen-section .portfolio-cta-button:active{transform:translateY(0)}.codepen-section .portfolio-cta-button:focus-visible{outline:3px solid rgba(0,115,170,.5);outline-offset:3px}@media (max-width: 600px){.codepen-section .portfolio-cta-button{min-width:auto;width:100%;max-width:100%;padding:14px 24px}.codepen-section .portfolio-cta-button .cta-content i{font-size:1.125rem}.codepen-section .portfolio-cta-button .cta-arrow{font-size:1rem}}@media (prefers-reduced-motion: reduce){.codepen-section .portfolio-cta-button{transition:none}.codepen-section .portfolio-cta-button:hover{transform:none;box-shadow:0 4px 16px #0073aa4d}.codepen-section .portfolio-cta-button:hover .cta-arrow{transform:none}}.portfolio-codepen-section .codepen-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(380px,1fr));gap:40px;align-items:stretch}@media (max-width: 900px){.portfolio-codepen-section .codepen-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 600px){.portfolio-codepen-section .codepen-grid{grid-template-columns:1fr}}.portfolio-codepen-section .codepen-card{background:#fff;border-radius:12px;border:1px solid #e3e3e3;box-shadow:0 1px 2px #0000000d;transition:all .3s ease}.portfolio-codepen-section .codepen-card:hover{transform:translateY(-4px);box-shadow:0 8px 24px #0073aa26;border-color:#0073aa}.portfolio-codepen-section .codepen-card{display:flex;flex-direction:column;overflow:hidden;height:100%}.portfolio-codepen-section .codepen-card .codepen-embed{width:100%;background:#1e1f26;position:relative}.portfolio-codepen-section .codepen-card .codepen-embed iframe{display:block;border:none}.portfolio-codepen-section .codepen-card .codepen-content{padding:20px;display:flex;flex-direction:column;gap:20px;flex:1}.portfolio-codepen-section .codepen-card h3{font-size:1.25rem;color:#333;margin:0;font-weight:700}.portfolio-codepen-section .codepen-card p{font-size:1rem;color:#595959;line-height:1.75;flex:1;margin:0}.portfolio-codepen-section .codepen-card .codepen-tags{display:flex;gap:8px;flex-wrap:wrap}.portfolio-codepen-section .codepen-card .codepen-tags .tag{padding:4px 12px;background:#0073aa14;border:1px solid rgba(0,115,170,.2);border-radius:9999px;font-size:.75rem;color:#0073aa;font-weight:500;transition:all .2s ease}.portfolio-codepen-section .codepen-card .codepen-tags .tag:hover{background:#0073aa21;border-color:#0073aa66}.portfolio-codepen-section .codepen-card .btn-secondary{background-color:#0073aa;border-radius:4px;color:#fff;border:solid 1px #005177;font-size:.875rem;font-weight:700;padding:12px 20px;text-decoration:none;text-transform:uppercase;transition:background .3s ease}.portfolio-codepen-section .codepen-card .btn-secondary:hover{background:#005177}.portfolio-codepen-section .codepen-card .btn-secondary{background:#f4f3f4;color:#333;border:1px solid #cccccc;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-weight:600;margin-top:10px;padding:12px 16px;transition:all .3s ease}.portfolio-codepen-section .codepen-card .btn-secondary i{color:#1e1f26;transition:all .3s ease}.portfolio-codepen-section .codepen-card .btn-secondary:hover{background:#1e1f26;color:#fff;border-color:#1e1f26;transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.portfolio-codepen-section .codepen-card .btn-secondary:hover i{color:#fff;transform:scale(1.1)}.portfolio-cta-section{margin-top:120px}.portfolio-cta-section .cta-card{background:linear-gradient(135deg,#fff,#f4f3f4);border-radius:12px;padding:120px;text-align:center;border:1px solid #e3e3e3;box-shadow:0 8px 24px #0073aa26}.portfolio-cta-section .cta-card h2{font-family:trajan-pro-3,serif;font-size:2.5rem;color:#0073aa;margin:0 0 20px;font-weight:400}@media (max-width: 900px){.portfolio-cta-section .cta-card h2{font-size:2rem}}.portfolio-cta-section .cta-card p{font-size:1.25rem;color:#333;line-height:1.75;max-width:700px;margin:0 auto 60px}@media (max-width: 900px){.portfolio-cta-section .cta-card p{font-size:1rem}}.portfolio-cta-section .cta-card .cta-links{display:flex;justify-content:center;gap:20px;flex-wrap:wrap}.portfolio-cta-section .cta-card .cta-links a{background-color:#0073aa;border-radius:4px;color:#fff;border:solid 1px #005177;font-size:.875rem;font-weight:700;padding:12px 20px;text-decoration:none;text-transform:uppercase;transition:background .3s ease}.portfolio-cta-section .cta-card .cta-links a:hover{background:#005177}.portfolio-cta-section .cta-card .cta-links a{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-weight:600;transition:all .3s ease}.portfolio-cta-section .cta-card .cta-links a i{font-size:1.25rem}.portfolio-cta-section .cta-card .cta-links a.btn-primary{background:linear-gradient(135deg,#0073aa,#2c94da);color:#fff;border:none}.portfolio-cta-section .cta-card .cta-links a.btn-primary:hover{transform:translateY(-2px) scale(1.05);box-shadow:0 8px 24px #0073aa26}.portfolio-cta-section .cta-card .cta-links a.btn-secondary{background:#fff;color:#0073aa;border:1px solid #e3e3e3}.portfolio-cta-section .cta-card .cta-links a.btn-secondary:hover{background:#f4f3f4;border-color:#0073aa;transform:translateY(-2px)}@media (max-width: 600px){.portfolio-cta-section .cta-card .cta-links{flex-direction:column;width:100%}.portfolio-cta-section .cta-card .cta-links a{width:100%;justify-content:center}}.portfolio-modal{display:flex;align-items:center;justify-content:center}.portfolio-modal .modal-dialog{max-width:1200px;width:90%;margin:60px auto;outline:none;position:relative;max-height:90vh;overflow-y:auto}.portfolio-modal .modal-dialog::-webkit-scrollbar{width:8px}.portfolio-modal .modal-dialog::-webkit-scrollbar-track{background:#0000001a}.portfolio-modal .modal-dialog::-webkit-scrollbar-thumb{background:#0000004d;border-radius:4px}.portfolio-modal .modal-dialog::-webkit-scrollbar-thumb:hover{background:#00000080}@media (max-width: 1050px){.portfolio-modal .modal-dialog{max-width:95%;width:95%;margin:20px auto}}.portfolio-modal .modal-content{background:#fff;border:none;border-radius:12px;overflow:hidden;box-shadow:0 24px 48px #00000026,0 8px 16px #0000001a;outline:none}.portfolio-modal .modal-body{padding:0}.portfolio-modal .modal-wrapper{position:relative}.portfolio-modal .modal-close-btn{position:absolute;top:20px;right:20px;z-index:10;width:48px;height:48px;border-radius:50%;background:#fffffff2;border:none;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 16px #0073aa1f}.portfolio-modal .modal-close-btn i{font-size:1.25rem;color:#333}.portfolio-modal .modal-close-btn:hover{background:#fff;transform:scale(1.1);box-shadow:0 8px 24px #0073aa26}.portfolio-modal .modal-hero{width:100%;overflow:hidden;background:#f4f3f4;display:flex;align-items:center;justify-content:center;padding:20px}.portfolio-modal .modal-hero .hero-image{width:auto;max-width:100%;height:auto;display:block;object-fit:contain;max-height:600px}.portfolio-modal .modal-content-wrapper{padding:60px}@media (max-width: 900px){.portfolio-modal .modal-content-wrapper{padding:20px}}.portfolio-modal .modal-header-section{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:60px;padding-bottom:20px;border-bottom:1px solid #e3e3e3}@media (max-width: 900px){.portfolio-modal .modal-header-section{flex-direction:column}}.portfolio-modal .modal-header-section .title-group{flex:1}.portfolio-modal .modal-header-section .title-group .project-title{font-size:2.5rem;font-weight:700;color:#333;margin:0 0 10px;line-height:1.2}@media (max-width: 900px){.portfolio-modal .modal-header-section .title-group .project-title{font-size:2rem}}.portfolio-modal .modal-header-section .title-group .project-meta{display:flex;gap:20px;flex-wrap:wrap}.portfolio-modal .modal-header-section .title-group .project-meta .meta-item{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:4px 12px;background:#f4f3f4;border-radius:8px;font-size:.875rem;color:#595959}.portfolio-modal .modal-header-section .title-group .project-meta .meta-item i{color:#0073aa}.portfolio-modal .modal-header-section .action-buttons{display:flex;gap:10px;flex-shrink:0}@media (max-width: 900px){.portfolio-modal .modal-header-section .action-buttons{width:100%}}.portfolio-modal .modal-header-section .action-buttons .btn-action{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:12px 20px;border-radius:8px;font-weight:600;text-decoration:none;transition:all .3s ease;white-space:nowrap}.portfolio-modal .modal-header-section .action-buttons .btn-action i{font-size:1.125rem}.portfolio-modal .modal-header-section .action-buttons .btn-action.btn-primary{background:linear-gradient(135deg,#0073aa,#2c94da);color:#fff;box-shadow:0 1px 2px #0000000d}.portfolio-modal .modal-header-section .action-buttons .btn-action.btn-primary:hover{transform:translateY(-2px);box-shadow:0 4px 16px #0073aa1f}.portfolio-modal .modal-header-section .action-buttons .btn-action.btn-secondary{background:#f4f3f4;color:#333;border:1px solid #e3e3e3}.portfolio-modal .modal-header-section .action-buttons .btn-action.btn-secondary:hover{background:#fff;border-color:#0073aa;color:#0073aa}@media (max-width: 900px){.portfolio-modal .modal-header-section .action-buttons .btn-action{flex:1;justify-content:center}}.portfolio-modal .modal-grid{display:grid;grid-template-columns:1fr 350px;gap:40px;margin-bottom:40px}@media (max-width: 1050px){.portfolio-modal .modal-grid{grid-template-columns:1fr}}.portfolio-modal .content-card{background:#fff;border-radius:8px;overflow:hidden;transition:all .3s ease;border:1px solid #e3e3e3;box-shadow:0 1px 2px #0000000d;padding:20px;margin-bottom:20px}.portfolio-modal .content-card:hover{box-shadow:0 1px 2px #0000000d;border-color:#ccc}.portfolio-modal .content-card:last-child{margin-bottom:0}.portfolio-modal .content-card .card-title{display:flex;align-items:center;gap:10px;font-size:1.5rem;font-weight:600;color:#333;margin:0 0 20px}.portfolio-modal .content-card .card-title i{font-size:1.25rem;color:#0073aa}.portfolio-modal .content-card .card-content{color:#595959;line-height:1.7}.portfolio-modal .content-card .card-content p{margin-bottom:20px;font-size:1rem}.portfolio-modal .content-card .card-content p:last-child{margin-bottom:0}.portfolio-modal .sticky-card{position:sticky;top:20px;align-self:start}@media (max-width: 1050px){.portfolio-modal .sticky-card{position:static}}.portfolio-modal .tech-stack-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.portfolio-modal .tech-stack-grid .tech-item{display:flex;align-items:center;gap:10px;padding:8px 12px;background:#f4f3f4;border-radius:4px;border:1px solid transparent;transition:all .3s ease}.portfolio-modal .tech-stack-grid .tech-item i{font-size:1.5rem}.portfolio-modal .tech-stack-grid .tech-item .tech-svg-icon{width:24px;height:24px;object-fit:contain}.portfolio-modal .tech-stack-grid .tech-item:has(.fa-html5) i{color:#e34f26}.portfolio-modal .tech-stack-grid .tech-item:has(.fa-css3) i{color:#1572b6}.portfolio-modal .tech-stack-grid .tech-item:has(.fa-css) i{color:#1572b6}.portfolio-modal .tech-stack-grid .tech-item:has(.fa-javascript) i{color:#f7df1e}.portfolio-modal .tech-stack-grid .tech-item:has(.fa-typescript) i{color:#3178c6}.portfolio-modal .tech-stack-grid .tech-item:has(.fa-react) i{color:#61dafb}.portfolio-modal .tech-stack-grid .tech-item:has(.fa-vue) i{color:#4fc08d}.portfolio-modal .tech-stack-grid .tech-item:has(.fa-vuejs) i{color:#4fc08d}.portfolio-modal .tech-stack-grid .tech-item:has(.fa-angular) i{color:#dd0031}.portfolio-modal .tech-stack-grid .tech-item:has(.fa-node) i{color:#393}.portfolio-modal .tech-stack-grid .tech-item:has(.fa-node-js) i{color:#393}.portfolio-modal .tech-stack-grid .tech-item:has(.fa-php) i{color:#777bb4}.portfolio-modal .tech-stack-grid .tech-item:has(.fa-python) i{color:#3776ab}.portfolio-modal .tech-stack-grid .tech-item:has(.fa-java) i{color:#ed8b00}.portfolio-modal .tech-stack-grid .tech-item:has(.fa-dart) i{color:#0175c2}.portfolio-modal .tech-stack-grid .tech-item:has(.fa-rust) i{color:#000}.portfolio-modal .tech-stack-grid .tech-item:has(.fa-sass) i{color:#c69}.portfolio-modal .tech-stack-grid .tech-item:has(.fa-tailwind) i{color:#06b6d4}.portfolio-modal .tech-stack-grid .tech-item:has(.fa-bootstrap) i{color:#7952b3}.portfolio-modal .tech-stack-grid .tech-item:has(.fa-less) i{color:#1d365d}.portfolio-modal .tech-stack-grid .tech-item:has(.fa-webpack) i{color:#8dd6f9}.portfolio-modal .tech-stack-grid .tech-item:has(.fa-gulp) i{color:#cf4647}.portfolio-modal .tech-stack-grid .tech-item:has(.fa-wordpress) i{color:#21759b}.portfolio-modal .tech-stack-grid .tech-item:has(.fa-wordpress-simple) i{color:#21759b}.portfolio-modal .tech-stack-grid .tech-item:has(.fa-drupal) i{color:#0678be}.portfolio-modal .tech-stack-grid .tech-item:has(.fa-laravel) i{color:#ff2d20}.portfolio-modal .tech-stack-grid .tech-item:has(.fa-eleventy) i{color:#000}.portfolio-modal .tech-stack-grid .tech-item:has(.fa-nextjs) i{color:#000}.portfolio-modal .tech-stack-grid .tech-item:has(.fa-git) i{color:#f05032}.portfolio-modal .tech-stack-grid .tech-item:has(.fa-github) i{color:#181717}.portfolio-modal .tech-stack-grid .tech-item:has(.fa-gitlab) i{color:#fc6d26}.portfolio-modal .tech-stack-grid .tech-item:has(.fa-npm) i{color:#cb3837}.portfolio-modal .tech-stack-grid .tech-item:has(.fa-yarn) i{color:#2c8ebb}.portfolio-modal .tech-stack-grid .tech-item:has(.fa-docker) i{color:#2496ed}.portfolio-modal .tech-stack-grid .tech-item:has(.fa-jenkins) i{color:#d24939}.portfolio-modal .tech-stack-grid .tech-item:has(.fa-jira) i{color:#0052cc}.portfolio-modal .tech-stack-grid .tech-item:has(.fa-confluence) i{color:#172b4d}.portfolio-modal .tech-stack-grid .tech-item:has(.fa-bitbucket) i{color:#0052cc}.portfolio-modal .tech-stack-grid .tech-item:has(.fa-sourcetree) i{color:#0052cc}.portfolio-modal .tech-stack-grid .tech-item:has(.fa-openai) i{color:#412991}.portfolio-modal .tech-stack-grid .tech-item:has(.fa-figma) i{color:#f24e1e}.portfolio-modal .tech-stack-grid .tech-item:has(.fa-sketch) i{color:#f7b500}.portfolio-modal .tech-stack-grid .tech-item:has(.fa-illustrator) i{color:#ff9a00}.portfolio-modal .tech-stack-grid .tech-item:has(.fa-photoshop) i{color:#31a8ff}.portfolio-modal .tech-stack-grid .tech-item:has(.fa-indesign) i{color:#f36}.portfolio-modal .tech-stack-grid .tech-item:has(.fa-xd) i{color:#ff61f6}.portfolio-modal .tech-stack-grid .tech-item:has(.fa-invision) i{color:#f36}.portfolio-modal .tech-stack-grid .tech-item:has(.fa-codepen) i{color:#000}.portfolio-modal .tech-stack-grid .tech-item:has(.fa-markdown) i{color:#000}.portfolio-modal .tech-stack-grid .tech-item:has(.fa-golang) i{color:#00add8}.portfolio-modal .tech-stack-grid .tech-item:has(.fa-hackerrank) i{color:#2ec866}.portfolio-modal .tech-stack-grid .tech-item:has(.fa-hashnode) i{color:#2962ff}.portfolio-modal .tech-stack-grid .tech-item:has(.fa-linux) i{color:#fcc624}.portfolio-modal .tech-stack-grid .tech-item:has(.fa-jquery) i{color:#0769ad}.portfolio-modal .tech-stack-grid .tech-item:has(.fa-magento) i{color:#e45e34}.portfolio-modal .tech-stack-grid .tech-item:has(.fa-aws) i{color:#f90}.portfolio-modal .tech-stack-grid .tech-item:has(.fa-azure) i{color:#104581}.portfolio-modal .tech-stack-grid .tech-item:has(.fa-hotjar) i{color:#ff3c00}.portfolio-modal .tech-stack-grid .tech-item:has(.fa-design-systems) i{color:#6366f1}.portfolio-modal .tech-stack-grid .tech-item:has(.fa-google-analytics) i{color:#a50e0e}.portfolio-modal .tech-stack-grid .tech-item:has(.fa-gtm) i{color:#0d652d}.portfolio-modal .tech-stack-grid .tech-item:has(.fa-a-b-testing) i{color:#4285f4}.portfolio-modal .tech-stack-grid .tech-item:has(.fa-seo) i{color:#fbbc04}.portfolio-modal .tech-stack-grid .tech-item:has(.fa-responsive-design) i{color:#e37400}.portfolio-modal .tech-stack-grid .tech-item:has(.fa-vite) i{color:#646cff}.portfolio-modal .tech-stack-grid .tech-item:has(.fa-material-ui) i{color:#007fff}.portfolio-modal .tech-stack-grid .tech-item:has(.fa-wcag) i{color:#059669}.portfolio-modal .tech-stack-grid .tech-item:has(.fa-wcag-2-1) i{color:#059669}.portfolio-modal .tech-stack-grid .tech-item:has(.fa-performance) i{color:#7c3aed}.portfolio-modal .tech-stack-grid .tech-item:has(.fa-css3-alt) i{color:#1572b6}.portfolio-modal .tech-stack-grid .tech-item:has(.fa-git-alt) i{color:#f05032}.portfolio-modal .tech-stack-grid .tech-item span{font-size:.875rem;font-weight:500;color:#333}.portfolio-modal .tech-stack-grid .tech-item:hover{border-color:currentColor;transform:translate(4px)}.portfolio-modal .tech-stack-grid .tech-item:hover i{transform:scale(1.1)}.portfolio-modal .metrics-list{display:flex;flex-direction:column;gap:20px}.portfolio-modal .metrics-list .metric-item{display:flex;flex-direction:column;padding:12px;background:linear-gradient(135deg,#0073aa,#2c94da);border-radius:8px;text-align:center;color:#fff}.portfolio-modal .metrics-list .metric-item .metric-value{font-size:2rem;font-weight:700;line-height:1.2;margin-bottom:10px}.portfolio-modal .metrics-list .metric-item .metric-label{font-size:.875rem;opacity:.95;text-transform:capitalize}.portfolio-modal .challenge-list,.portfolio-modal .learning-list{list-style:none;padding:0;margin:0}.portfolio-modal .challenge-list li,.portfolio-modal .learning-list li{display:flex;gap:10px;margin-bottom:20px;font-size:1rem;line-height:1.7;color:#595959}.portfolio-modal .challenge-list li:last-child,.portfolio-modal .learning-list li:last-child{margin-bottom:0}.portfolio-modal .challenge-list li::marker,.portfolio-modal .learning-list li::marker{content:""}.portfolio-modal .challenge-list li:before,.portfolio-modal .learning-list li:before{content:"";font-family:"Font Awesome 5 Free";font-weight:900;color:#0073aa;flex-shrink:0;margin-top:2px}.portfolio-modal .media-card{grid-column:1/-1;margin-top:40px}.portfolio-modal .media-gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:20px}@media (max-width: 600px){.portfolio-modal .media-gallery{grid-template-columns:1fr}}.portfolio-modal .media-gallery .media-item{border-radius:8px;overflow:hidden;background:#f4f3f4;transition:all .3s ease}.portfolio-modal .media-gallery .media-item:hover{transform:translateY(-4px);box-shadow:0 4px 16px #0073aa1f}.portfolio-modal .media-gallery .media-item img,.portfolio-modal .media-gallery .media-item video{width:100%;height:auto;display:block}html.dark-mode .portfolio-page{background:#1a1a1a;color:#e0e0e0}html.dark-mode .portfolio-filters .card{background:#252525;border-color:#404040;box-shadow:0 2px 8px #0006}html.dark-mode .portfolio-filters .filter-tabs .filter-icon{color:#2c94da}html.dark-mode .portfolio-filters .filter-tabs .filter-tab{background:#1a1a1a;border-color:#404040;color:#e0e0e0}html.dark-mode .portfolio-filters .filter-tabs .filter-tab:hover{color:#2c94da;background:#2c94da1a;border-color:#2c94da}html.dark-mode .portfolio-filters .filter-tabs .filter-tab.active{background:linear-gradient(135deg,#2c94da,#0073aa);color:#1a1a1a;border-color:#2c94da}html.dark-mode .portfolio-filters .filter-tabs .filter-tab.active i{color:#1a1a1a}html.dark-mode .portfolio-projects-section .project-card{background:#252525;border-color:#404040}html.dark-mode .portfolio-projects-section .project-card:hover{background:#252525e6;box-shadow:0 8px 24px #00000080;border-color:#2c94da}html.dark-mode .portfolio-projects-section .project-card .project-content h3{color:#2c94da}html.dark-mode .portfolio-projects-section .project-card .project-content p{color:#a0a0a0}html.dark-mode .portfolio-projects-section .project-card .project-content .tech-tag{background:#2c94da26;color:#2c94da;border-color:#2c94da4d}html.dark-mode .portfolio-projects-section .project-card .btn-primary{background:linear-gradient(135deg,#2c94da,#0073aa);color:#1a1a1a}html.dark-mode .portfolio-projects-section .project-card .btn-primary:hover{box-shadow:0 8px 24px #2c94da4d}html.dark-mode .portfolio-design-section .design-card{background:#252525;border-color:#404040}html.dark-mode .portfolio-design-section .design-card:hover{background:#252525e6;border-color:#2c94da}html.dark-mode .portfolio-design-section .design-card .design-content h3{color:#e0e0e0}html.dark-mode .portfolio-design-section .design-card .design-content p{color:#a0a0a0}html.dark-mode .portfolio-design-section .design-card .design-content .design-tags .tag{background:#2c94da26;color:#2c94da;border-color:#2c94da4d}html.dark-mode .portfolio-design-section .design-card .design-content .btn-link{background:#2a2a2a;border-color:#404040;color:#e0e0e0}html.dark-mode .portfolio-design-section .design-card .design-content .btn-link i{color:#2c94da}html.dark-mode .portfolio-design-section .design-card .design-content .btn-link:hover{background:#2c94da;color:#1a1a1a;border-color:#2c94da}html.dark-mode .portfolio-design-section .design-card .design-content .btn-link:hover i{color:#1a1a1a}html.dark-mode .portfolio-github-section .github-card{background:#252525;border-color:#404040}html.dark-mode .portfolio-github-section .github-card:hover{background:#252525e6;border-color:#2c94da}html.dark-mode .portfolio-github-section .github-card .github-thumbnail{background:#2a2a2a}html.dark-mode .portfolio-github-section .github-card .github-content h3{color:#e0e0e0}html.dark-mode .portfolio-github-section .github-card .github-content h3 i{color:#2c94da}html.dark-mode .portfolio-github-section .github-card .github-content p,html.dark-mode .portfolio-github-section .github-card .github-content .github-stats{color:#a0a0a0}html.dark-mode .portfolio-github-section .github-card .github-content .github-stats i{color:#2c94da}html.dark-mode .portfolio-github-section .github-card .github-content .github-tech .tech-pill{background:#2c94da26;color:#2c94da;border-color:#2c94da4d}html.dark-mode .portfolio-github-section .github-card .github-content .github-link,html.dark-mode .portfolio-github-section .github-card .github-content .github-link:hover{color:#2c94da}html.dark-mode .portfolio-codepen-section .codepen-card{background:#252525;border-color:#404040}html.dark-mode .portfolio-codepen-section .codepen-card:hover{background:#252525e6;border-color:#2c94da}html.dark-mode .portfolio-codepen-section .codepen-card .codepen-embed{background:#1e1f26}html.dark-mode .portfolio-codepen-section .codepen-card .codepen-content h3{color:#e0e0e0}html.dark-mode .portfolio-codepen-section .codepen-card .codepen-content p{color:#a0a0a0}html.dark-mode .portfolio-codepen-section .codepen-card .codepen-content .codepen-tags .tag{background:#2c94da26;color:#2c94da;border-color:#2c94da4d}html.dark-mode .portfolio-codepen-section .codepen-card .btn-secondary{background:#2a2a2a;color:#e0e0e0;border-color:#404040}html.dark-mode .portfolio-codepen-section .codepen-card .btn-secondary i{color:#2c94da}html.dark-mode .portfolio-codepen-section .codepen-card .btn-secondary:hover{background:#1e1f26;color:#fff;border-color:#1e1f26}html.dark-mode .portfolio-codepen-section .codepen-card .btn-secondary:hover i{color:#fff}html.dark-mode .portfolio-case-studies-section .case-study-card{background:#252525;border-color:#404040}html.dark-mode .portfolio-case-studies-section .case-study-card:hover{background:#252525e6;border-color:#2c94da}html.dark-mode .portfolio-case-studies-section .case-study-card .case-study-content .case-study-meta{color:#a0a0a0}html.dark-mode .portfolio-case-studies-section .case-study-card .case-study-content .case-study-meta .year:before,html.dark-mode .portfolio-case-studies-section .case-study-card .case-study-content .case-study-meta .duration:before{color:#2c94da}html.dark-mode .portfolio-case-studies-section .case-study-card .case-study-content h3{color:#e0e0e0}html.dark-mode .portfolio-case-studies-section .case-study-card .case-study-content .subtitle{color:#2c94da}html.dark-mode .portfolio-case-studies-section .case-study-card .case-study-content .summary{color:#a0a0a0}html.dark-mode .portfolio-case-studies-section .case-study-card .case-study-content .case-study-tags .tag{background:#2c94da26;color:#2c94da;border-color:#2c94da4d}html.dark-mode .portfolio-case-studies-section .case-study-card .case-study-content .btn-primary{background:linear-gradient(135deg,#2c94da,#0073aa);color:#1a1a1a}html.dark-mode .portfolio-cta-section .cta-card{background:linear-gradient(135deg,#1a1a1a,#2a2a2a);border-color:#404040;box-shadow:0 8px 24px #0006}html.dark-mode .portfolio-cta-section .cta-card h2{color:#2c94da}html.dark-mode .portfolio-cta-section .cta-card p{color:#a0a0a0}html.dark-mode .portfolio-cta-section .cta-card .btn-primary{background:linear-gradient(135deg,#2c94da,#0073aa);color:#1a1a1a}html.dark-mode .portfolio-cta-section .cta-card .btn-secondary{background:#2a2a2a;color:#e0e0e0;border-color:#404040}html.dark-mode .portfolio-cta-section .cta-card .btn-secondary:hover{background:#2c94da26;border-color:#2c94da;color:#2c94da}html.dark-mode .portfolio-cta-row .portfolio-cta-button,html.dark-mode .portfolio-cta-row .github-cta-button{background:linear-gradient(135deg,#2c94da,#0073aa);color:#1a1a1a;box-shadow:0 4px 16px #2c94da4d}html.dark-mode .portfolio-cta-row .portfolio-cta-button .cta-content .cta-text strong,html.dark-mode .portfolio-cta-row .portfolio-cta-button .cta-content .cta-text small,html.dark-mode .portfolio-cta-row .github-cta-button .cta-content .cta-text strong,html.dark-mode .portfolio-cta-row .github-cta-button .cta-content .cta-text small,html.dark-mode .portfolio-cta-row .portfolio-cta-button .cta-arrow,html.dark-mode .portfolio-cta-row .github-cta-button .cta-arrow{color:#1a1a1a}html.dark-mode .portfolio-cta-row .portfolio-cta-button:hover,html.dark-mode .portfolio-cta-row .github-cta-button:hover{box-shadow:0 8px 24px #2c94da66}html.dark-mode .portfolio-cta-row .portfolio-cta-button:hover .cta-arrow,html.dark-mode .portfolio-cta-row .github-cta-button:hover .cta-arrow{color:#1a1a1a}html.dark-mode .portfolio-modal .modal-dialog::-webkit-scrollbar-track{background:#ffffff0d}html.dark-mode .portfolio-modal .modal-dialog::-webkit-scrollbar-thumb{background:#fff3}html.dark-mode .portfolio-modal .modal-dialog::-webkit-scrollbar-thumb:hover{background:#ffffff4d}html.dark-mode .portfolio-modal .modal-content{background:#1a1a1a}html.dark-mode .portfolio-modal .modal-close-btn{background:#2a2a2af2}html.dark-mode .portfolio-modal .modal-close-btn i{color:#f4f3f4}html.dark-mode .portfolio-modal .modal-close-btn:hover,html.dark-mode .portfolio-modal .modal-hero{background:#2a2a2a}html.dark-mode .portfolio-modal .modal-header-section{border-bottom-color:#404040}html.dark-mode .portfolio-modal .modal-header-section .project-title{color:#2c94da}html.dark-mode .portfolio-modal .modal-header-section .meta-item{background:#2a2a2a;color:#f4f3f4}html.dark-mode .portfolio-modal .modal-header-section .btn-action.btn-primary{background:linear-gradient(135deg,#2c94da,#0073aa);color:#1a1a1a}html.dark-mode .portfolio-modal .modal-header-section .btn-action.btn-secondary{background:#2a2a2a;color:#f4f3f4;border-color:#404040}html.dark-mode .portfolio-modal .modal-header-section .btn-action.btn-secondary:hover{border-color:#2c94da;color:#2c94da}html.dark-mode .portfolio-modal .content-card{background:#2a2a2a;border-color:#404040}html.dark-mode .portfolio-modal .content-card:hover{border-color:#2c94da}html.dark-mode .portfolio-modal .content-card .card-title,html.dark-mode .portfolio-modal .content-card .card-title i{color:#2c94da}html.dark-mode .portfolio-modal .content-card .card-content,html.dark-mode .portfolio-modal .content-card .card-content p,html.dark-mode .portfolio-modal .content-card .card-content ul li{color:#f4f3f4}html.dark-mode .portfolio-modal .tech-stack-grid .tech-item{background:#1a1a1a;color:#f4f3f4;border-color:#404040}html.dark-mode .portfolio-modal .tech-stack-grid .tech-item span{color:#f4f3f4}html.dark-mode .portfolio-modal .tech-stack-grid .tech-item:hover{border-color:currentColor}html.dark-mode .portfolio-modal .challenge-list li,html.dark-mode .portfolio-modal .learning-list li{color:#f4f3f4}html.dark-mode .portfolio-modal .challenge-list li:before,html.dark-mode .portfolio-modal .learning-list li:before{color:#2c94da}html.dark-mode .portfolio-modal .media-gallery .media-item{background:#2a2a2a;border-color:#404040}html.dark-mode .design-modal-overlay{background:#000000e6}html.dark-mode .design-modal-content,html.dark-mode .design-modal-content .design-modal-info{background:#252525}html.dark-mode .design-modal-content .design-modal-info .design-category-badge{background:#2c94da;color:#1a1a1a}html.dark-mode .design-modal-content .design-modal-info h2{color:#e0e0e0}html.dark-mode .design-modal-content .design-modal-info .design-description{color:#a0a0a0}html.dark-mode .design-modal-content .design-modal-info .ux-breakdown h3{color:#2c94da}html.dark-mode .design-modal-content .design-modal-info .ux-breakdown .breakdown-content{color:#a0a0a0}html.dark-mode .codepen-experiments{background:#1a1a1a}html.dark-mode .codepen-experiments .section-header h2{color:#e0e0e0}html.dark-mode .codepen-experiments .section-header p{color:#a0a0a0}html.dark-mode .codepen-experiments .codepen-card{background:#252525;border-color:#404040}html.dark-mode .codepen-experiments .codepen-card:hover{border-color:#2c94da;box-shadow:0 8px 24px #00000080}html.dark-mode .codepen-experiments .codepen-card .card-media{background:#2a2a2a}html.dark-mode .codepen-experiments .codepen-card .card-body .card-title{color:#e0e0e0}html.dark-mode .codepen-experiments .codepen-card .card-body .card-desc{color:#a0a0a0}html.dark-mode .codepen-experiments .codepen-card .card-body .card-footer{border-top-color:#404040}html.dark-mode .codepen-experiments .codepen-card .card-body .card-footer a,html.dark-mode .codepen-experiments .codepen-card .card-body .card-footer a i,html.dark-mode .codepen-experiments .codepen-card .card-body .card-footer a:hover{color:#2c94da}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.design-modal-overlay{position:fixed;inset:0;background:#000000d9;display:flex;align-items:center;justify-content:center;z-index:9999;padding:40px;overflow-y:auto;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.custom-modal{display:flex!important;flex-direction:column}.design-modal-overlay .custom-modal,.design-modal{background:#fff;border-radius:12px;max-width:1200px;width:100%;max-height:90vh;overflow-y:auto;position:relative;box-shadow:0 20px 60px #0000004d;animation:fadeInUp .3s ease}@media (max-width: 900px){.design-modal-overlay .custom-modal,.design-modal{max-width:95%;max-height:95vh}}.design-modal-overlay .custom-modal .modal-close,.design-modal .modal-close{position:absolute;top:40px;right:40px;width:44px;height:44px;border-radius:50%;background:#fff;border:1px solid #e3e3e3;color:#333;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:1.25rem;transition:all .3s ease;z-index:10;box-shadow:0 4px 16px #0073aa1f}.design-modal-overlay .custom-modal .modal-close:hover,.design-modal .modal-close:hover{background:#0073aa;color:#fff;border-color:#0073aa;transform:scale(1.1)}.design-modal-overlay .custom-modal .design-modal-content,.design-modal .design-modal-content{display:flex;flex-direction:column;gap:60px}@media (min-width: 900px){.design-modal-overlay .custom-modal .design-modal-content,.design-modal .design-modal-content{flex-direction:row}}.design-modal-overlay .custom-modal .design-modal-image,.design-modal .design-modal-image{flex:1.5;background:#f4f3f4;border-radius:12px 12px 0 0;overflow:hidden;display:flex;align-items:center;justify-content:center;max-height:70vh}@media (min-width: 900px){.design-modal-overlay .custom-modal .design-modal-image,.design-modal .design-modal-image{border-radius:12px 0 0 12px}}.design-modal-overlay .custom-modal .design-modal-image img,.design-modal .design-modal-image img{width:100%;height:auto;max-height:70vh;object-fit:contain;display:block}.design-modal-overlay .custom-modal .design-modal-info,.design-modal .design-modal-info{flex:1;padding:20px;display:flex;flex-direction:column;gap:20px}.design-modal-overlay .custom-modal .design-modal-info .design-category-badge,.design-modal .design-modal-info .design-category-badge{display:inline-block;padding:4px 12px;background:#0073aa1a;border:1px solid rgba(0,115,170,.2);border-radius:9999px;font-size:.75rem;font-weight:700;color:#0073aa;text-transform:uppercase;letter-spacing:.5px;width:fit-content}.design-modal-overlay .custom-modal .design-modal-info h2,.design-modal .design-modal-info h2{font-size:2rem;color:#333;margin:0;line-height:1.3}.design-modal-overlay .custom-modal .design-modal-info .design-description,.design-modal .design-modal-info .design-description{font-size:1rem;color:#595959;line-height:1.6;margin:0}.design-modal-overlay .custom-modal .design-modal-info .ux-breakdown,.design-modal .design-modal-info .ux-breakdown{margin-top:40px;padding-top:40px;border-top:1px solid #e3e3e3}.design-modal-overlay .custom-modal .design-modal-info .ux-breakdown h3,.design-modal .design-modal-info .ux-breakdown h3{font-size:1.25rem;color:#333;margin:0 0 20px}.design-modal-overlay .custom-modal .design-modal-info .ux-breakdown .breakdown-content,.design-modal .design-modal-info .ux-breakdown .breakdown-content{font-size:1rem;color:#595959;line-height:1.7}.design-modal-overlay .custom-modal .design-modal-info .ux-breakdown .breakdown-content p,.design-modal .design-modal-info .ux-breakdown .breakdown-content p{margin:0 0 10px}.design-modal-overlay .custom-modal .design-modal-info .ux-breakdown .breakdown-content p:last-child,.design-modal .design-modal-info .ux-breakdown .breakdown-content p:last-child{margin-bottom:0}.design-modal-overlay .custom-modal .design-modal-info .ux-breakdown .breakdown-content ul,.design-modal-overlay .custom-modal .design-modal-info .ux-breakdown .breakdown-content ol,.design-modal .design-modal-info .ux-breakdown .breakdown-content ul,.design-modal .design-modal-info .ux-breakdown .breakdown-content ol{margin:10px 0;padding-left:40px}.design-modal-overlay .custom-modal .design-modal-info .ux-breakdown .breakdown-content ul li,.design-modal-overlay .custom-modal .design-modal-info .ux-breakdown .breakdown-content ol li,.design-modal .design-modal-info .ux-breakdown .breakdown-content ul li,.design-modal .design-modal-info .ux-breakdown .breakdown-content ol li{margin-bottom:8px;line-height:1.6}.bio-page{margin:0 auto}.bio-page section{margin-bottom:60px}.bio-page section:last-child{margin-bottom:0}.bio-page .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}.bio-page .bio-content{display:flex;flex-wrap:wrap;gap:40px;align-items:center;justify-content:center;position:relative;z-index:1}.bio-page .bio-about{max-width:1200px;margin:0 auto 60px}.bio-page .bio-about .bio-about-card{padding:60px;background:#fffffffa;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-radius:12px;border:1px solid rgba(255,255,255,.1);box-shadow:0 8px 24px #0073aa26;position:relative;overflow:visible;margin-top:20px}.bio-page .bio-about .bio-about-card:before{content:"";position:absolute;inset:0;border-radius:12px;background:linear-gradient(135deg,rgba(0,115,170,.05) 0%,transparent 50%,rgba(142,36,170,.05) 100%);pointer-events:none;z-index:0}.bio-page .bio-about .bio-about-card>*{position:relative;z-index:1}.bio-page .bio-about .bio-about-card .section-badge{position:absolute;top:-16px;left:50%;transform:translate(-50%);padding:4px 16px;background:linear-gradient(135deg,#0073aa,#2c94da);color:#fff;font-family:dmsans,sans-serif;font-size:.875rem;font-weight:600;text-transform:uppercase;letter-spacing:.02em;border-radius:9999px;box-shadow:0 4px 16px #0073aa1f;white-space:nowrap;z-index:2}.bio-page .bio-about .bio-about-card .bio-about-content{display:grid;grid-template-columns:auto 1fr;gap:60px;align-items:start}@media (min-width: 900px){.bio-page .bio-about .bio-about-card .bio-about-content{align-items:center}}.bio-page .bio-about .bio-image{position:relative;flex-shrink:0;align-self:center}.bio-page .bio-about .bio-image img{width:180px;height:180px;object-fit:cover;border-radius:50%;border:4px solid #ffffff;background:#fff;box-shadow:0 4px 16px #0073aa1f;transition:transform .3s ease,box-shadow .3s ease;display:block}.bio-page .bio-about .bio-image img:hover{transform:scale(1.05);box-shadow:0 12px 32px #0073aa33}.bio-page .bio-about .text-wrap{flex:1;min-width:0;align-self:center}.bio-page .bio-about .text-wrap p{font-size:1.125rem;color:#333;line-height:1.75;margin:0 0 20px}.bio-page .bio-about .text-wrap p:last-child{margin-bottom:0}.bio-page .bio-about .text-wrap p span{font-weight:700;color:#0073aa;font-size:1.1em}@media (max-width: 900px){.bio-page .bio-about .bio-about-card{padding:20px}.bio-page .bio-about .bio-about-card .bio-about-content{grid-template-columns:1fr;justify-items:center;text-align:center}.bio-page .bio-about .bio-about-card .bio-about-content .bio-image img{width:160px;height:160px}}html.dark-mode .bio-page .bio-about .bio-about-card{background:#000c;border-color:#ffffff1a}html.dark-mode .bio-page .bio-about .bio-about-card:before{background:linear-gradient(135deg,rgba(0,115,170,.1) 0%,transparent 50%,rgba(142,36,170,.1) 100%)}html.dark-mode .bio-page .bio-about .bio-about-card .section-badge{background:linear-gradient(135deg,#2c94da,#0073aa)}html.dark-mode .bio-page .bio-about .bio-about-card .bio-image img{border-color:#1a1a1a;background:#1a1a1a}html.dark-mode .bio-page .bio-about .bio-about-card .text-wrap p{color:#f4f3f4}html.dark-mode .bio-page .bio-about .bio-about-card .text-wrap p span{color:#2c94da}.btn{display:inline-block;margin-right:10px;margin-top:8px;background-color:#0073aa;border-radius:4px;color:#fff;border:solid 1px #005177;font-size:.875rem;font-weight:700;padding:12px 20px;text-decoration:none;text-transform:uppercase;transition:background .3s ease}.btn:hover{background:#005177}.btn{font-size:14px}.btn i{margin-right:6px;font-size:16px;vertical-align:middle}.bio-page .bio-process{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;margin:0 0 60px;padding:0;list-style:none;counter-reset:process-step}@media (max-width: 900px){.bio-page .bio-process{grid-template-columns:1fr;gap:20px}}.bio-page .bio-process li{background:#fff;border-radius:8px;overflow:hidden;transition:all .3s ease;border:none;box-shadow:0 4px 16px #0073aa1f;cursor:pointer}.bio-page .bio-process li:hover{transform:translateY(-4px);box-shadow:0 8px 24px #0073aa26;border-color:#0073aa}.bio-page .bio-process li:active{transform:translateY(-2px);box-shadow:0 4px 16px #0073aa1f}.bio-page .bio-process li{position:relative;padding:20px;counter-increment:process-step;display:flex;flex-direction:column;align-items:flex-start;gap:20px}.bio-page .bio-process li:hover .process-image{transform:scale(1.05)}.bio-page .bio-process li:hover:before{transform:scale(1.1);box-shadow:0 8px 24px #0073aa26}.bio-page .bio-process li .process-image{position:relative;width:100%;aspect-ratio:1.7777777778;overflow:hidden;background:#f4f3f4}.bio-page .bio-process li .process-image img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease}.bio-page .bio-process li .process-image{background:#0073aa08}.bio-page .bio-process li:before{content:counter(process-step);position:absolute;top:16px;left:16px;width:36px;height:36px;background:linear-gradient(135deg,#0073aa,#2c94da);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:trajan-pro-3,serif;font-size:1rem;font-weight:700;box-shadow:0 4px 16px #0073aa1f;z-index:2;transition:transform .3s ease,box-shadow .3s ease}.bio-page .bio-process li .process-content{flex:1}.bio-page .bio-process li .process-content strong{display:block;color:#0073aa;font-size:1.25rem;font-weight:600;margin-bottom:8px;font-family:dmsans,sans-serif}.bio-page .bio-process li{color:#333;font-size:1rem;line-height:1.75}html.dark-mode .bio-page .bio-process li{background:#1a1a1a;border-color:#ffffff1a;color:#f4f3f4}html.dark-mode .bio-page .bio-process li:before{background:linear-gradient(135deg,#2c94da,#0073aa)}html.dark-mode .bio-page .bio-process li .process-content strong{color:#2c94da}html.dark-mode .bio-page .bio-process li:hover{border-color:#2c94da}html.dark-mode .bio-page .bio-process li .process-image{background:#2c94da14}.bio-page .bio-skills-wrapper{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;margin:0 0 60px}.bio-page .bio-skills-wrapper .skills-group{background:#fff;border-radius:8px;overflow:hidden;transition:all .3s ease;border:1px solid #e3e3e3;box-shadow:none;cursor:pointer}.bio-page .bio-skills-wrapper .skills-group:hover{transform:translateY(-4px);box-shadow:0 8px 24px #0073aa26;border-color:#0073aa}.bio-page .bio-skills-wrapper .skills-group:active{transform:translateY(-2px);box-shadow:0 4px 16px #0073aa1f}.bio-page .bio-skills-wrapper .skills-group{padding:20px;position:relative;overflow:hidden}.bio-page .bio-skills-wrapper .skills-group:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,#0073aa,#2c94da,#8e24aa)}.bio-page .bio-skills-wrapper .skills-group h3{color:#0073aa;font-size:1.25rem;font-weight:600;font-family:dmsans,sans-serif;margin:0 0 16px;letter-spacing:0;padding-top:4px}.bio-page .bio-skills-wrapper .skills-group .bio-skills{display:flex;flex-direction:column;gap:8px;list-style:none;padding:0;margin:0}.bio-page .bio-skills-wrapper .skills-group .bio-skills li{background:#fff;border-radius:8px;overflow:hidden;transition:all .3s ease;background:transparent;border:2px solid #cccccc;box-shadow:none;cursor:pointer}.bio-page .bio-skills-wrapper .skills-group .bio-skills li:hover{transform:translateY(-4px);box-shadow:0 8px 24px #0073aa26;border-color:#0073aa}.bio-page .bio-skills-wrapper .skills-group .bio-skills li:active{transform:translateY(-2px);box-shadow:0 4px 16px #0073aa1f}.bio-page .bio-skills-wrapper .skills-group .bio-skills li{display:flex;align-items:center;gap:8px;padding:8px 12px;font-size:1rem;font-weight:500;position:relative;overflow:hidden;color:#0073aa;transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease}.bio-page .bio-skills-wrapper .skills-group .bio-skills li i,.bio-page .bio-skills-wrapper .skills-group .bio-skills li .skill-svg-icon{width:24px;height:20px;transition:transform .2s ease}.bio-page .bio-skills-wrapper .skills-group .bio-skills li:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:#0073aa;transform:scaleX(0);transform-origin:center;transition:transform .3s ease}.bio-page .bio-skills-wrapper .skills-group .bio-skills li:hover{transform:translateY(-8px);box-shadow:0 8px 24px #0073aa33;border-color:#0073aa}.bio-page .bio-skills-wrapper .skills-group .bio-skills li:hover:before{transform:scaleX(1)}.bio-page .bio-skills-wrapper .skills-group .bio-skills li:hover i,.bio-page .bio-skills-wrapper .skills-group .bio-skills li:hover .skill-svg-icon{transform:scale(1.2)}.bio-page .bio-skills-wrapper .skills-group .bio-skills li:focus{border-color:#0073aa;box-shadow:0 8px 24px #0073aa4d}.bio-page .bio-skills-wrapper .skills-group .bio-skills li:focus-visible{border-color:#0073aa;box-shadow:0 8px 24px #0073aa59}@media (max-width: 900px){.bio-page .bio-skills-wrapper{grid-template-columns:repeat(2,1fr)}}@media (max-width: 600px){.bio-page .bio-skills-wrapper{grid-template-columns:1fr}}html.dark-mode .bio-page .bio-skills-wrapper .skills-group{background:#1a1a1a;border-color:#ffffff1a}html.dark-mode .bio-page .bio-skills-wrapper .skills-group:before{background:linear-gradient(90deg,#2c94da,#0073aa,#ab47bc)}html.dark-mode .bio-page .bio-skills-wrapper .skills-group h3{color:#2c94da}html.dark-mode .bio-page .bio-skills-wrapper .skills-group .bio-skills li{background:linear-gradient(135deg,#ffffff1a,#0073aa1a);color:#f4f3f4}html.dark-mode .bio-page .bio-skills-wrapper .skills-group .bio-skills li:hover{background:linear-gradient(135deg,#0073aa33,#8e24aa33);border-left-color:#2c94da;transform:translateY(-8px);box-shadow:0 8px 24px #2c94da4d;border-color:#2c94da}html.dark-mode .bio-page .bio-skills-wrapper .skills-group .bio-skills li:before{background:#2c94da}html.dark-mode .bio-page .bio-skills-wrapper .skills-group .bio-skills li:hover:before{transform:scaleX(1)}html.dark-mode .bio-page .bio-skills-wrapper .skills-group .bio-skills li i{color:#2c94da}html.dark-mode .bio-page .bio-skills-wrapper .skills-group .bio-skills li:hover i{color:#ab47bc}html.dark-mode .bio-page .bio-skills-wrapper .skills-group .bio-skills li:focus{border-color:#2c94da;box-shadow:0 8px 24px #2c94da66}html.dark-mode .bio-page .bio-skills-wrapper .skills-group .bio-skills li:focus-visible{border-color:#2c94da;box-shadow:0 8px 24px #2c94da73}.bio-page .bio-skills-wrapper .bio-skills li.skill-html5{color:#e34f26}.bio-page .bio-skills-wrapper .bio-skills li.skill-html5:before{background:#e34f26}.bio-page .bio-skills-wrapper .bio-skills li.skill-html5:hover{border-color:#e34f26;box-shadow:0 8px 24px #e34f2633}.bio-page .bio-skills-wrapper .bio-skills li.skill-html5:focus,.bio-page .bio-skills-wrapper .bio-skills li.skill-html5:focus-visible{border-color:#e34f26;box-shadow:0 8px 24px #e34f264d}html.dark-mode .bio-page .bio-skills-wrapper .bio-skills li.skill-html5:before{background:#e34f26}html.dark-mode .bio-page .bio-skills-wrapper .bio-skills li.skill-html5:hover{border-color:#e34f26;box-shadow:0 8px 24px #e34f264d}html.dark-mode .bio-page .bio-skills-wrapper .bio-skills li.skill-html5:focus,html.dark-mode .bio-page .bio-skills-wrapper .bio-skills li.skill-html5:focus-visible{border-color:#e34f26;box-shadow:0 8px 24px #e34f2666}.bio-page .bio-skills-wrapper .bio-skills li.skill-css3{color:#1572b6}.bio-page .bio-skills-wrapper .bio-skills li.skill-css3:before{background:#1572b6}.bio-page .bio-skills-wrapper .bio-skills li.skill-css3:hover{border-color:#1572b6;box-shadow:0 8px 24px #1572b633}.bio-page .bio-skills-wrapper .bio-skills li.skill-css3:focus,.bio-page .bio-skills-wrapper .bio-skills li.skill-css3:focus-visible{border-color:#1572b6;box-shadow:0 8px 24px #1572b64d}html.dark-mode .bio-page .bio-skills-wrapper .bio-skills li.skill-css3:before{background:#1572b6}html.dark-mode .bio-page .bio-skills-wrapper .bio-skills li.skill-css3:hover{border-color:#1572b6;box-shadow:0 8px 24px #1572b64d}html.dark-mode .bio-page .bio-skills-wrapper .bio-skills li.skill-css3:focus,html.dark-mode .bio-page .bio-skills-wrapper .bio-skills li.skill-css3:focus-visible{border-color:#1572b6;box-shadow:0 8px 24px #1572b666}.bio-page .bio-skills-wrapper .bio-skills li.skill-css{color:#1572b6}.bio-page .bio-skills-wrapper .bio-skills li.skill-css:before{background:#1572b6}.bio-page .bio-skills-wrapper .bio-skills li.skill-css:hover{border-color:#1572b6;box-shadow:0 8px 24px #1572b633}.bio-page .bio-skills-wrapper .bio-skills li.skill-css:focus,.bio-page .bio-skills-wrapper .bio-skills li.skill-css:focus-visible{border-color:#1572b6;box-shadow:0 8px 24px #1572b64d}html.dark-mode .bio-page .bio-skills-wrapper .bio-skills li.skill-css:before{background:#1572b6}html.dark-mode .bio-page .bio-skills-wrapper .bio-skills li.skill-css:hover{border-color:#1572b6;box-shadow:0 8px 24px #1572b64d}html.dark-mode .bio-page .bio-skills-wrapper .bio-skills li.skill-css:focus,html.dark-mode .bio-page .bio-skills-wrapper .bio-skills li.skill-css:focus-visible{border-color:#1572b6;box-shadow:0 8px 24px #1572b666}.bio-page .bio-skills-wrapper .bio-skills li.skill-javascript{color:#f7df1e}.bio-page .bio-skills-wrapper .bio-skills li.skill-javascript:before{background:#f7df1e}.bio-page .bio-skills-wrapper .bio-skills li.skill-javascript:hover{border-color:#f7df1e;box-shadow:0 8px 24px #f7df1e33}.bio-page .bio-skills-wrapper .bio-skills li.skill-javascript:focus,.bio-page .bio-skills-wrapper .bio-skills li.skill-javascript:focus-visible{border-color:#f7df1e;box-shadow:0 8px 24px #f7df1e4d}html.dark-mode .bio-page .bio-skills-wrapper .bio-skills li.skill-javascript:before{background:#f7df1e}html.dark-mode .bio-page .bio-skills-wrapper .bio-skills li.skill-javascript:hover{border-color:#f7df1e;box-shadow:0 8px 24px #f7df1e4d}html.dark-mode .bio-page .bio-skills-wrapper .bio-skills li.skill-javascript:focus,html.dark-mode .bio-page .bio-skills-wrapper .bio-skills li.skill-javascript:focus-visible{border-color:#f7df1e;box-shadow:0 8px 24px #f7df1e66}.bio-page .bio-skills-wrapper .bio-skills li.skill-typescript{color:#3178c6}.bio-page .bio-skills-wrapper .bio-skills li.skill-typescript:before{background:#3178c6}.bio-page .bio-skills-wrapper .bio-skills li.skill-typescript:hover{border-color:#3178c6;box-shadow:0 8px 24px #3178c633}.bio-page .bio-skills-wrapper .bio-skills li.skill-typescript:focus,.bio-page .bio-skills-wrapper .bio-skills li.skill-typescript:focus-visible{border-color:#3178c6;box-shadow:0 8px 24px #3178c64d}html.dark-mode .bio-page .bio-skills-wrapper .bio-skills li.skill-typescript:before{background:#3178c6}html.dark-mode .bio-page .bio-skills-wrapper .bio-skills li.skill-typescript:hover{border-color:#3178c6;box-shadow:0 8px 24px #3178c64d}html.dark-mode .bio-page .bio-skills-wrapper .bio-skills li.skill-typescript:focus,html.dark-mode .bio-page .bio-skills-wrapper .bio-skills li.skill-typescript:focus-visible{border-color:#3178c6;box-shadow:0 8px 24px #3178c666}.bio-page .bio-skills-wrapper .bio-skills li.skill-react{color:#61dafb}.bio-page .bio-skills-wrapper .bio-skills li.skill-react:before{background:#61dafb}.bio-page .bio-skills-wrapper .bio-skills li.skill-react:hover{border-color:#61dafb;box-shadow:0 8px 24px #61dafb33}.bio-page .bio-skills-wrapper .bio-skills li.skill-react:focus,.bio-page .bio-skills-wrapper .bio-skills li.skill-react:focus-visible{border-color:#61dafb;box-shadow:0 8px 24px #61dafb4d}html.dark-mode .bio-page .bio-skills-wrapper .bio-skills li.skill-react:before{background:#61dafb}html.dark-mode .bio-page .bio-skills-wrapper .bio-skills li.skill-react:hover{border-color:#61dafb;box-shadow:0 8px 24px #61dafb4d}html.dark-mode .bio-page .bio-skills-wrapper .bio-skills li.skill-react:focus,html.dark-mode .bio-page .bio-skills-wrapper .bio-skills li.skill-react:focus-visible{border-color:#61dafb;box-shadow:0 8px 24px #61dafb66}.bio-page .bio-skills-wrapper .bio-skills li.skill-vue{color:#4fc08d}.bio-page .bio-skills-wrapper .bio-skills li.skill-vue:before{background:#4fc08d}.bio-page .bio-skills-wrapper .bio-skills li.skill-vue:hover{border-color:#4fc08d;box-shadow:0 8px 24px #4fc08d33}.bio-page .bio-skills-wrapper .bio-skills li.skill-vue:focus,.bio-page .bio-skills-wrapper .bio-skills li.skill-vue:focus-visible{border-color:#4fc08d;box-shadow:0 8px 24px #4fc08d4d}html.dark-mode .bio-page .bio-skills-wrapper .bio-skills li.skill-vue:before{background:#4fc08d}html.dark-mode .bio-page .bio-skills-wrapper .bio-skills li.skill-vue:hover{border-color:#4fc08d;box-shadow:0 8px 24px #4fc08d4d}html.dark-mode .bio-page .bio-skills-wrapper .bio-skills li.skill-vue:focus,html.dark-mode .bio-page .bio-skills-wrapper .bio-skills li.skill-vue:focus-visible{border-color:#4fc08d;box-shadow:0 8px 24px #4fc08d66}.bio-page .bio-skills-wrapper .bio-skills li.skill-vuejs{color:#4fc08d}.bio-page .bio-skills-wrapper .bio-skills li.skill-vuejs:before{background:#4fc08d}.bio-page .bio-skills-wrapper .bio-skills li.skill-vuejs:hover{border-color:#4fc08d;box-shadow:0 8px 24px #4fc08d33}.bio-page .bio-skills-wrapper .bio-skills li.skill-vuejs:focus,.bio-page .bio-skills-wrapper .bio-skills li.skill-vuejs:focus-visible{border-color:#4fc08d;box-shadow:0 8px 24px #4fc08d4d}html.dark-mode .bio-page .bio-skills-wrapper .bio-skills li.skill-vuejs:before{background:#4fc08d}html.dark-mode .bio-page .bio-skills-wrapper .bio-skills li.skill-vuejs:hover{border-color:#4fc08d;box-shadow:0 8px 24px #4fc08d4d}html.dark-mode .bio-page .bio-skills-wrapper .bio-skills li.skill-vuejs:focus,html.dark-mode .bio-page .bio-skills-wrapper .bio-skills li.skill-vuejs:focus-visible{border-color:#4fc08d;box-shadow:0 8px 24px #4fc08d66}.bio-page .bio-skills-wrapper .bio-skills li.skill-angular{color:#dd0031}.bio-page .bio-skills-wrapper .bio-skills li.skill-angular:before{background:#dd0031}.bio-page .bio-skills-wrapper .bio-skills li.skill-angular:hover{border-color:#dd0031;box-shadow:0 8px 24px #dd003133}.bio-page .bio-skills-wrapper .bio-skills li.skill-angular:focus,.bio-page .bio-skills-wrapper .bio-skills li.skill-angular:focus-visible{border-color:#dd0031;box-shadow:0 8px 24px #dd00314d}html.dark-mode .bio-page .bio-skills-wrapper .bio-skills li.skill-angular:before{background:#dd0031}html.dark-mode .bio-page .bio-skills-wrapper .bio-skills li.skill-angular:hover{border-color:#dd0031;box-shadow:0 8px 24px #dd00314d}html.dark-mode .bio-page .bio-skills-wrapper .bio-skills li.skill-angular:focus,html.dark-mode .bio-page .bio-skills-wrapper .bio-skills li.skill-angular:focus-visible{border-color:#dd0031;box-shadow:0 8px 24px #dd003166}.bio-page .bio-skills-wrapper .bio-skills li.skill-node{color:#393}.bio-page .bio-skills-wrapper .bio-skills li.skill-node:before{background:#393}.bio-page .bio-skills-wrapper .bio-skills li.skill-node:hover{border-color:#393;box-shadow:0 8px 24px #3933}.bio-page .bio-skills-wrapper .bio-skills li.skill-node:focus,.bio-page .bio-skills-wrapper .bio-skills li.skill-node:focus-visible{border-color:#393;box-shadow:0 8px 24px #3399334d}html.dark-mode .bio-page .bio-skills-wrapper .bio-skills li.skill-node:before{background:#393}html.dark-mode .bio-page .bio-skills-wrapper .bio-skills li.skill-node:hover{border-color:#393;box-shadow:0 8px 24px #3399334d}html.dark-mode .bio-page .bio-skills-wrapper .bio-skills li.skill-node:focus,html.dark-mode .bio-page .bio-skills-wrapper .bio-skills li.skill-node:focus-visible{border-color:#393;box-shadow:0 8px 24px #3936}.bio-page .bio-skills-wrapper .bio-skills li.skill-node-js{color:#393}.bio-page .bio-skills-wrapper .bio-skills li.skill-node-js:before{background:#393}.bio-page .bio-skills-wrapper .bio-skills li.skill-node-js:hover{border-color:#393;box-shadow:0 8px 24px #3933}.bio-page .bio-skills-wrapper .bio-skills li.skill-node-js:focus,.bio-page .bio-skills-wrapper .bio-skills li.skill-node-js:focus-visible{border-color:#393;box-shadow:0 8px 24px #3399334d}html.dark-mode .bio-page .bio-skills-wrapper .bio-skills li.skill-node-js:before{background:#393}html.dark-mode .bio-page .bio-skills-wrapper .bio-skills li.skill-node-js:hover{border-color:#393;box-shadow:0 8px 24px #3399334d}html.dark-mode .bio-page .bio-skills-wrapper .bio-skills li.skill-node-js:focus,html.dark-mode .bio-page .bio-skills-wrapper .bio-skills li.skill-node-js:focus-visible{border-color:#393;box-shadow:0 8px 24px #3936}.bio-page .bio-skills-wrapper .bio-skills li.skill-php{color:#777bb4}.bio-page .bio-skills-wrapper .bio-skills li.skill-php:before{background:#777bb4}.bio-page .bio-skills-wrapper .bio-skills li.skill-php:hover{border-color:#777bb4;box-shadow:0 8px 24px #777bb433}.bio-page .bio-skills-wrapper .bio-skills li.skill-php:focus,.bio-page .bio-skills-wrapper .bio-skills li.skill-php:focus-visible{border-color:#777bb4;box-shadow:0 8px 24px #777bb44d}html.dark-mode .bio-page .bio-skills-wrapper .bio-skills li.skill-php:before{background:#777bb4}html.dark-mode .bio-page .bio-skills-wrapper .bio-skills li.skill-php:hover{border-color:#777bb4;box-shadow:0 8px 24px #777bb44d}html.dark-mode .bio-page .bio-skills-wrapper .bio-skills li.skill-php:focus,html.dark-mode .bio-page .bio-skills-wrapper .bio-skills li.skill-php:focus-visible{border-color:#777bb4;box-shadow:0 8px 24px #777bb466}.bio-page .bio-skills-wrapper .bio-skills li.skill-python{color:#3776ab}.bio-page .bio-skills-wrapper .bio-skills li.skill-python:before{background:#3776ab}.bio-page .bio-skills-wrapper .bio-skills li.skill-python:hover{border-color:#3776ab;box-shadow:0 8px 24px #3776ab33}.bio-page .bio-skills-wrapper .bio-skills li.skill-python:focus,.bio-page .bio-skills-wrapper .bio-skills li.skill-python:focus-visible{border-color:#3776ab;box-shadow:0 8px 24px #3776ab4d}html.dark-mode .bio-page .bio-skills-wrapper .bio-skills li.skill-python:before{background:#3776ab}html.dark-mode .bio-page .bio-skills-wrapper .bio-skills li.skill-python:hover{border-color:#3776ab;box-shadow:0 8px 24px #3776ab4d}html.dark-mode .bio-page .bio-skills-wrapper .bio-skills li.skill-python:focus,html.dark-mode .bio-page .bio-skills-wrapper .bio-skills li.skill-python:focus-visible{border-color:#3776ab;box-shadow:0 8px 24px #3776ab66}.bio-page .bio-skills-wrapper .bio-skills li.skill-java{color:#ed8b00}.bio-page .bio-skills-wrapper .bio-skills li.skill-java:before{background:#ed8b00}.bio-page .bio-skills-wrapper .bio-skills li.skill-java:hover{border-color:#ed8b00;box-shadow:0 8px 24px #ed8b0033}.bio-page .bio-skills-wrapper .bio-skills li.skill-java:focus,.bio-page .bio-skills-wrapper .bio-skills li.skill-java:focus-visible{border-color:#ed8b00;box-shadow:0 8px 24px #ed8b004d}html.dark-mode .bio-page .bio-skills-wrapper .bio-skills li.skill-java:before{background:#ed8b00}html.dark-mode .bio-page .bio-skills-wrapper .bio-skills li.skill-java:hover{border-color:#ed8b00;box-shadow:0 8px 24px #ed8b004d}html.dark-mode .bio-page .bio-skills-wrapper .bio-skills li.skill-java:focus,html.dark-mode .bio-page .bio-skills-wrapper .bio-skills li.skill-java:focus-visible{border-color:#ed8b00;box-shadow:0 8px 24px #ed8b0066}.bio-page .bio-skills-wrapper .bio-skills li.skill-dart{color:#0175c2}.bio-page .bio-skills-wrapper .bio-skills li.skill-dart:before{background:#0175c2}.bio-page .bio-skills-wrapper .bio-skills li.skill-dart:hover{border-color:#0175c2;box-shadow:0 8px 24px #0175c233}.bio-page .bio-skills-wrapper .bio-skills li.skill-dart:focus,.bio-page .bio-skills-wrapper .bio-skills li.skill-dart:focus-visible{border-color:#0175c2;box-shadow:0 8px 24px #0175c24d}html.dark-mode .bio-page .bio-skills-wrapper .bio-skills li.skill-dart:before{background:#0175c2}html.dark-mode .bio-page .bio-skills-wrapper .bio-skills li.skill-dart:hover{border-color:#0175c2;box-shadow:0 8px 24px #0175c24d}html.dark-mode .bio-page .bio-skills-wrapper .bio-skills li.skill-dart:focus,html.dark-mode .bio-page .bio-skills-wrapper .bio-skills li.skill-dart:focus-visible{border-color:#0175c2;box-shadow:0 8px 24px #0175c266}.bio-page .bio-skills-wrapper .bio-skills li.skill-rust{color:#000}.bio-page .bio-skills-wrapper .bio-skills li.skill-rust:before{background:#000}.bio-page .bio-skills-wrapper .bio-skills li.skill-rust:hover{border-color:#000;box-shadow:0 8px 24px #0003}.bio-page .bio-skills-wrapper .bio-skills li.skill-rust:focus,.bio-page .bio-skills-wrapper .bio-skills li.skill-rust:focus-visible{border-color:#000;box-shadow:0 8px 24px #0000004d}html.dark-mode .bio-page .bio-skills-wrapper .bio-skills li.skill-rust:before{background:#000}html.dark-mode .bio-page .bio-skills-wrapper .bio-skills li.skill-rust:hover{border-color:#000;box-shadow:0 8px 24px #0000004d}html.dark-mode .bio-page .bio-skills-wrapper .bio-skills li.skill-rust:focus,html.dark-mode .bio-page .bio-skills-wrapper .bio-skills li.skill-rust:focus-visible{border-color:#000;box-shadow:0 8px 24px #0006}.bio-page .bio-skills-wrapper .bio-skills li.skill-sass{color:#c69}.bio-page .bio-skills-wrapper .bio-skills li.skill-sass:before{background:#c69}.bio-page .bio-skills-wrapper .bio-skills li.skill-sass:hover{border-color:#c69;box-shadow:0 8px 24px #c693}.bio-page .bio-skills-wrapper .bio-skills li.skill-sass:focus,.bio-page .bio-skills-wrapper .bio-skills li.skill-sass:focus-visible{border-color:#c69;box-shadow:0 8px 24px #cc66994d}html.dark-mode .bio-page .bio-skills-wrapper .bio-skills li.skill-sass:before{background:#c69}html.dark-mode .bio-page .bio-skills-wrapper .bio-skills li.skill-sass:hover{border-color:#c69;box-shadow:0 8px 24px #cc66994d}html.dark-mode .bio-page .bio-skills-wrapper .bio-skills li.skill-sass:focus,html.dark-mode .bio-page .bio-skills-wrapper .bio-skills li.skill-sass:focus-visible{border-color:#c69;box-shadow:0 8px 24px #c696}.bio-page .bio-skills-wrapper .bio-skills li.skill-tailwind{color:#06b6d4}.bio-page .bio-skills-wrapper .bio-skills li.skill-tailwind:before{background:#06b6d4}.bio-page .bio-skills-wrapper .bio-skills li.skill-tailwind:hover{border-color:#06b6d4;box-shadow:0 8px 24px #06b6d433}.bio-page .bio-skills-wrapper .bio-skills li.skill-tailwind:focus,.bio-page .bio-skills-wrapper .bio-skills li.skill-tailwind:focus-visible{border-color:#06b6d4;box-shadow:0 8px 24px #06b6d44d}html.dark-mode .bio-page .bio-skills-wrapper .bio-skills li.skill-tailwind:before{background:#06b6d4}html.dark-mode .bio-page .bio-skills-wrapper .bio-skills li.skill-tailwind:hover{border-color:#06b6d4;box-shadow:0 8px 24px #06b6d44d}html.dark-mode .bio-page .bio-skills-wrapper .bio-skills li.skill-tailwind:focus,html.dark-mode .bio-page .bio-skills-wrapper .bio-skills li.skill-tailwind:focus-visible{border-color:#06b6d4;box-shadow:0 8px 24px #06b6d466}.bio-page .bio-skills-wrapper .bio-skills li.skill-bootstrap{color:#7952b3}.bio-page .bio-skills-wrapper .bio-skills li.skill-bootstrap:before{background:#7952b3}.bio-page .bio-skills-wrapper .bio-skills li.skill-bootstrap:hover{border-color:#7952b3;box-shadow:0 8px 24px #7952b333}.bio-page .bio-skills-wrapper .bio-skills li.skill-bootstrap:focus,.bio-page .bio-skills-wrapper .bio-skills li.skill-bootstrap:focus-visible{border-color:#7952b3;box-shadow:0 8px 24px #7952b34d}html.dark-mode .bio-page .bio-skills-wrapper .bio-skills li.skill-bootstrap:before{background:#7952b3}html.dark-mode .bio-page .bio-skills-wrapper .bio-skills li.skill-bootstrap:hover{border-color:#7952b3;box-shadow:0 8px 24px #7952b34d}html.dark-mode .bio-page .bio-skills-wrapper .bio-skills li.skill-bootstrap:focus,html.dark-mode .bio-page .bio-skills-wrapper .bio-skills li.skill-bootstrap:focus-visible{border-color:#7952b3;box-shadow:0 8px 24px #7952b366}.bio-page .bio-skills-wrapper .bio-skills li.skill-less{color:#1d365d}.bio-page .bio-skills-wrapper .bio-skills li.skill-less:before{background:#1d365d}.bio-page .bio-skills-wrapper .bio-skills li.skill-less:hover{border-color:#1d365d;box-shadow:0 8px 24px #1d365d33}.bio-page .bio-skills-wrapper .bio-skills li.skill-less:focus,.bio-page .bio-skills-wrapper .bio-skills li.skill-less:focus-visible{border-color:#1d365d;box-shadow:0 8px 24px #1d365d4d}html.dark-mode .bio-page .bio-skills-wrapper .bio-skills li.skill-less:before{background:#1d365d}html.dark-mode .bio-page .bio-skills-wrapper .bio-skills li.skill-less:hover{border-color:#1d365d;box-shadow:0 8px 24px #1d365d4d}html.dark-mode .bio-page .bio-skills-wrapper .bio-skills li.skill-less:focus,html.dark-mode .bio-page .bio-skills-wrapper .bio-skills li.skill-less:focus-visible{border-color:#1d365d;box-shadow:0 8px 24px #1d365d66}.bio-page .bio-skills-wrapper .bio-skills li.skill-webpack{color:#8dd6f9}.bio-page .bio-skills-wrapper .bio-skills li.skill-webpack:before{background:#8dd6f9}.bio-page .bio-skills-wrapper .bio-skills li.skill-webpack:hover{border-color:#8dd6f9;box-shadow:0 8px 24px #8dd6f933}.bio-page .bio-skills-wrapper .bio-skills li.skill-webpack:focus,.bio-page .bio-skills-wrapper .bio-skills li.skill-webpack:focus-visible{border-color:#8dd6f9;box-shadow:0 8px 24px #8dd6f94d}html.dark-mode .bio-page .bio-skills-wrapper .bio-skills li.skill-webpack:before{background:#8dd6f9}html.dark-mode .bio-page .bio-skills-wrapper .bio-skills li.skill-webpack:hover{border-color:#8dd6f9;box-shadow:0 8px 24px #8dd6f94d}html.dark-mode .bio-page .bio-skills-wrapper .bio-skills li.skill-webpack:focus,html.dark-mode .bio-page .bio-skills-wrapper .bio-skills li.skill-webpack:focus-visible{border-color:#8dd6f9;box-shadow:0 8px 24px #8dd6f966}.bio-page .bio-skills-wrapper .bio-skills li.skill-gulp{color:#cf4647}.bio-page .bio-skills-wrapper .bio-skills li.skill-gulp:before{background:#cf4647}.bio-page .bio-skills-wrapper .bio-skills li.skill-gulp:hover{border-color:#cf4647;box-shadow:0 8px 24px #cf464733}.bio-page .bio-skills-wrapper .bio-skills li.skill-gulp:focus,.bio-page .bio-skills-wrapper .bio-skills li.skill-gulp:focus-visible{border-color:#cf4647;box-shadow:0 8px 24px #cf46474d}html.dark-mode .bio-page .bio-skills-wrapper .bio-skills li.skill-gulp:before{background:#cf4647}html.dark-mode .bio-page .bio-skills-wrapper .bio-skills li.skill-gulp:hover{border-color:#cf4647;box-shadow:0 8px 24px #cf46474d}html.dark-mode .bio-page .bio-skills-wrapper .bio-skills li.skill-gulp:focus,html.dark-mode .bio-page .bio-skills-wrapper .bio-skills li.skill-gulp:focus-visible{border-color:#cf4647;box-shadow:0 8px 24px #cf464766}.bio-page .bio-skills-wrapper .bio-skills li.skill-wordpress{color:#21759b}.bio-page .bio-skills-wrapper .bio-skills li.skill-wordpress:before{background:#21759b}.bio-page .bio-skills-wrapper .bio-skills li.skill-wordpress:hover{border-color:#21759b;box-shadow:0 8px 24px #21759b33}.bio-page .bio-skills-wrapper .bio-skills li.skill-wordpress:focus,.bio-page .bio-skills-wrapper .bio-skills li.skill-wordpress:focus-visible{border-color:#21759b;box-shadow:0 8px 24px #21759b4d}html.dark-mode .bio-page .bio-skills-wrapper .bio-skills li.skill-wordpress:before{background:#21759b}html.dark-mode .bio-page .bio-skills-wrapper .bio-skills li.skill-wordpress:hover{border-color:#21759b;box-shadow:0 8px 24px #21759b4d}html.dark-mode .bio-page .bio-skills-wrapper .bio-skills li.skill-wordpress:focus,html.dark-mode .bio-page .bio-skills-wrapper .bio-skills li.skill-wordpress:focus-visible{border-color:#21759b;box-shadow:0 8px 24px #21759b66}.bio-page .bio-skills-wrapper .bio-skills li.skill-wordpress-simple{color:#21759b}.bio-page .bio-skills-wrapper .bio-skills li.skill-wordpress-simple:before{background:#21759b}.bio-page .bio-skills-wrapper .bio-skills li.skill-wordpress-simple:hover{border-color:#21759b;box-shadow:0 8px 24px #21759b33}.bio-page .bio-skills-wrapper .bio-skills li.skill-wordpress-simple:focus,.bio-page .bio-skills-wrapper .bio-skills li.skill-wordpress-simple:focus-visible{border-color:#21759b;box-shadow:0 8px 24px #21759b4d}html.dark-mode .bio-page .bio-skills-wrapper .bio-skills li.skill-wordpress-simple:before{background:#21759b}html.dark-mode .bio-page .bio-skills-wrapper .bio-skills li.skill-wordpress-simple:hover{border-color:#21759b;box-shadow:0 8px 24px #21759b4d}html.dark-mode .bio-page .bio-skills-wrapper .bio-skills li.skill-wordpress-simple:focus,html.dark-mode .bio-page .bio-skills-wrapper .bio-skills li.skill-wordpress-simple:focus-visible{border-color:#21759b;box-shadow:0 8px 24px #21759b66}.bio-page .bio-skills-wrapper .bio-skills li.skill-drupal{color:#0678be}.bio-page .bio-skills-wrapper .bio-skills li.skill-drupal:before{background:#0678be}.bio-page .bio-skills-wrapper .bio-skills li.skill-drupal:hover{border-color:#0678be;box-shadow:0 8px 24px #0678be33}.bio-page .bio-skills-wrapper .bio-skills li.skill-drupal:focus,.bio-page .bio-skills-wrapper .bio-skills li.skill-drupal:focus-visible{border-color:#0678be;box-shadow:0 8px 24px #0678be4d}html.dark-mode .bio-page .bio-skills-wrapper .bio-skills li.skill-drupal:before{background:#0678be}html.dark-mode .bio-page .bio-skills-wrapper .bio-skills li.skill-drupal:hover{border-color:#0678be;box-shadow:0 8px 24px #0678be4d}html.dark-mode .bio-page .bio-skills-wrapper .bio-skills li.skill-drupal:focus,html.dark-mode .bio-page .bio-skills-wrapper .bio-skills li.skill-drupal:focus-visible{border-color:#0678be;box-shadow:0 8px 24px #0678be66}.bio-page .bio-skills-wrapper .bio-skills li.skill-laravel{color:#ff2d20}.bio-page .bio-skills-wrapper .bio-skills li.skill-laravel:before{background:#ff2d20}.bio-page .bio-skills-wrapper .bio-skills li.skill-laravel:hover{border-color:#ff2d20;box-shadow:0 8px 24px #ff2d2033}.bio-page .bio-skills-wrapper .bio-skills li.skill-laravel:focus,.bio-page .bio-skills-wrapper .bio-skills li.skill-laravel:focus-visible{border-color:#ff2d20;box-shadow:0 8px 24px #ff2d204d}html.dark-mode .bio-page .bio-skills-wrapper .bio-skills li.skill-laravel:before{background:#ff2d20}html.dark-mode .bio-page .bio-skills-wrapper .bio-skills li.skill-laravel:hover{border-color:#ff2d20;box-shadow:0 8px 24px #ff2d204d}html.dark-mode .bio-page .bio-skills-wrapper .bio-skills li.skill-laravel:focus,html.dark-mode .bio-page .bio-skills-wrapper .bio-skills li.skill-laravel:focus-visible{border-color:#ff2d20;box-shadow:0 8px 24px #ff2d2066}.bio-page .bio-skills-wrapper .bio-skills li.skill-eleventy{color:#000}.bio-page .bio-skills-wrapper .bio-skills li.skill-eleventy:before{background:#000}.bio-page .bio-skills-wrapper .bio-skills li.skill-eleventy:hover{border-color:#000;box-shadow:0 8px 24px #0003}.bio-page .bio-skills-wrapper .bio-skills li.skill-eleventy:focus,.bio-page .bio-skills-wrapper .bio-skills li.skill-eleventy:focus-visible{border-color:#000;box-shadow:0 8px 24px #0000004d}html.dark-mode .bio-page .bio-skills-wrapper .bio-skills li.skill-eleventy:before{background:#000}html.dark-mode .bio-page .bio-skills-wrapper .bio-skills li.skill-eleventy:hover{border-color:#000;box-shadow:0 8px 24px #0000004d}html.dark-mode .bio-page .bio-skills-wrapper .bio-skills li.skill-eleventy:focus,html.dark-mode .bio-page .bio-skills-wrapper .bio-skills li.skill-eleventy:focus-visible{border-color:#000;box-shadow:0 8px 24px #0006}.bio-page .bio-skills-wrapper .bio-skills li.skill-nextjs{color:#000}.bio-page .bio-skills-wrapper .bio-skills li.skill-nextjs:before{background:#000}.bio-page .bio-skills-wrapper .bio-skills li.skill-nextjs:hover{border-color:#000;box-shadow:0 8px 24px #0003}.bio-page .bio-skills-wrapper .bio-skills li.skill-nextjs:focus,.bio-page .bio-skills-wrapper .bio-skills li.skill-nextjs:focus-visible{border-color:#000;box-shadow:0 8px 24px #0000004d}html.dark-mode .bio-page .bio-skills-wrapper .bio-skills li.skill-nextjs:before{background:#000}html.dark-mode .bio-page .bio-skills-wrapper .bio-skills li.skill-nextjs:hover{border-color:#000;box-shadow:0 8px 24px #0000004d}html.dark-mode .bio-page .bio-skills-wrapper .bio-skills li.skill-nextjs:focus,html.dark-mode .bio-page .bio-skills-wrapper .bio-skills li.skill-nextjs:focus-visible{border-color:#000;box-shadow:0 8px 24px #0006}.bio-page .bio-skills-wrapper .bio-skills li.skill-git{color:#f05032}.bio-page .bio-skills-wrapper .bio-skills li.skill-git:before{background:#f05032}.bio-page .bio-skills-wrapper .bio-skills li.skill-git:hover{border-color:#f05032;box-shadow:0 8px 24px #f0503233}.bio-page .bio-skills-wrapper .bio-skills li.skill-git:focus,.bio-page .bio-skills-wrapper .bio-skills li.skill-git:focus-visible{border-color:#f05032;box-shadow:0 8px 24px #f050324d}html.dark-mode .bio-page .bio-skills-wrapper .bio-skills li.skill-git:before{background:#f05032}html.dark-mode .bio-page .bio-skills-wrapper .bio-skills li.skill-git:hover{border-color:#f05032;box-shadow:0 8px 24px #f050324d}html.dark-mode .bio-page .bio-skills-wrapper .bio-skills li.skill-git:focus,html.dark-mode .bio-page .bio-skills-wrapper .bio-skills li.skill-git:focus-visible{border-color:#f05032;box-shadow:0 8px 24px #f0503266}.bio-page .bio-skills-wrapper .bio-skills li.skill-github{color:#181717}.bio-page .bio-skills-wrapper .bio-skills li.skill-github:before{background:#181717}.bio-page .bio-skills-wrapper .bio-skills li.skill-github:hover{border-color:#181717;box-shadow:0 8px 24px #18171733}.bio-page .bio-skills-wrapper .bio-skills li.skill-github:focus,.bio-page .bio-skills-wrapper .bio-skills li.skill-github:focus-visible{border-color:#181717;box-shadow:0 8px 24px #1817174d}html.dark-mode .bio-page .bio-skills-wrapper .bio-skills li.skill-github:before{background:#181717}html.dark-mode .bio-page .bio-skills-wrapper .bio-skills li.skill-github:hover{border-color:#181717;box-shadow:0 8px 24px #1817174d}html.dark-mode .bio-page .bio-skills-wrapper .bio-skills li.skill-github:focus,html.dark-mode .bio-page .bio-skills-wrapper .bio-skills li.skill-github:focus-visible{border-color:#181717;box-shadow:0 8px 24px #18171766}.bio-page .bio-skills-wrapper .bio-skills li.skill-gitlab{color:#fc6d26}.bio-page .bio-skills-wrapper .bio-skills li.skill-gitlab:before{background:#fc6d26}.bio-page .bio-skills-wrapper .bio-skills li.skill-gitlab:hover{border-color:#fc6d26;box-shadow:0 8px 24px #fc6d2633}.bio-page .bio-skills-wrapper .bio-skills li.skill-gitlab:focus,.bio-page .bio-skills-wrapper .bio-skills li.skill-gitlab:focus-visible{border-color:#fc6d26;box-shadow:0 8px 24px #fc6d264d}html.dark-mode .bio-page .bio-skills-wrapper .bio-skills li.skill-gitlab:before{background:#fc6d26}html.dark-mode .bio-page .bio-skills-wrapper .bio-skills li.skill-gitlab:hover{border-color:#fc6d26;box-shadow:0 8px 24px #fc6d264d}html.dark-mode .bio-page .bio-skills-wrapper .bio-skills li.skill-gitlab:focus,html.dark-mode .bio-page .bio-skills-wrapper .bio-skills li.skill-gitlab:focus-visible{border-color:#fc6d26;box-shadow:0 8px 24px #fc6d2666}.bio-page .bio-skills-wrapper .bio-skills li.skill-npm{color:#cb3837}.bio-page .bio-skills-wrapper .bio-skills li.skill-npm:before{background:#cb3837}.bio-page .bio-skills-wrapper .bio-skills li.skill-npm:hover{border-color:#cb3837;box-shadow:0 8px 24px #cb383733}.bio-page .bio-skills-wrapper .bio-skills li.skill-npm:focus,.bio-page .bio-skills-wrapper .bio-skills li.skill-npm:focus-visible{border-color:#cb3837;box-shadow:0 8px 24px #cb38374d}html.dark-mode .bio-page .bio-skills-wrapper .bio-skills li.skill-npm:before{background:#cb3837}html.dark-mode .bio-page .bio-skills-wrapper .bio-skills li.skill-npm:hover{border-color:#cb3837;box-shadow:0 8px 24px #cb38374d}html.dark-mode .bio-page .bio-skills-wrapper .bio-skills li.skill-npm:focus,html.dark-mode .bio-page .bio-skills-wrapper .bio-skills li.skill-npm:focus-visible{border-color:#cb3837;box-shadow:0 8px 24px #cb383766}.bio-page .bio-skills-wrapper .bio-skills li.skill-yarn{color:#2c8ebb}.bio-page .bio-skills-wrapper .bio-skills li.skill-yarn:before{background:#2c8ebb}.bio-page .bio-skills-wrapper .bio-skills li.skill-yarn:hover{border-color:#2c8ebb;box-shadow:0 8px 24px #2c8ebb33}.bio-page .bio-skills-wrapper .bio-skills li.skill-yarn:focus,.bio-page .bio-skills-wrapper .bio-skills li.skill-yarn:focus-visible{border-color:#2c8ebb;box-shadow:0 8px 24px #2c8ebb4d}html.dark-mode .bio-page .bio-skills-wrapper .bio-skills li.skill-yarn:before{background:#2c8ebb}html.dark-mode .bio-page .bio-skills-wrapper .bio-skills li.skill-yarn:hover{border-color:#2c8ebb;box-shadow:0 8px 24px #2c8ebb4d}html.dark-mode .bio-page .bio-skills-wrapper .bio-skills li.skill-yarn:focus,html.dark-mode .bio-page .bio-skills-wrapper .bio-skills li.skill-yarn:focus-visible{border-color:#2c8ebb;box-shadow:0 8px 24px #2c8ebb66}.bio-page .bio-skills-wrapper .bio-skills li.skill-docker{color:#2496ed}.bio-page .bio-skills-wrapper .bio-skills li.skill-docker:before{background:#2496ed}.bio-page .bio-skills-wrapper .bio-skills li.skill-docker:hover{border-color:#2496ed;box-shadow:0 8px 24px #2496ed33}.bio-page .bio-skills-wrapper .bio-skills li.skill-docker:focus,.bio-page .bio-skills-wrapper .bio-skills li.skill-docker:focus-visible{border-color:#2496ed;box-shadow:0 8px 24px #2496ed4d}html.dark-mode .bio-page .bio-skills-wrapper .bio-skills li.skill-docker:before{background:#2496ed}html.dark-mode .bio-page .bio-skills-wrapper .bio-skills li.skill-docker:hover{border-color:#2496ed;box-shadow:0 8px 24px #2496ed4d}html.dark-mode .bio-page .bio-skills-wrapper .bio-skills li.skill-docker:focus,html.dark-mode .bio-page .bio-skills-wrapper .bio-skills li.skill-docker:focus-visible{border-color:#2496ed;box-shadow:0 8px 24px #2496ed66}.bio-page .bio-skills-wrapper .bio-skills li.skill-jenkins{color:#d24939}.bio-page .bio-skills-wrapper .bio-skills li.skill-jenkins:before{background:#d24939}.bio-page .bio-skills-wrapper .bio-skills li.skill-jenkins:hover{border-color:#d24939;box-shadow:0 8px 24px #d2493933}.bio-page .bio-skills-wrapper .bio-skills li.skill-jenkins:focus,.bio-page .bio-skills-wrapper .bio-skills li.skill-jenkins:focus-visible{border-color:#d24939;box-shadow:0 8px 24px #d249394d}html.dark-mode .bio-page .bio-skills-wrapper .bio-skills li.skill-jenkins:before{background:#d24939}html.dark-mode .bio-page .bio-skills-wrapper .bio-skills li.skill-jenkins:hover{border-color:#d24939;box-shadow:0 8px 24px #d249394d}html.dark-mode .bio-page .bio-skills-wrapper .bio-skills li.skill-jenkins:focus,html.dark-mode .bio-page .bio-skills-wrapper .bio-skills li.skill-jenkins:focus-visible{border-color:#d24939;box-shadow:0 8px 24px #d2493966}.bio-page .bio-skills-wrapper .bio-skills li.skill-jira{color:#0052cc}.bio-page .bio-skills-wrapper .bio-skills li.skill-jira:before{background:#0052cc}.bio-page .bio-skills-wrapper .bio-skills li.skill-jira:hover{border-color:#0052cc;box-shadow:0 8px 24px #0052cc33}.bio-page .bio-skills-wrapper .bio-skills li.skill-jira:focus,.bio-page .bio-skills-wrapper .bio-skills li.skill-jira:focus-visible{border-color:#0052cc;box-shadow:0 8px 24px #0052cc4d}html.dark-mode .bio-page .bio-skills-wrapper .bio-skills li.skill-jira:before{background:#0052cc}html.dark-mode .bio-page .bio-skills-wrapper .bio-skills li.skill-jira:hover{border-color:#0052cc;box-shadow:0 8px 24px #0052cc4d}html.dark-mode .bio-page .bio-skills-wrapper .bio-skills li.skill-jira:focus,html.dark-mode .bio-page .bio-skills-wrapper .bio-skills li.skill-jira:focus-visible{border-color:#0052cc;box-shadow:0 8px 24px #0052cc66}.bio-page .bio-skills-wrapper .bio-skills li.skill-confluence{color:#172b4d}.bio-page .bio-skills-wrapper .bio-skills li.skill-confluence:before{background:#172b4d}.bio-page .bio-skills-wrapper .bio-skills li.skill-confluence:hover{border-color:#172b4d;box-shadow:0 8px 24px #172b4d33}.bio-page .bio-skills-wrapper .bio-skills li.skill-confluence:focus,.bio-page .bio-skills-wrapper .bio-skills li.skill-confluence:focus-visible{border-color:#172b4d;box-shadow:0 8px 24px #172b4d4d}html.dark-mode .bio-page .bio-skills-wrapper .bio-skills li.skill-confluence:before{background:#172b4d}html.dark-mode .bio-page .bio-skills-wrapper .bio-skills li.skill-confluence:hover{border-color:#172b4d;box-shadow:0 8px 24px #172b4d4d}html.dark-mode .bio-page .bio-skills-wrapper .bio-skills li.skill-confluence:focus,html.dark-mode .bio-page .bio-skills-wrapper .bio-skills li.skill-confluence:focus-visible{border-color:#172b4d;box-shadow:0 8px 24px #172b4d66}.bio-page .bio-skills-wrapper .bio-skills li.skill-bitbucket{color:#0052cc}.bio-page .bio-skills-wrapper .bio-skills li.skill-bitbucket:before{background:#0052cc}.bio-page .bio-skills-wrapper .bio-skills li.skill-bitbucket:hover{border-color:#0052cc;box-shadow:0 8px 24px #0052cc33}.bio-page .bio-skills-wrapper .bio-skills li.skill-bitbucket:focus,.bio-page .bio-skills-wrapper .bio-skills li.skill-bitbucket:focus-visible{border-color:#0052cc;box-shadow:0 8px 24px #0052cc4d}html.dark-mode .bio-page .bio-skills-wrapper .bio-skills li.skill-bitbucket:before{background:#0052cc}html.dark-mode .bio-page .bio-skills-wrapper .bio-skills li.skill-bitbucket:hover{border-color:#0052cc;box-shadow:0 8px 24px #0052cc4d}html.dark-mode .bio-page .bio-skills-wrapper .bio-skills li.skill-bitbucket:focus,html.dark-mode .bio-page .bio-skills-wrapper .bio-skills li.skill-bitbucket:focus-visible{border-color:#0052cc;box-shadow:0 8px 24px #0052cc66}.bio-page .bio-skills-wrapper .bio-skills li.skill-sourcetree{color:#0052cc}.bio-page .bio-skills-wrapper .bio-skills li.skill-sourcetree:before{background:#0052cc}.bio-page .bio-skills-wrapper .bio-skills li.skill-sourcetree:hover{border-color:#0052cc;box-shadow:0 8px 24px #0052cc33}.bio-page .bio-skills-wrapper .bio-skills li.skill-sourcetree:focus,.bio-page .bio-skills-wrapper .bio-skills li.skill-sourcetree:focus-visible{border-color:#0052cc;box-shadow:0 8px 24px #0052cc4d}html.dark-mode .bio-page .bio-skills-wrapper .bio-skills li.skill-sourcetree:before{background:#0052cc}html.dark-mode .bio-page .bio-skills-wrapper .bio-skills li.skill-sourcetree:hover{border-color:#0052cc;box-shadow:0 8px 24px #0052cc4d}html.dark-mode .bio-page .bio-skills-wrapper .bio-skills li.skill-sourcetree:focus,html.dark-mode .bio-page .bio-skills-wrapper .bio-skills li.skill-sourcetree:focus-visible{border-color:#0052cc;box-shadow:0 8px 24px #0052cc66}.bio-page .bio-skills-wrapper .bio-skills li.skill-openai{color:#412991}.bio-page .bio-skills-wrapper .bio-skills li.skill-openai:before{background:#412991}.bio-page .bio-skills-wrapper .bio-skills li.skill-openai:hover{border-color:#412991;box-shadow:0 8px 24px #41299133}.bio-page .bio-skills-wrapper .bio-skills li.skill-openai:focus,.bio-page .bio-skills-wrapper .bio-skills li.skill-openai:focus-visible{border-color:#412991;box-shadow:0 8px 24px #4129914d}html.dark-mode .bio-page .bio-skills-wrapper .bio-skills li.skill-openai:before{background:#412991}html.dark-mode .bio-page .bio-skills-wrapper .bio-skills li.skill-openai:hover{border-color:#412991;box-shadow:0 8px 24px #4129914d}html.dark-mode .bio-page .bio-skills-wrapper .bio-skills li.skill-openai:focus,html.dark-mode .bio-page .bio-skills-wrapper .bio-skills li.skill-openai:focus-visible{border-color:#412991;box-shadow:0 8px 24px #41299166}.bio-page .bio-skills-wrapper .bio-skills li.skill-figma{color:#f24e1e}.bio-page .bio-skills-wrapper .bio-skills li.skill-figma:before{background:#f24e1e}.bio-page .bio-skills-wrapper .bio-skills li.skill-figma:hover{border-color:#f24e1e;box-shadow:0 8px 24px #f24e1e33}.bio-page .bio-skills-wrapper .bio-skills li.skill-figma:focus,.bio-page .bio-skills-wrapper .bio-skills li.skill-figma:focus-visible{border-color:#f24e1e;box-shadow:0 8px 24px #f24e1e4d}html.dark-mode .bio-page .bio-skills-wrapper .bio-skills li.skill-figma:before{background:#f24e1e}html.dark-mode .bio-page .bio-skills-wrapper .bio-skills li.skill-figma:hover{border-color:#f24e1e;box-shadow:0 8px 24px #f24e1e4d}html.dark-mode .bio-page .bio-skills-wrapper .bio-skills li.skill-figma:focus,html.dark-mode .bio-page .bio-skills-wrapper .bio-skills li.skill-figma:focus-visible{border-color:#f24e1e;box-shadow:0 8px 24px #f24e1e66}.bio-page .bio-skills-wrapper .bio-skills li.skill-sketch{color:#f7b500}.bio-page .bio-skills-wrapper .bio-skills li.skill-sketch:before{background:#f7b500}.bio-page .bio-skills-wrapper .bio-skills li.skill-sketch:hover{border-color:#f7b500;box-shadow:0 8px 24px #f7b50033}.bio-page .bio-skills-wrapper .bio-skills li.skill-sketch:focus,.bio-page .bio-skills-wrapper .bio-skills li.skill-sketch:focus-visible{border-color:#f7b500;box-shadow:0 8px 24px #f7b5004d}html.dark-mode .bio-page .bio-skills-wrapper .bio-skills li.skill-sketch:before{background:#f7b500}html.dark-mode .bio-page .bio-skills-wrapper .bio-skills li.skill-sketch:hover{border-color:#f7b500;box-shadow:0 8px 24px #f7b5004d}html.dark-mode .bio-page .bio-skills-wrapper .bio-skills li.skill-sketch:focus,html.dark-mode .bio-page .bio-skills-wrapper .bio-skills li.skill-sketch:focus-visible{border-color:#f7b500;box-shadow:0 8px 24px #f7b50066}.bio-page .bio-skills-wrapper .bio-skills li.skill-illustrator{color:#ff9a00}.bio-page .bio-skills-wrapper .bio-skills li.skill-illustrator:before{background:#ff9a00}.bio-page .bio-skills-wrapper .bio-skills li.skill-illustrator:hover{border-color:#ff9a00;box-shadow:0 8px 24px #ff9a0033}.bio-page .bio-skills-wrapper .bio-skills li.skill-illustrator:focus,.bio-page .bio-skills-wrapper .bio-skills li.skill-illustrator:focus-visible{border-color:#ff9a00;box-shadow:0 8px 24px #ff9a004d}html.dark-mode .bio-page .bio-skills-wrapper .bio-skills li.skill-illustrator:before{background:#ff9a00}html.dark-mode .bio-page .bio-skills-wrapper .bio-skills li.skill-illustrator:hover{border-color:#ff9a00;box-shadow:0 8px 24px #ff9a004d}html.dark-mode .bio-page .bio-skills-wrapper .bio-skills li.skill-illustrator:focus,html.dark-mode .bio-page .bio-skills-wrapper .bio-skills li.skill-illustrator:focus-visible{border-color:#ff9a00;box-shadow:0 8px 24px #ff9a0066}.bio-page .bio-skills-wrapper .bio-skills li.skill-photoshop{color:#31a8ff}.bio-page .bio-skills-wrapper .bio-skills li.skill-photoshop:before{background:#31a8ff}.bio-page .bio-skills-wrapper .bio-skills li.skill-photoshop:hover{border-color:#31a8ff;box-shadow:0 8px 24px #31a8ff33}.bio-page .bio-skills-wrapper .bio-skills li.skill-photoshop:focus,.bio-page .bio-skills-wrapper .bio-skills li.skill-photoshop:focus-visible{border-color:#31a8ff;box-shadow:0 8px 24px #31a8ff4d}html.dark-mode .bio-page .bio-skills-wrapper .bio-skills li.skill-photoshop:before{background:#31a8ff}html.dark-mode .bio-page .bio-skills-wrapper .bio-skills li.skill-photoshop:hover{border-color:#31a8ff;box-shadow:0 8px 24px #31a8ff4d}html.dark-mode .bio-page .bio-skills-wrapper .bio-skills li.skill-photoshop:focus,html.dark-mode .bio-page .bio-skills-wrapper .bio-skills li.skill-photoshop:focus-visible{border-color:#31a8ff;box-shadow:0 8px 24px #31a8ff66}.bio-page .bio-skills-wrapper .bio-skills li.skill-indesign{color:#f36}.bio-page .bio-skills-wrapper .bio-skills li.skill-indesign:before{background:#f36}.bio-page .bio-skills-wrapper .bio-skills li.skill-indesign:hover{border-color:#f36;box-shadow:0 8px 24px #f363}.bio-page .bio-skills-wrapper .bio-skills li.skill-indesign:focus,.bio-page .bio-skills-wrapper .bio-skills li.skill-indesign:focus-visible{border-color:#f36;box-shadow:0 8px 24px #ff33664d}html.dark-mode .bio-page .bio-skills-wrapper .bio-skills li.skill-indesign:before{background:#f36}html.dark-mode .bio-page .bio-skills-wrapper .bio-skills li.skill-indesign:hover{border-color:#f36;box-shadow:0 8px 24px #ff33664d}html.dark-mode .bio-page .bio-skills-wrapper .bio-skills li.skill-indesign:focus,html.dark-mode .bio-page .bio-skills-wrapper .bio-skills li.skill-indesign:focus-visible{border-color:#f36;box-shadow:0 8px 24px #f366}.bio-page .bio-skills-wrapper .bio-skills li.skill-xd{color:#ff61f6}.bio-page .bio-skills-wrapper .bio-skills li.skill-xd:before{background:#ff61f6}.bio-page .bio-skills-wrapper .bio-skills li.skill-xd:hover{border-color:#ff61f6;box-shadow:0 8px 24px #ff61f633}.bio-page .bio-skills-wrapper .bio-skills li.skill-xd:focus,.bio-page .bio-skills-wrapper .bio-skills li.skill-xd:focus-visible{border-color:#ff61f6;box-shadow:0 8px 24px #ff61f64d}html.dark-mode .bio-page .bio-skills-wrapper .bio-skills li.skill-xd:before{background:#ff61f6}html.dark-mode .bio-page .bio-skills-wrapper .bio-skills li.skill-xd:hover{border-color:#ff61f6;box-shadow:0 8px 24px #ff61f64d}html.dark-mode .bio-page .bio-skills-wrapper .bio-skills li.skill-xd:focus,html.dark-mode .bio-page .bio-skills-wrapper .bio-skills li.skill-xd:focus-visible{border-color:#ff61f6;box-shadow:0 8px 24px #ff61f666}.bio-page .bio-skills-wrapper .bio-skills li.skill-invision{color:#f36}.bio-page .bio-skills-wrapper .bio-skills li.skill-invision:before{background:#f36}.bio-page .bio-skills-wrapper .bio-skills li.skill-invision:hover{border-color:#f36;box-shadow:0 8px 24px #f363}.bio-page .bio-skills-wrapper .bio-skills li.skill-invision:focus,.bio-page .bio-skills-wrapper .bio-skills li.skill-invision:focus-visible{border-color:#f36;box-shadow:0 8px 24px #ff33664d}html.dark-mode .bio-page .bio-skills-wrapper .bio-skills li.skill-invision:before{background:#f36}html.dark-mode .bio-page .bio-skills-wrapper .bio-skills li.skill-invision:hover{border-color:#f36;box-shadow:0 8px 24px #ff33664d}html.dark-mode .bio-page .bio-skills-wrapper .bio-skills li.skill-invision:focus,html.dark-mode .bio-page .bio-skills-wrapper .bio-skills li.skill-invision:focus-visible{border-color:#f36;box-shadow:0 8px 24px #f366}.bio-page .bio-skills-wrapper .bio-skills li.skill-codepen{color:#000}.bio-page .bio-skills-wrapper .bio-skills li.skill-codepen:before{background:#000}.bio-page .bio-skills-wrapper .bio-skills li.skill-codepen:hover{border-color:#000;box-shadow:0 8px 24px #0003}.bio-page .bio-skills-wrapper .bio-skills li.skill-codepen:focus,.bio-page .bio-skills-wrapper .bio-skills li.skill-codepen:focus-visible{border-color:#000;box-shadow:0 8px 24px #0000004d}html.dark-mode .bio-page .bio-skills-wrapper .bio-skills li.skill-codepen:before{background:#000}html.dark-mode .bio-page .bio-skills-wrapper .bio-skills li.skill-codepen:hover{border-color:#000;box-shadow:0 8px 24px #0000004d}html.dark-mode .bio-page .bio-skills-wrapper .bio-skills li.skill-codepen:focus,html.dark-mode .bio-page .bio-skills-wrapper .bio-skills li.skill-codepen:focus-visible{border-color:#000;box-shadow:0 8px 24px #0006}.bio-page .bio-skills-wrapper .bio-skills li.skill-markdown{color:#000}.bio-page .bio-skills-wrapper .bio-skills li.skill-markdown:before{background:#000}.bio-page .bio-skills-wrapper .bio-skills li.skill-markdown:hover{border-color:#000;box-shadow:0 8px 24px #0003}.bio-page .bio-skills-wrapper .bio-skills li.skill-markdown:focus,.bio-page .bio-skills-wrapper .bio-skills li.skill-markdown:focus-visible{border-color:#000;box-shadow:0 8px 24px #0000004d}html.dark-mode .bio-page .bio-skills-wrapper .bio-skills li.skill-markdown:before{background:#000}html.dark-mode .bio-page .bio-skills-wrapper .bio-skills li.skill-markdown:hover{border-color:#000;box-shadow:0 8px 24px #0000004d}html.dark-mode .bio-page .bio-skills-wrapper .bio-skills li.skill-markdown:focus,html.dark-mode .bio-page .bio-skills-wrapper .bio-skills li.skill-markdown:focus-visible{border-color:#000;box-shadow:0 8px 24px #0006}.bio-page .bio-skills-wrapper .bio-skills li.skill-golang{color:#00add8}.bio-page .bio-skills-wrapper .bio-skills li.skill-golang:before{background:#00add8}.bio-page .bio-skills-wrapper .bio-skills li.skill-golang:hover{border-color:#00add8;box-shadow:0 8px 24px #00add833}.bio-page .bio-skills-wrapper .bio-skills li.skill-golang:focus,.bio-page .bio-skills-wrapper .bio-skills li.skill-golang:focus-visible{border-color:#00add8;box-shadow:0 8px 24px #00add84d}html.dark-mode .bio-page .bio-skills-wrapper .bio-skills li.skill-golang:before{background:#00add8}html.dark-mode .bio-page .bio-skills-wrapper .bio-skills li.skill-golang:hover{border-color:#00add8;box-shadow:0 8px 24px #00add84d}html.dark-mode .bio-page .bio-skills-wrapper .bio-skills li.skill-golang:focus,html.dark-mode .bio-page .bio-skills-wrapper .bio-skills li.skill-golang:focus-visible{border-color:#00add8;box-shadow:0 8px 24px #00add866}.bio-page .bio-skills-wrapper .bio-skills li.skill-hackerrank{color:#2ec866}.bio-page .bio-skills-wrapper .bio-skills li.skill-hackerrank:before{background:#2ec866}.bio-page .bio-skills-wrapper .bio-skills li.skill-hackerrank:hover{border-color:#2ec866;box-shadow:0 8px 24px #2ec86633}.bio-page .bio-skills-wrapper .bio-skills li.skill-hackerrank:focus,.bio-page .bio-skills-wrapper .bio-skills li.skill-hackerrank:focus-visible{border-color:#2ec866;box-shadow:0 8px 24px #2ec8664d}html.dark-mode .bio-page .bio-skills-wrapper .bio-skills li.skill-hackerrank:before{background:#2ec866}html.dark-mode .bio-page .bio-skills-wrapper .bio-skills li.skill-hackerrank:hover{border-color:#2ec866;box-shadow:0 8px 24px #2ec8664d}html.dark-mode .bio-page .bio-skills-wrapper .bio-skills li.skill-hackerrank:focus,html.dark-mode .bio-page .bio-skills-wrapper .bio-skills li.skill-hackerrank:focus-visible{border-color:#2ec866;box-shadow:0 8px 24px #2ec86666}.bio-page .bio-skills-wrapper .bio-skills li.skill-hashnode{color:#2962ff}.bio-page .bio-skills-wrapper .bio-skills li.skill-hashnode:before{background:#2962ff}.bio-page .bio-skills-wrapper .bio-skills li.skill-hashnode:hover{border-color:#2962ff;box-shadow:0 8px 24px #2962ff33}.bio-page .bio-skills-wrapper .bio-skills li.skill-hashnode:focus,.bio-page .bio-skills-wrapper .bio-skills li.skill-hashnode:focus-visible{border-color:#2962ff;box-shadow:0 8px 24px #2962ff4d}html.dark-mode .bio-page .bio-skills-wrapper .bio-skills li.skill-hashnode:before{background:#2962ff}html.dark-mode .bio-page .bio-skills-wrapper .bio-skills li.skill-hashnode:hover{border-color:#2962ff;box-shadow:0 8px 24px #2962ff4d}html.dark-mode .bio-page .bio-skills-wrapper .bio-skills li.skill-hashnode:focus,html.dark-mode .bio-page .bio-skills-wrapper .bio-skills li.skill-hashnode:focus-visible{border-color:#2962ff;box-shadow:0 8px 24px #2962ff66}.bio-page .bio-skills-wrapper .bio-skills li.skill-linux{color:#fcc624}.bio-page .bio-skills-wrapper .bio-skills li.skill-linux:before{background:#fcc624}.bio-page .bio-skills-wrapper .bio-skills li.skill-linux:hover{border-color:#fcc624;box-shadow:0 8px 24px #fcc62433}.bio-page .bio-skills-wrapper .bio-skills li.skill-linux:focus,.bio-page .bio-skills-wrapper .bio-skills li.skill-linux:focus-visible{border-color:#fcc624;box-shadow:0 8px 24px #fcc6244d}html.dark-mode .bio-page .bio-skills-wrapper .bio-skills li.skill-linux:before{background:#fcc624}html.dark-mode .bio-page .bio-skills-wrapper .bio-skills li.skill-linux:hover{border-color:#fcc624;box-shadow:0 8px 24px #fcc6244d}html.dark-mode .bio-page .bio-skills-wrapper .bio-skills li.skill-linux:focus,html.dark-mode .bio-page .bio-skills-wrapper .bio-skills li.skill-linux:focus-visible{border-color:#fcc624;box-shadow:0 8px 24px #fcc62466}.bio-page .bio-skills-wrapper .bio-skills li.skill-jquery{color:#0769ad}.bio-page .bio-skills-wrapper .bio-skills li.skill-jquery:before{background:#0769ad}.bio-page .bio-skills-wrapper .bio-skills li.skill-jquery:hover{border-color:#0769ad;box-shadow:0 8px 24px #0769ad33}.bio-page .bio-skills-wrapper .bio-skills li.skill-jquery:focus,.bio-page .bio-skills-wrapper .bio-skills li.skill-jquery:focus-visible{border-color:#0769ad;box-shadow:0 8px 24px #0769ad4d}html.dark-mode .bio-page .bio-skills-wrapper .bio-skills li.skill-jquery:before{background:#0769ad}html.dark-mode .bio-page .bio-skills-wrapper .bio-skills li.skill-jquery:hover{border-color:#0769ad;box-shadow:0 8px 24px #0769ad4d}html.dark-mode .bio-page .bio-skills-wrapper .bio-skills li.skill-jquery:focus,html.dark-mode .bio-page .bio-skills-wrapper .bio-skills li.skill-jquery:focus-visible{border-color:#0769ad;box-shadow:0 8px 24px #0769ad66}.bio-page .bio-skills-wrapper .bio-skills li.skill-magento{color:#e45e34}.bio-page .bio-skills-wrapper .bio-skills li.skill-magento:before{background:#e45e34}.bio-page .bio-skills-wrapper .bio-skills li.skill-magento:hover{border-color:#e45e34;box-shadow:0 8px 24px #e45e3433}.bio-page .bio-skills-wrapper .bio-skills li.skill-magento:focus,.bio-page .bio-skills-wrapper .bio-skills li.skill-magento:focus-visible{border-color:#e45e34;box-shadow:0 8px 24px #e45e344d}html.dark-mode .bio-page .bio-skills-wrapper .bio-skills li.skill-magento:before{background:#e45e34}html.dark-mode .bio-page .bio-skills-wrapper .bio-skills li.skill-magento:hover{border-color:#e45e34;box-shadow:0 8px 24px #e45e344d}html.dark-mode .bio-page .bio-skills-wrapper .bio-skills li.skill-magento:focus,html.dark-mode .bio-page .bio-skills-wrapper .bio-skills li.skill-magento:focus-visible{border-color:#e45e34;box-shadow:0 8px 24px #e45e3466}.bio-page .bio-skills-wrapper .bio-skills li.skill-aws{color:#f90}.bio-page .bio-skills-wrapper .bio-skills li.skill-aws:before{background:#f90}.bio-page .bio-skills-wrapper .bio-skills li.skill-aws:hover{border-color:#f90;box-shadow:0 8px 24px #f903}.bio-page .bio-skills-wrapper .bio-skills li.skill-aws:focus,.bio-page .bio-skills-wrapper .bio-skills li.skill-aws:focus-visible{border-color:#f90;box-shadow:0 8px 24px #ff99004d}html.dark-mode .bio-page .bio-skills-wrapper .bio-skills li.skill-aws:before{background:#f90}html.dark-mode .bio-page .bio-skills-wrapper .bio-skills li.skill-aws:hover{border-color:#f90;box-shadow:0 8px 24px #ff99004d}html.dark-mode .bio-page .bio-skills-wrapper .bio-skills li.skill-aws:focus,html.dark-mode .bio-page .bio-skills-wrapper .bio-skills li.skill-aws:focus-visible{border-color:#f90;box-shadow:0 8px 24px #f906}.bio-page .bio-skills-wrapper .bio-skills li.skill-azure{color:#104581}.bio-page .bio-skills-wrapper .bio-skills li.skill-azure:before{background:#104581}.bio-page .bio-skills-wrapper .bio-skills li.skill-azure:hover{border-color:#104581;box-shadow:0 8px 24px #10458133}.bio-page .bio-skills-wrapper .bio-skills li.skill-azure:focus,.bio-page .bio-skills-wrapper .bio-skills li.skill-azure:focus-visible{border-color:#104581;box-shadow:0 8px 24px #1045814d}html.dark-mode .bio-page .bio-skills-wrapper .bio-skills li.skill-azure:before{background:#104581}html.dark-mode .bio-page .bio-skills-wrapper .bio-skills li.skill-azure:hover{border-color:#104581;box-shadow:0 8px 24px #1045814d}html.dark-mode .bio-page .bio-skills-wrapper .bio-skills li.skill-azure:focus,html.dark-mode .bio-page .bio-skills-wrapper .bio-skills li.skill-azure:focus-visible{border-color:#104581;box-shadow:0 8px 24px #10458166}.bio-page .bio-skills-wrapper .bio-skills li.skill-hotjar{color:#ff3c00}.bio-page .bio-skills-wrapper .bio-skills li.skill-hotjar:before{background:#ff3c00}.bio-page .bio-skills-wrapper .bio-skills li.skill-hotjar:hover{border-color:#ff3c00;box-shadow:0 8px 24px #ff3c0033}.bio-page .bio-skills-wrapper .bio-skills li.skill-hotjar:focus,.bio-page .bio-skills-wrapper .bio-skills li.skill-hotjar:focus-visible{border-color:#ff3c00;box-shadow:0 8px 24px #ff3c004d}html.dark-mode .bio-page .bio-skills-wrapper .bio-skills li.skill-hotjar:before{background:#ff3c00}html.dark-mode .bio-page .bio-skills-wrapper .bio-skills li.skill-hotjar:hover{border-color:#ff3c00;box-shadow:0 8px 24px #ff3c004d}html.dark-mode .bio-page .bio-skills-wrapper .bio-skills li.skill-hotjar:focus,html.dark-mode .bio-page .bio-skills-wrapper .bio-skills li.skill-hotjar:focus-visible{border-color:#ff3c00;box-shadow:0 8px 24px #ff3c0066}.bio-page .bio-skills-wrapper .bio-skills li.skill-design-systems{color:#6366f1}.bio-page .bio-skills-wrapper .bio-skills li.skill-design-systems:before{background:#6366f1}.bio-page .bio-skills-wrapper .bio-skills li.skill-design-systems:hover{border-color:#6366f1;box-shadow:0 8px 24px #6366f133}.bio-page .bio-skills-wrapper .bio-skills li.skill-design-systems:focus,.bio-page .bio-skills-wrapper .bio-skills li.skill-design-systems:focus-visible{border-color:#6366f1;box-shadow:0 8px 24px #6366f14d}html.dark-mode .bio-page .bio-skills-wrapper .bio-skills li.skill-design-systems:before{background:#6366f1}html.dark-mode .bio-page .bio-skills-wrapper .bio-skills li.skill-design-systems:hover{border-color:#6366f1;box-shadow:0 8px 24px #6366f14d}html.dark-mode .bio-page .bio-skills-wrapper .bio-skills li.skill-design-systems:focus,html.dark-mode .bio-page .bio-skills-wrapper .bio-skills li.skill-design-systems:focus-visible{border-color:#6366f1;box-shadow:0 8px 24px #6366f166}.bio-page .bio-skills-wrapper .bio-skills li.skill-google-analytics{color:#a50e0e}.bio-page .bio-skills-wrapper .bio-skills li.skill-google-analytics:before{background:#a50e0e}.bio-page .bio-skills-wrapper .bio-skills li.skill-google-analytics:hover{border-color:#a50e0e;box-shadow:0 8px 24px #a50e0e33}.bio-page .bio-skills-wrapper .bio-skills li.skill-google-analytics:focus,.bio-page .bio-skills-wrapper .bio-skills li.skill-google-analytics:focus-visible{border-color:#a50e0e;box-shadow:0 8px 24px #a50e0e4d}html.dark-mode .bio-page .bio-skills-wrapper .bio-skills li.skill-google-analytics:before{background:#a50e0e}html.dark-mode .bio-page .bio-skills-wrapper .bio-skills li.skill-google-analytics:hover{border-color:#a50e0e;box-shadow:0 8px 24px #a50e0e4d}html.dark-mode .bio-page .bio-skills-wrapper .bio-skills li.skill-google-analytics:focus,html.dark-mode .bio-page .bio-skills-wrapper .bio-skills li.skill-google-analytics:focus-visible{border-color:#a50e0e;box-shadow:0 8px 24px #a50e0e66}.bio-page .bio-skills-wrapper .bio-skills li.skill-gtm{color:#0d652d}.bio-page .bio-skills-wrapper .bio-skills li.skill-gtm:before{background:#0d652d}.bio-page .bio-skills-wrapper .bio-skills li.skill-gtm:hover{border-color:#0d652d;box-shadow:0 8px 24px #0d652d33}.bio-page .bio-skills-wrapper .bio-skills li.skill-gtm:focus,.bio-page .bio-skills-wrapper .bio-skills li.skill-gtm:focus-visible{border-color:#0d652d;box-shadow:0 8px 24px #0d652d4d}html.dark-mode .bio-page .bio-skills-wrapper .bio-skills li.skill-gtm:before{background:#0d652d}html.dark-mode .bio-page .bio-skills-wrapper .bio-skills li.skill-gtm:hover{border-color:#0d652d;box-shadow:0 8px 24px #0d652d4d}html.dark-mode .bio-page .bio-skills-wrapper .bio-skills li.skill-gtm:focus,html.dark-mode .bio-page .bio-skills-wrapper .bio-skills li.skill-gtm:focus-visible{border-color:#0d652d;box-shadow:0 8px 24px #0d652d66}.bio-page .bio-skills-wrapper .bio-skills li.skill-a-b-testing{color:#4285f4}.bio-page .bio-skills-wrapper .bio-skills li.skill-a-b-testing:before{background:#4285f4}.bio-page .bio-skills-wrapper .bio-skills li.skill-a-b-testing:hover{border-color:#4285f4;box-shadow:0 8px 24px #4285f433}.bio-page .bio-skills-wrapper .bio-skills li.skill-a-b-testing:focus,.bio-page .bio-skills-wrapper .bio-skills li.skill-a-b-testing:focus-visible{border-color:#4285f4;box-shadow:0 8px 24px #4285f44d}html.dark-mode .bio-page .bio-skills-wrapper .bio-skills li.skill-a-b-testing:before{background:#4285f4}html.dark-mode .bio-page .bio-skills-wrapper .bio-skills li.skill-a-b-testing:hover{border-color:#4285f4;box-shadow:0 8px 24px #4285f44d}html.dark-mode .bio-page .bio-skills-wrapper .bio-skills li.skill-a-b-testing:focus,html.dark-mode .bio-page .bio-skills-wrapper .bio-skills li.skill-a-b-testing:focus-visible{border-color:#4285f4;box-shadow:0 8px 24px #4285f466}.bio-page .bio-skills-wrapper .bio-skills li.skill-seo{color:#fbbc04}.bio-page .bio-skills-wrapper .bio-skills li.skill-seo:before{background:#fbbc04}.bio-page .bio-skills-wrapper .bio-skills li.skill-seo:hover{border-color:#fbbc04;box-shadow:0 8px 24px #fbbc0433}.bio-page .bio-skills-wrapper .bio-skills li.skill-seo:focus,.bio-page .bio-skills-wrapper .bio-skills li.skill-seo:focus-visible{border-color:#fbbc04;box-shadow:0 8px 24px #fbbc044d}html.dark-mode .bio-page .bio-skills-wrapper .bio-skills li.skill-seo:before{background:#fbbc04}html.dark-mode .bio-page .bio-skills-wrapper .bio-skills li.skill-seo:hover{border-color:#fbbc04;box-shadow:0 8px 24px #fbbc044d}html.dark-mode .bio-page .bio-skills-wrapper .bio-skills li.skill-seo:focus,html.dark-mode .bio-page .bio-skills-wrapper .bio-skills li.skill-seo:focus-visible{border-color:#fbbc04;box-shadow:0 8px 24px #fbbc0466}.bio-page .bio-skills-wrapper .bio-skills li.skill-responsive-design{color:#e37400}.bio-page .bio-skills-wrapper .bio-skills li.skill-responsive-design:before{background:#e37400}.bio-page .bio-skills-wrapper .bio-skills li.skill-responsive-design:hover{border-color:#e37400;box-shadow:0 8px 24px #e3740033}.bio-page .bio-skills-wrapper .bio-skills li.skill-responsive-design:focus,.bio-page .bio-skills-wrapper .bio-skills li.skill-responsive-design:focus-visible{border-color:#e37400;box-shadow:0 8px 24px #e374004d}html.dark-mode .bio-page .bio-skills-wrapper .bio-skills li.skill-responsive-design:before{background:#e37400}html.dark-mode .bio-page .bio-skills-wrapper .bio-skills li.skill-responsive-design:hover{border-color:#e37400;box-shadow:0 8px 24px #e374004d}html.dark-mode .bio-page .bio-skills-wrapper .bio-skills li.skill-responsive-design:focus,html.dark-mode .bio-page .bio-skills-wrapper .bio-skills li.skill-responsive-design:focus-visible{border-color:#e37400;box-shadow:0 8px 24px #e3740066}.bio-page .bio-skills-wrapper .bio-skills li.skill-vite{color:#646cff}.bio-page .bio-skills-wrapper .bio-skills li.skill-vite:before{background:#646cff}.bio-page .bio-skills-wrapper .bio-skills li.skill-vite:hover{border-color:#646cff;box-shadow:0 8px 24px #646cff33}.bio-page .bio-skills-wrapper .bio-skills li.skill-vite:focus,.bio-page .bio-skills-wrapper .bio-skills li.skill-vite:focus-visible{border-color:#646cff;box-shadow:0 8px 24px #646cff4d}html.dark-mode .bio-page .bio-skills-wrapper .bio-skills li.skill-vite:before{background:#646cff}html.dark-mode .bio-page .bio-skills-wrapper .bio-skills li.skill-vite:hover{border-color:#646cff;box-shadow:0 8px 24px #646cff4d}html.dark-mode .bio-page .bio-skills-wrapper .bio-skills li.skill-vite:focus,html.dark-mode .bio-page .bio-skills-wrapper .bio-skills li.skill-vite:focus-visible{border-color:#646cff;box-shadow:0 8px 24px #646cff66}.bio-page .bio-skills-wrapper .bio-skills li.skill-material-ui{color:#007fff}.bio-page .bio-skills-wrapper .bio-skills li.skill-material-ui:before{background:#007fff}.bio-page .bio-skills-wrapper .bio-skills li.skill-material-ui:hover{border-color:#007fff;box-shadow:0 8px 24px #007fff33}.bio-page .bio-skills-wrapper .bio-skills li.skill-material-ui:focus,.bio-page .bio-skills-wrapper .bio-skills li.skill-material-ui:focus-visible{border-color:#007fff;box-shadow:0 8px 24px #007fff4d}html.dark-mode .bio-page .bio-skills-wrapper .bio-skills li.skill-material-ui:before{background:#007fff}html.dark-mode .bio-page .bio-skills-wrapper .bio-skills li.skill-material-ui:hover{border-color:#007fff;box-shadow:0 8px 24px #007fff4d}html.dark-mode .bio-page .bio-skills-wrapper .bio-skills li.skill-material-ui:focus,html.dark-mode .bio-page .bio-skills-wrapper .bio-skills li.skill-material-ui:focus-visible{border-color:#007fff;box-shadow:0 8px 24px #007fff66}.bio-page .bio-skills-wrapper .bio-skills li.skill-wcag{color:#059669}.bio-page .bio-skills-wrapper .bio-skills li.skill-wcag:before{background:#059669}.bio-page .bio-skills-wrapper .bio-skills li.skill-wcag:hover{border-color:#059669;box-shadow:0 8px 24px #05966933}.bio-page .bio-skills-wrapper .bio-skills li.skill-wcag:focus,.bio-page .bio-skills-wrapper .bio-skills li.skill-wcag:focus-visible{border-color:#059669;box-shadow:0 8px 24px #0596694d}html.dark-mode .bio-page .bio-skills-wrapper .bio-skills li.skill-wcag:before{background:#059669}html.dark-mode .bio-page .bio-skills-wrapper .bio-skills li.skill-wcag:hover{border-color:#059669;box-shadow:0 8px 24px #0596694d}html.dark-mode .bio-page .bio-skills-wrapper .bio-skills li.skill-wcag:focus,html.dark-mode .bio-page .bio-skills-wrapper .bio-skills li.skill-wcag:focus-visible{border-color:#059669;box-shadow:0 8px 24px #05966966}.bio-page .bio-skills-wrapper .bio-skills li.skill-wcag-2-1{color:#059669}.bio-page .bio-skills-wrapper .bio-skills li.skill-wcag-2-1:before{background:#059669}.bio-page .bio-skills-wrapper .bio-skills li.skill-wcag-2-1:hover{border-color:#059669;box-shadow:0 8px 24px #05966933}.bio-page .bio-skills-wrapper .bio-skills li.skill-wcag-2-1:focus,.bio-page .bio-skills-wrapper .bio-skills li.skill-wcag-2-1:focus-visible{border-color:#059669;box-shadow:0 8px 24px #0596694d}html.dark-mode .bio-page .bio-skills-wrapper .bio-skills li.skill-wcag-2-1:before{background:#059669}html.dark-mode .bio-page .bio-skills-wrapper .bio-skills li.skill-wcag-2-1:hover{border-color:#059669;box-shadow:0 8px 24px #0596694d}html.dark-mode .bio-page .bio-skills-wrapper .bio-skills li.skill-wcag-2-1:focus,html.dark-mode .bio-page .bio-skills-wrapper .bio-skills li.skill-wcag-2-1:focus-visible{border-color:#059669;box-shadow:0 8px 24px #05966966}.bio-page .bio-skills-wrapper .bio-skills li.skill-performance{color:#7c3aed}.bio-page .bio-skills-wrapper .bio-skills li.skill-performance:before{background:#7c3aed}.bio-page .bio-skills-wrapper .bio-skills li.skill-performance:hover{border-color:#7c3aed;box-shadow:0 8px 24px #7c3aed33}.bio-page .bio-skills-wrapper .bio-skills li.skill-performance:focus,.bio-page .bio-skills-wrapper .bio-skills li.skill-performance:focus-visible{border-color:#7c3aed;box-shadow:0 8px 24px #7c3aed4d}html.dark-mode .bio-page .bio-skills-wrapper .bio-skills li.skill-performance:before{background:#7c3aed}html.dark-mode .bio-page .bio-skills-wrapper .bio-skills li.skill-performance:hover{border-color:#7c3aed;box-shadow:0 8px 24px #7c3aed4d}html.dark-mode .bio-page .bio-skills-wrapper .bio-skills li.skill-performance:focus,html.dark-mode .bio-page .bio-skills-wrapper .bio-skills li.skill-performance:focus-visible{border-color:#7c3aed;box-shadow:0 8px 24px #7c3aed66}.bio-page .bio-skills-wrapper .bio-skills li.skill-adobe:before{background:linear-gradient(135deg,red,#ff8c00,#ff0 30%,green,#00f 70%,indigo,violet)}.bio-page .bio-skills-wrapper .bio-skills li.skill-adobe:hover{border-color:red;box-shadow:0 8px 24px #ff000040}.bio-page .bio-skills-wrapper .bio-skills li.skill-adobe:focus,.bio-page .bio-skills-wrapper .bio-skills li.skill-adobe:focus-visible{border-color:red;box-shadow:0 8px 24px #ff000059}html.dark-mode .bio-page .bio-skills-wrapper .bio-skills li.skill-adobe:before{background:linear-gradient(135deg,red,#ff8c00,#ff0 30%,green,#00f 70%,indigo,violet)}html.dark-mode .bio-page .bio-skills-wrapper .bio-skills li.skill-adobe:hover{border-color:#ff8c00;box-shadow:0 8px 24px #ff8c004d}html.dark-mode .bio-page .bio-skills-wrapper .bio-skills li.skill-adobe:focus,html.dark-mode .bio-page .bio-skills-wrapper .bio-skills li.skill-adobe:focus-visible{border-color:#ff8c00;box-shadow:0 8px 24px #ff8c0066}.bio-page .bio-connect{max-width:1200px;margin:60px auto 0;text-align:center}.bio-page .bio-connect h3{font-family:trajan-pro-3,serif;font-size:2rem;color:#0073aa;margin-bottom:40px;font-weight:600;letter-spacing:-.02em}.bio-page .bio-connect .social-links{display:grid;grid-template-columns:repeat(4,1fr);gap:40px;margin:0 auto}.bio-page .bio-connect .social-links .social-link{background:#fff;border-radius:8px;overflow:hidden;transition:all .3s ease;border:1px solid #e3e3e3;box-shadow:none;cursor:pointer}.bio-page .bio-connect .social-links .social-link:hover{transform:translateY(-8px);box-shadow:0 8px 24px #0073aa26;border-color:#0073aa}.bio-page .bio-connect .social-links .social-link:active{transform:translateY(-4px);box-shadow:0 4px 16px #0073aa1f}.bio-page .bio-connect .social-links .social-link{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:20px;text-decoration:none;position:relative;overflow:hidden}.bio-page .bio-connect .social-links .social-link:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:currentColor;transform:scaleX(0);transition:transform .3s ease}.bio-page .bio-connect .social-links .social-link i{font-size:40px;transition:transform .3s ease}.bio-page .bio-connect .social-links .social-link span{font-family:dmsans,sans-serif;font-size:1rem;font-weight:600;color:#333;transition:color .3s ease}.bio-page .bio-connect .social-links .social-link:hover:before{transform:scaleX(1)}.bio-page .bio-connect .social-links .social-link:focus{outline:3px solid currentColor;outline-offset:4px;transform:translateY(-8px);box-shadow:0 8px 32px #0073aa21}.bio-page .bio-connect .social-links .social-link:focus:not(:focus-visible){outline:none}.bio-page .bio-connect .social-links .social-link:focus-visible{outline:3px solid currentColor;outline-offset:4px}.bio-page .bio-connect .social-links .social-link.linkedin{color:#0a66c2}.bio-page .bio-connect .social-links .social-link.github{color:#181717}.bio-page .bio-connect .social-links .social-link.codepen,.bio-page .bio-connect .social-links .social-link.twitter{color:#000}@media (max-width: 900px){.bio-page .bio-connect .social-links{grid-template-columns:repeat(2,1fr)}}@media (max-width: 600px){.bio-page .bio-connect .social-links{grid-template-columns:1fr}}html.dark-mode .bio-page .bio-connect h3{color:#2c94da}html.dark-mode .bio-page .bio-connect .social-links .social-link{background:#1a1a1a;border-color:#ffffff1a}html.dark-mode .bio-page .bio-connect .social-links .social-link span{color:#f4f3f4}html.dark-mode .bio-page .bio-connect .social-links .social-link.github,html.dark-mode .bio-page .bio-connect .social-links .social-link.codepen,html.dark-mode .bio-page .bio-connect .social-links .social-link.twitter{color:#fff}@media (max-width: 900px){.bio-section{padding:24px 10px}.bio-section .bio-content{flex-direction:column;gap:24px}.bio-section .bio-text{min-width:0}.bio-section .bio-text h2{font-size:1.25rem}.bio-section .bio-text p{font-size:.875rem}.bio-section .bio-text .bio-skills li{font-size:13px}.bio-section .bio-process{grid-template-columns:repeat(2,1fr)}.bio-section .bio-process li .process-image{height:160px}.bio-section .bio-process li:before{width:28px;height:28px;font-size:.875rem}.bio-section .bio-process li .process-content strong{font-size:1rem}}@media (max-width: 600px){.bio-section{padding:12px 4px}.bio-section .bio-content{gap:14px}.bio-section .bio-text h2{font-size:1rem}.bio-section .bio-text p{font-size:.75rem}.bio-section .bio-text .bio-skills{gap:8px}.bio-section .bio-text .bio-skills li{font-size:11px;padding:5px 8px}.bio-section .bio-process{grid-template-columns:1fr;gap:20px}.bio-section .bio-process li .process-image{height:140px}.bio-section .bio-process li:before{width:24px;height:24px;font-size:.75rem}.bio-section .bio-process li .process-content strong{font-size:.875rem}}@media (max-width: 1200px){.bio-skills-wrapper{grid-template-columns:1fr 1fr;grid-template-rows:repeat(3,1fr)}}@media (max-width: 900px){.bio-skills-wrapper{grid-template-columns:1fr;grid-template-rows:none;gap:24px}}/*!
* Partial: _contact.scss
* Purpose: Premium Apple-like contact page with minimal modern aesthetic
* Features: Floating labels, glass-morphism, micro-interactions, WCAG compliant
* Usage: Import in style.scss for contact page
* Dependencies: Uses _variables.scss and _mixins.scss
* Last updated: 2025-11-20
*/.contact-page{min-height:100vh;padding-bottom:60px}.contact-page .contact-container{max-width:1140px;width:100%;margin:0 auto;padding:40px}@media (max-width: 900px){.contact-page .contact-container{padding:32px}}@media (max-width: 600px){.contact-page .contact-container{padding:20px}}.contact-page .contact-container{animation:fadeInUp .8s cubic-bezier(.4,0,.2,1)}.contact-page .contact-grid{display:grid;grid-template-columns:400px 1fr;gap:60px;align-items:start;margin-top:60px}@media (max-width: 1050px){.contact-page .contact-grid{grid-template-columns:1fr;gap:40px}}@media (max-width: 900px){.contact-page .contact-grid{gap:20px;margin-top:20px}}.social-links{display:flex;flex-direction:column;gap:40px;position:sticky;top:100px}@media (max-width: 900px){.social-links{position:static;flex-direction:row;flex-wrap:wrap}}@media (max-width: 600px){.social-links{flex-direction:column}}.social-link{background:#fff;border-radius:8px;transition:all .3s ease;border:1px solid #e3e3e3;box-shadow:none;flex-direction:column;display:flex;align-items:center;justify-content:center;position:relative;gap:30px;padding:20px;text-decoration:none;overflow:hidden}.social-link:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .3s ease}.social-link i{font-size:2.5rem;transition:transform .3s ease}.social-link span{font-size:.875rem;font-weight:600}.social-link:hover{transform:translateY(-8px);box-shadow:0 8px 32px #0073aa21;border-color:currentColor}.social-link:hover:before{transform:scaleX(1)}.social-link:hover i{transform:scale(1.15)}.social-link:focus-visible{outline:3px solid currentColor;outline-offset:4px}.social-link.linkedin{color:#0a66c2}.social-link.linkedin:hover{background:#0a66c20d}.social-link.github{color:#181717}.social-link.github:hover{background:#1817170d}.social-link.codepen{color:#000}.social-link.codepen:hover{background:#0000000d}.social-link.twitter{color:#000}.social-link.twitter:hover{background:#0000000d}.contact-form-wrapper{background:#fff;border-radius:8px;overflow:hidden;transition:all .3s ease;background:#ffffffb3;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.3);box-shadow:0 1px 2px #0000000d;padding:60px}@media (max-width: 900px){.contact-form-wrapper{padding:20px}}@media (max-width: 600px){.contact-form-wrapper{padding:16px}}.contact-form-wrapper h2{font-family:trajan-pro-3,serif;font-weight:700;line-height:1.25;font-size:1.5rem;color:#333;margin:0 0 40px;text-align:center}.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}.form-status{padding:12px 16px;background:#0073aa1a;border-left:4px solid #0073aa;border-radius:8px;color:#333;font-size:.875rem;font-weight:500;margin-bottom:40px;animation:slideInDown .3s ease}.form-status.success{background:#22c55e1a;border-color:#22c55e;color:#16a34a}.form-status.error{background:#ef44441a;border-color:#ef4444;color:#dc2626}.contact-form{display:flex;flex-direction:column;gap:40px}@media (max-width: 600px){.contact-form{gap:20px}}.contact-form .form-field{position:relative}.contact-form .form-field label{position:absolute;left:16px;top:50%;transform:translateY(-50%);font-size:1rem;font-weight:500;color:#6c757d;pointer-events:none;transition:all .3s cubic-bezier(.4,0,.2,1);background:linear-gradient(to bottom,transparent 50%,#ffffff 50%);padding:0 4px;z-index:1}.contact-form .form-field.focused label,.contact-form .form-field:focus-within label{top:0;left:12px;font-size:.75rem;font-weight:600;color:#0073aa;letter-spacing:.03em;text-transform:uppercase}.contact-form .form-field.error input,.contact-form .form-field.error textarea{border-color:#ef4444}.contact-form .form-field.error input:focus,.contact-form .form-field.error textarea:focus{border-color:#ef4444;box-shadow:0 0 0 3px #ef44441a}.contact-form .form-field.error label{color:#ef4444}.contact-form .form-field .field-error{display:block;font-size:.75rem;color:#dc2626;margin-top:4px;font-weight:500;animation:slideInDown .2s ease}.contact-form .form-field input,.contact-form .form-field textarea{width:100%;padding:16px 20px 16px 16px;border:2px solid #e3e3e3;border-radius:8px;font:1rem Inter,sans-serif;color:#333;background:#fff;transition:all .3s cubic-bezier(.4,0,.2,1);appearance:none}.contact-form .form-field input:hover,.contact-form .form-field textarea:hover{border-color:#ccc}.contact-form .form-field input:focus,.contact-form .form-field textarea:focus{outline:none;border-color:#0073aa;box-shadow:0 0 0 4px #0073aa1a,0 2px 8px #0073aa1a}.contact-form .form-field input:focus-visible,.contact-form .form-field textarea:focus-visible{outline:3px solid #0073aa;outline-offset:2px}.contact-form .form-field input::placeholder,.contact-form .form-field textarea::placeholder{color:transparent}.contact-form .form-field.touched input:invalid,.contact-form .form-field.touched textarea:invalid{border-color:#dc3545}.contact-form .form-field.touched input:valid:not(:placeholder-shown),.contact-form .form-field.touched textarea:valid:not(:placeholder-shown){border-color:#28a745}.contact-form .form-field textarea{resize:vertical;min-height:140px;padding-top:24px;line-height:1.75}.contact-form .form-field:has(textarea) label{top:16px;transform:none}.contact-form .form-field:has(textarea).focused label,.contact-form .form-field:has(textarea):focus-within label{top:0}.contact-form .submit-btn{background-color:#0073aa;border-radius:4px;color:#fff;border:solid 1px #005177;font-size:.875rem;font-weight:700;padding:12px 20px;text-decoration:none;text-transform:uppercase;transition:background .3s ease}.contact-form .submit-btn:hover{background:#005177}.contact-form .submit-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:16px 32px;position:relative;overflow:hidden}@media (max-width: 600px){.contact-form .submit-btn{width:100%;padding:12px 20px}}.contact-form .submit-btn:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(255,255,255,.2) 0%,transparent 100%);opacity:0;transition:opacity .3s ease}.contact-form .submit-btn .icon{transition:transform .3s cubic-bezier(.4,0,.2,1)}.contact-form .submit-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0073aa4d,0 12px 24px #0073aa26}.contact-form .submit-btn:hover:before{opacity:1}.contact-form .submit-btn:hover .icon{transform:translate(4px)}.contact-form .submit-btn:active{transform:translateY(0)}.contact-form .submit-btn:focus-visible{outline:3px solid #0073aa;outline-offset:4px;box-shadow:0 0 0 4px #ffffffe6,0 0 0 7px #0073aa,0 4px 12px #0073aa4d}.contact-form .submit-btn:disabled{opacity:.6;cursor:not-allowed}.contact-form .submit-btn:disabled:hover{transform:none}.dark-mode .social-link{background:#2a2a2acc;border-color:#404040}.dark-mode .social-link.linkedin{color:#0a66c2}.dark-mode .social-link.linkedin:hover{background:#0a66c21a}.dark-mode .social-link.github,.dark-mode .social-link.codepen,.dark-mode .social-link.twitter{color:#fff}.dark-mode .social-link.github:hover,.dark-mode .social-link.codepen:hover,.dark-mode .social-link.twitter:hover{background:#ffffff1a}.dark-mode .contact-form-wrapper{background:#2a2a2a99;border-color:#0073aa33}.dark-mode .contact-form-wrapper h2{color:#e0e0e0}.dark-mode .form-status{background:#0073aa26;border-color:#2c94da;color:#e0e0e0}.dark-mode .form-status.success{background:#22c55e26;border-color:#22c55e;color:#4ade80}.dark-mode .form-status.error{background:#ef444426;border-color:#ef4444;color:#f87171}.dark-mode .contact-form .form-field label{color:#a0a0a0;background:linear-gradient(to bottom,transparent 50%,#2a2a2a 50%)}.dark-mode .contact-form .form-field.focused label,.dark-mode .contact-form .form-field:focus-within label{color:#2c94da}.dark-mode .contact-form .form-field input,.dark-mode .contact-form .form-field textarea{background:#1a1a1acc;border-color:#404040;color:#e0e0e0}.dark-mode .contact-form .form-field input::placeholder,.dark-mode .contact-form .form-field textarea::placeholder{color:#a0a0a0;opacity:1}.dark-mode .contact-form .form-field input:hover,.dark-mode .contact-form .form-field textarea:hover{border-color:#0073aa4d}.dark-mode .contact-form .form-field input:focus,.dark-mode .contact-form .form-field textarea:focus{border-color:#2c94da;box-shadow:0 0 0 4px #0073aa33,0 2px 8px #0073aa26;color:#e0e0e0}.dark-mode .contact-form .form-field input:-webkit-autofill,.dark-mode .contact-form .form-field input:-webkit-autofill:hover,.dark-mode .contact-form .form-field input:-webkit-autofill:focus,.dark-mode .contact-form .form-field textarea:-webkit-autofill,.dark-mode .contact-form .form-field textarea:-webkit-autofill:hover,.dark-mode .contact-form .form-field textarea:-webkit-autofill:focus{-webkit-text-fill-color:#e0e0e0;-webkit-box-shadow:0 0 0 1000px rgba(26,26,26,.8) inset;box-shadow:0 0 0 1000px #1a1a1acc inset;transition:background-color 5000s ease-in-out 0s}.dark-mode .contact-form .form-field.error input,.dark-mode .contact-form .form-field.error textarea{color:#e0e0e0}@keyframes fadeInUp{0%{opacity:0;transform:translateY(32px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}/*!
 * Partial: _layout.scss
 * Purpose: Styles for the blog layout, main content, sidebar, breadcrumbs, and navigation.
 * Features: Responsive layout, sidebar, breadcrumbs, navigation, content containers.
 * Usage: Import in style.scss for blog layout and structure.
 * Dependencies: Uses variables from abstracts.
 * Last updated: 2025-09-11
 */#root .blog-full{-webkit-box-shadow:0 2px 8px rgba(0,0,0,.07);box-shadow:0 2px 8px #00000012}.blog-nav{background-color:#2b72c9;position:relative;width:100vw;left:50%;right:50%;margin-left:-50vw;margin-right:-50vw;z-index:20}.blog-nav .container{padding:0;display:flex;flex-direction:column;align-items:flex-start}.blog-nav .blog-nav-toggle{display:none;background:#0073aa;color:#fff;border:none;padding:10px 18px;border-radius:4px;font-size:1.1em;cursor:pointer;margin:10px 10px 6px;transition:background .2s}.blog-nav .blog-nav-toggle:hover,.blog-nav .blog-nav-toggle:focus{background:#005177;outline:none}.blog-nav .blog-navigation{margin:0;padding:0;display:flex;justify-content:flex-start;flex-wrap:wrap;list-style:none;transition:max-height .3s cubic-bezier(.4,0,.2,1),opacity .3s;max-height:200px;opacity:1;overflow:visible}.blog-nav .blog-navigation li{margin:0;white-space:nowrap;padding:10px 12px}.blog-nav .blog-navigation li.blog-nav-title{color:#fff;font-weight:700;text-transform:uppercase;letter-spacing:1px;margin-right:15px;font-size:.95em}.blog-nav .blog-navigation li a{padding:10px 15px;color:#fff;text-decoration:none!important;border-radius:4px;transition:background .2s,color .2s}.blog-nav .blog-navigation li a.active{background-color:#fff;color:#2b72c9;font-weight:700;box-shadow:0 2px 8px #2b72c914}.blog-nav .blog-navigation li a:hover,.blog-nav .blog-navigation li a:focus{background-color:#fff;color:#2b72c9;text-decoration:underline}.blog-nav .blog-navigation li a:active{background-color:#fff;color:#2b72c9}@media (max-width: 768px){.blog-nav .container{align-items:stretch}.blog-nav .blog-nav-toggle{display:block}.blog-nav .blog-navigation{flex-direction:column;max-height:0;opacity:0;overflow:hidden;background:transparent;border-radius:0;box-shadow:none;margin:0;transition:max-height .3s cubic-bezier(.4,0,.2,1),opacity .3s}.blog-nav .blog-navigation li{padding:10px 0 10px 16px}.blog-nav .blog-navigation li a{color:#0073aa;background:none;text-decoration:none!important}.blog-nav .blog-navigation li a:hover,.blog-nav .blog-navigation li a:focus{color:#005177;background:#e6f0fa;text-decoration:underline}.blog-nav.open .blog-navigation,.blog-nav .blog-navigation.open{max-height:600px;opacity:1;background:#f8f8f8;border-radius:0 0 8px 8px;box-shadow:0 2px 8px #00000012;margin:0 10px 10px;padding:8px 0;transition:max-height .3s cubic-bezier(.4,0,.2,1),opacity .3s}}.breadcrumbs{font-size:.95em;margin:20px 0;padding:8px 16px;border-radius:4px;color:#555;display:inline-block}.breadcrumbs a{color:#0073aa;text-decoration:none;-webkit-transition:color .2s;transition:color .2s}.breadcrumbs a:hover{color:#005177;text-decoration:underline}.breadcrumbs span{color:#222;font-weight:500}.container{max-width:1200px;margin:0 auto}.content-sidebar-wrapper{display:-webkit-box!important;display:-ms-flexbox!important;display:flex!important;-webkit-box-orient:horizontal!important;-webkit-box-direction:normal!important;-ms-flex-direction:row!important;flex-direction:row!important;gap:30px;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start;width:100%}.single-content,.listing-content{-webkit-box-flex:2;-ms-flex:2;flex:2;min-width:0}@media (max-width: 768px){.single-content,.listing-content{min-width:100%}}.sidebar-wrapper{-webkit-box-flex:1;-ms-flex:1;flex:1;min-width:0}.blog-snippet,.blog-full{margin-bottom:30px;padding:20px;background:#fff;border-radius:8px;-webkit-box-shadow:0 2px 4px rgba(0,0,0,.1);box-shadow:0 2px 4px #0000001a}.blog-snippet img,.blog-full img{width:100%;height:auto}.featured-image,.blog-archive-image{margin:0 0 24px}.featured-image img,.blog-archive-image img{width:100%;height:auto;border-radius:8px;display:block}.blog-snippet h2,.blog-full h2{font-size:28px;margin-bottom:10px}.blog-snippet .excerpt,.blog-full .excerpt{color:#666;font-size:16px;line-height:1.6}.blog-post-content{font-size:18px;line-height:1.8;color:#333}.blog-post-content p{margin-bottom:24px;line-height:1.8}.blog-post-content h1,.blog-post-content h2,.blog-post-content h3,.blog-post-content h4,.blog-post-content h5,.blog-post-content h6{margin-top:48px;margin-bottom:20px;line-height:1.3;font-weight:600}.blog-post-content h1{font-size:36px;margin-top:0}.blog-post-content h2{font-size:30px}.blog-post-content h3{font-size:24px}.blog-post-content h4{font-size:20px}.blog-post-content ul,.blog-post-content ol{margin-bottom:24px;padding-left:32px}.blog-post-content ul li,.blog-post-content ol li{margin-bottom:12px;line-height:1.8}.blog-post-content blockquote{margin:32px 0;padding:20px 24px;border-left:4px solid #0073aa;background:#0073aa0d;font-style:italic}.blog-post-content blockquote p{margin-bottom:0}.blog-post-content img{margin:32px 0;border-radius:8px}.blog-post-content code{background:#0073aa14;padding:2px 6px;border-radius:4px;font-size:.9em}.blog-post-content pre{margin:32px 0}.blog-post-content hr{margin:48px 0;border:none;border-top:1px solid #e3e3e3}.blog-index-list{margin:0;padding:0}.blog-index-page .blog-posts-grid{display:grid;grid-template-columns:1fr;gap:32px;margin-bottom:48px}.blog-index-page .blog-loading{grid-column:1/-1;text-align:center;padding:60px 20px;color:#595959;font-family:dmsans,sans-serif}.blog-index-page .blog-card .blog-card-image{position:relative;width:100%;height:280px;overflow:hidden;background:linear-gradient(135deg,#0073aa1a,#0073aa0d)}.blog-index-page .blog-card .blog-card-image img{width:100%;height:100%;object-fit:cover;transition:transform .5s cubic-bezier(.4,0,.2,1)}.blog-index-page .blog-card:hover .blog-card-image img{transform:scale(1.1)}.blog-index-page .blog-card:hover .blog-title{color:#0073aa}.blog-index-page .blog-card:hover .blog-read-more i{transform:translate(4px)}.blog-index-page .blog-card .blog-card-content .blog-title{font-family:trajan-pro-3,serif;font-size:1.5rem;margin:0 0 12px;line-height:1.4;transition:color .3s ease;font-weight:500}.blog-index-page .blog-card .blog-card-content .blog-excerpt{font-size:.875rem;line-height:1.7;margin-bottom:16px;color:#595959}.blog-index-page .blog-card .blog-card-content .blog-excerpt p{margin:0 0 12px}.blog-index-page .blog-card .blog-card-content .blog-excerpt p:last-child{margin-bottom:0}@media (max-width: 900px){.blog-index-page .blog-posts-grid{gap:20px;margin-bottom:40px}}.archive-header{margin-bottom:30px;padding:20px 30px;background:linear-gradient(135deg,#2b72c9,#4e8cd9);border-radius:8px;-webkit-box-shadow:0 8px 32px rgba(43,114,201,.15);box-shadow:0 8px 32px #2b72c926;position:relative;overflow:hidden}.archive-header:before{content:"";position:absolute;inset:0;background:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100"><defs><pattern id="grain" width="100" height="100" patternUnits="userSpaceOnUse"><circle cx="25" cy="25" r="1" fill="white" opacity="0.1"/><circle cx="75" cy="75" r="1" fill="white" opacity="0.1"/><circle cx="50" cy="10" r="0.5" fill="white" opacity="0.15"/><circle cx="10" cy="60" r="0.5" fill="white" opacity="0.15"/><circle cx="90" cy="40" r="0.5" fill="white" opacity="0.15"/></pattern></defs><rect width="100" height="100" fill="url(%23grain)"/></svg>');pointer-events:none}.archive-header .archive-title{color:#fff;font-size:36px;font-weight:700;margin-bottom:10px;text-shadow:0 2px 4px rgba(0,0,0,.2);position:relative;z-index:1;-webkit-transition:-webkit-transform .3s ease;transition:-webkit-transform .3s ease;transition:transform .3s ease;transition:transform .3s ease,-webkit-transform .3s ease}.archive-header .archive-title:hover{-webkit-transform:translateY(-2px);transform:translateY(-2px)}.archive-header .archive-description{color:#ffffffe6;font-size:18px;line-height:1.7;position:relative;z-index:1;text-shadow:0 1px 2px rgba(0,0,0,.1)}.post-navigation{margin:30px 0;padding:20px 0;border-top:2px solid #eee;border-bottom:2px solid #eee}.post-navigation .nav-links{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start;gap:20px}li.blog-index-item{list-style:none}.blog-pagination{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:.75rem;margin:4rem auto 2rem;padding:2rem 1rem;max-width:800px}.blog-pagination .pagination-btn{display:inline-flex;align-items:center;gap:.625rem;padding:.875rem 1.5rem;background:#fff;border:2px solid #e3e3e3;border-radius:8px;color:#333;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 1px 3px #0000000d}.blog-pagination .pagination-btn:hover:not(:disabled){background:#0073aa;border-color:#0073aa;color:#fff;transform:translateY(-2px);box-shadow:0 4px 12px #0073aa40}.blog-pagination .pagination-btn:focus-visible{outline:3px solid #0073aa;outline-offset:3px}.blog-pagination .pagination-btn:disabled{opacity:.4;cursor:not-allowed;background:#f4f3f4;border-color:#e3e3e3;transform:none;box-shadow:none}.blog-pagination .pagination-btn i{font-size:.875rem;transition:transform .3s ease}.blog-pagination .pagination-btn:hover:not(:disabled) i{transform:translate(3px)}.blog-pagination .pagination-btn:first-child:hover:not(:disabled) i{transform:translate(-3px)}.blog-pagination .pagination-numbers{display:flex;gap:.5rem;align-items:center;margin:0 1rem}.blog-pagination .pagination-number{min-width:3rem;height:3rem;display:inline-flex;align-items:center;justify-content:center;padding:0;background:#fff;border:2px solid #e3e3e3;border-radius:8px;color:#333;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 1px 3px #0000000d}.blog-pagination .pagination-number:hover{background:#f4f3f4;border-color:#0073aa;color:#0073aa;transform:translateY(-2px);box-shadow:0 4px 12px #0073aa26}.blog-pagination .pagination-number:focus-visible{outline:3px solid #0073aa;outline-offset:3px}.blog-pagination .pagination-number.active{background:linear-gradient(135deg,#0073aa,#005a87);border-color:#0073aa;color:#fff;cursor:default;box-shadow:0 4px 12px #0073aa4d}.blog-pagination .pagination-number.active:hover{background:linear-gradient(135deg,#0073aa,#005a87);color:#fff;transform:none}.blog-pagination .pagination-ellipsis{color:#595959;padding:0 .5rem;font-size:1.25rem;font-weight:600;-webkit-user-select:none;user-select:none}@media (max-width: 768px){.post-navigation .nav-links{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;gap:15px}}.post-navigation .nav-previous,.post-navigation .nav-next{-webkit-box-flex:1;-ms-flex:1;flex:1;max-width:45%}@media (max-width: 768px){.post-navigation .nav-previous,.post-navigation .nav-next{max-width:100%}}.post-navigation .nav-previous a,.post-navigation .nav-next a{display:block;padding:15px;background:#fff;border-radius:8px;-webkit-box-shadow:0 2px 8px rgba(0,0,0,.1);box-shadow:0 2px 8px #0000001a;text-decoration:none;-webkit-transition:all .3s ease;transition:all .3s ease;border:1px solid #eee}.post-navigation .nav-previous a:hover,.post-navigation .nav-next a:hover{-webkit-transform:translateY(-2px);transform:translateY(-2px);-webkit-box-shadow:0 4px 16px rgba(43,114,201,.15);box-shadow:0 4px 16px #2b72c926;border-color:#2b72c9}.post-navigation .nav-subtitle{display:block;font-size:14px;color:#2b72c9;font-weight:600;text-transform:uppercase;letter-spacing:.5px;margin-bottom:10px}.post-navigation .nav-title{display:block;font-family:TrajanProBold,serif;font-size:18px;color:#333;line-height:1.6;font-weight:400}.post-navigation .nav-next{text-align:right}@media (max-width: 768px){.post-navigation .nav-next{text-align:left}}.page-links{margin:30px 0;padding:20px;background:#f8f9fa;border-radius:8px;border:1px solid #eee;text-align:center}.page-links .page-links-title{display:block;font-family:TrajanProBold,serif;font-size:18px;color:#333;margin-bottom:15px;font-weight:400}.page-links span,.page-links a{display:inline-block;margin:0 5px;padding:10px 15px;background:#fff;border:1px solid #eee;border-radius:12px;text-decoration:none;color:#333;font-weight:600;min-width:40px;text-align:center;-webkit-transition:all .3s ease;transition:all .3s ease}.page-links span:hover,.page-links a:hover{background:#2b72c9;color:#fff;border-color:#2b72c9;-webkit-transform:translateY(-1px);transform:translateY(-1px)}.page-links span{background:#2b72c9;color:#fff;border-color:#2b72c9;cursor:default}@media (max-width: 480px){.page-links{padding:15px}.page-links span,.page-links a{margin:2.5px;padding:10px;min-width:35px;font-size:14px}}.sidebar{background:#f8f9fa;padding:20px;border-radius:8px;margin:0}html.dark-mode .blog-nav{background-color:#2a2a2a}html.dark-mode .blog-nav .blog-nav-toggle{background:#252525;color:#e0e0e0}html.dark-mode .blog-nav .blog-nav-toggle:hover,html.dark-mode .blog-nav .blog-nav-toggle:focus{background:#404040}html.dark-mode .blog-nav .blog-navigation li.blog-nav-title,html.dark-mode .blog-nav .blog-navigation li a{color:#e0e0e0}html.dark-mode .blog-nav .blog-navigation li a.active{background-color:#252525;color:#2c94da}html.dark-mode .blog-nav .blog-navigation li a:hover,html.dark-mode .blog-nav .blog-navigation li a:focus{background-color:#252525;color:#2c94da}@media (max-width: 768px){html.dark-mode .blog-nav.open .blog-navigation,html.dark-mode .blog-nav .blog-navigation.open{background:#252525}html.dark-mode .blog-nav.open .blog-navigation li a,html.dark-mode .blog-nav .blog-navigation.open li a{color:#2c94da}html.dark-mode .blog-nav.open .blog-navigation li a:hover,html.dark-mode .blog-nav.open .blog-navigation li a:focus,html.dark-mode .blog-nav .blog-navigation.open li a:hover,html.dark-mode .blog-nav .blog-navigation.open li a:focus{color:#e0e0e0;background:#2c94da26}}html.dark-mode .breadcrumbs{background:transparent;color:#a0a0a0}html.dark-mode .breadcrumbs a,html.dark-mode .breadcrumbs a:hover{color:#2c94da}html.dark-mode .breadcrumbs span{color:#e0e0e0}html.dark-mode .blog-snippet,html.dark-mode .blog-full{background:#252525;color:#e0e0e0;box-shadow:0 2px 8px #0006}html.dark-mode .blog-snippet h1,html.dark-mode .blog-snippet h2,html.dark-mode .blog-snippet h3,html.dark-mode .blog-snippet h4,html.dark-mode .blog-full h1,html.dark-mode .blog-full h2,html.dark-mode .blog-full h3,html.dark-mode .blog-full h4{color:#e0e0e0}html.dark-mode .blog-snippet .excerpt,html.dark-mode .blog-full .excerpt{color:#a0a0a0}html.dark-mode .blog-post-page .blog-full h1,html.dark-mode .blog-post-content,html.dark-mode .blog-post-content h1,html.dark-mode .blog-post-content h2,html.dark-mode .blog-post-content h3,html.dark-mode .blog-post-content h4,html.dark-mode .blog-post-content h5,html.dark-mode .blog-post-content h6{color:#e0e0e0}html.dark-mode .blog-post-content blockquote{border-left-color:#2c94da;background:#2c94da1a;color:#a0a0a0}html.dark-mode .blog-post-content code{background:#2c94da26;color:#e0e0e0}html.dark-mode .blog-post-content hr{border-top-color:#404040}html.dark-mode .blog-index-page .blog-card{background:#252525;border-color:#404040}html.dark-mode .blog-index-page .blog-card:hover{background:#252525e6;box-shadow:0 8px 24px #00000080;border-color:#2c94da}html.dark-mode .blog-index-page .blog-card .blog-card-image{background:linear-gradient(135deg,#2c94da33,#2c94da1a)}html.dark-mode .blog-index-page .blog-card .blog-title{color:#e0e0e0}html.dark-mode .blog-index-page .blog-card:hover .blog-title{color:#2c94da}html.dark-mode .blog-index-page .blog-card .blog-excerpt{color:#a0a0a0}html.dark-mode .blog-index-page .blog-card .blog-read-more{color:#2c94da}html.dark-mode .archive-header{background:linear-gradient(135deg,#2a2a2a,#252525);border:1px solid #404040}html.dark-mode .archive-header .archive-title,html.dark-mode .archive-header .archive-description{color:#e0e0e0}html.dark-mode .post-navigation{border-top-color:#404040;border-bottom-color:#404040}html.dark-mode .post-navigation .nav-previous a,html.dark-mode .post-navigation .nav-next a{background:#252525;border-color:#404040}html.dark-mode .post-navigation .nav-previous a:hover,html.dark-mode .post-navigation .nav-next a:hover{border-color:#2c94da;box-shadow:0 4px 16px #2c94da33}html.dark-mode .post-navigation .nav-subtitle{color:#2c94da}html.dark-mode .post-navigation .nav-title{color:#e0e0e0}html.dark-mode .page-links{background:#2a2a2a;border-color:#404040}html.dark-mode .page-links .page-links-title{color:#e0e0e0}html.dark-mode .page-links span,html.dark-mode .page-links a{background:#252525;border-color:#404040;color:#e0e0e0}html.dark-mode .page-links span:hover,html.dark-mode .page-links a:hover,html.dark-mode .page-links span{background:#2c94da;border-color:#2c94da;color:#1a1a1a}html.dark-mode .sidebar{background:#252525;border:1px solid #404040}html.dark-mode .blog-pagination .pagination-btn{background:#1a1a1a;border-color:#404040;color:#e0e0e0;box-shadow:0 1px 3px #0000004d}html.dark-mode .blog-pagination .pagination-btn:hover:not(:disabled){background:#0073aa;border-color:#0073aa;color:#fff;box-shadow:0 4px 12px #0073aa66}html.dark-mode .blog-pagination .pagination-btn:disabled{background:#ffffff0d;border-color:#404040}html.dark-mode .blog-pagination .pagination-number{background:#1a1a1a;border-color:#404040;color:#e0e0e0;box-shadow:0 1px 3px #0000004d}html.dark-mode .blog-pagination .pagination-number:hover{background:#ffffff14;border-color:#0073aa;color:#0073aa;box-shadow:0 4px 12px #0073aa4d}html.dark-mode .blog-pagination .pagination-number.active{background:linear-gradient(135deg,#0073aa,#005a87);border-color:#0073aa;color:#fff;box-shadow:0 4px 12px #0073aa66}html.dark-mode .blog-pagination .pagination-number.active:hover{background:linear-gradient(135deg,#0073aa,#005a87)}html.dark-mode .blog-pagination .pagination-ellipsis{color:#a0a0a0}@media (max-width: 768px){.blog-pagination{gap:.5rem}.blog-pagination .pagination-btn{padding:.75rem 1.25rem;font-size:.9375rem}.blog-pagination .pagination-numbers{margin:0 .5rem;gap:.375rem}.blog-pagination .pagination-number{min-width:2.75rem;height:2.75rem;font-size:.9375rem}}@media (max-width: 480px){.blog-pagination .pagination-btn{padding:.625rem 1rem;font-size:.875rem}.blog-pagination .pagination-btn span{display:none}.blog-pagination .pagination-numbers{margin:0 .25rem}.blog-pagination .pagination-number{min-width:2.5rem;height:2.5rem;font-size:.875rem}}.footer-widgets{background:#2c3e50;color:#ecf0f1;padding:40px 0}.footer-widgets .container{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:30px;max-width:1200px;margin:0 auto;padding:0 20px}.footer-widgets .widget{background:transparent;-webkit-box-shadow:none;box-shadow:none;padding:0}.footer-widgets .widget-title{color:#ecf0f1;font-family:TrajanProBold,serif;font-size:18px;font-weight:400;margin-top:0;margin-bottom:15px;padding-bottom:10px;text-transform:none;letter-spacing:normal;position:relative}.footer-widgets .widget-title:after{content:"";position:absolute;bottom:0;left:0;width:100%;height:3px;background:-webkit-gradient(linear,left top,right top,from(#2b72c9),color-stop(rgb(161.9139344262,194.7950819672,235.0860655738)),to(transparent));background:linear-gradient(90deg,#2b72c9,rgb(161.9139344262,194.7950819672,235.0860655738),transparent);border-radius:2px}.footer-widgets .widget-title:before{content:"";position:absolute;bottom:-2px;left:0;width:100%;height:1px;background:-webkit-gradient(linear,left top,right top,from(rgb(119.9016393443,167.6229508197,226.0983606557)),color-stop(rgb(203.9262295082,221.9672131148,244.0737704918)),to(transparent));background:linear-gradient(90deg,rgb(119.9016393443,167.6229508197,226.0983606557),rgb(203.9262295082,221.9672131148,244.0737704918),transparent)}.footer-widgets .widget ul li a{color:#bdc3c7}.footer-widgets .widget ul li a:hover{color:#2b72c9}.footer-widgets .widget .wp-block-tag-cloud a,.footer-widgets .widget .tagcloud a{background:#ffffff1a;color:#bdc3c7;border-color:#fff3;border-radius:5px}.footer-widgets .widget .wp-block-tag-cloud a:hover,.footer-widgets .widget .tagcloud a:hover{background:#ffffff1a;color:#bdc3c7;border-color:#2b72c9}.footer-widgets .widget .wp-block-tag-cloud a:after,.footer-widgets .widget .tagcloud a:after{content:" (" attr(title) ")";font-size:9px;opacity:.9;font-weight:600;color:#2b72c9;background:#2b72c933;padding:2px 4px;border-radius:3px;margin-left:4px;display:inline-block;line-height:1;vertical-align:middle;min-width:12px;text-align:center}/*!
 * Partial: _blog-sidebar.scss
 * Purpose: Styles for the blog sidebar widgets, tag clouds, and sidebar layout.
 * Features: Widget containers, tag cloud, responsive sidebar, widget titles, input styles.
 * Usage: Import in style.scss for blog sidebar components.
 * Dependencies: Uses variables from abstracts.
 * Last updated: 2025-09-11
 */.blog-sidebar{width:100%;max-width:320px;font-size:1rem}@media (max-width: 768px){.blog-sidebar{max-width:100%;margin:0}}.widget{margin-bottom:2rem;padding:20px;border-bottom:1px solid #f0f0f0;background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a}.widget:last-child{border-bottom:none;margin-bottom:0}.widget .widgetTitle,.widget .widget-title{font-family:TrajanProBold,serif;font-size:1.1rem;font-weight:700;margin:0 0 1rem;color:#222;padding-bottom:10px;text-transform:none;letter-spacing:normal;position:relative}.widget .widgetTitle:after,.widget .widget-title:after{content:"";position:absolute;bottom:0;left:0;width:100%;height:3px;background:linear-gradient(90deg,#2b72c9,rgb(161,194,235),transparent);border-radius:2px}.widget .widgetTitle:before,.widget .widget-title:before{content:"";position:absolute;bottom:-2px;left:0;width:100%;height:1px;background:linear-gradient(90deg,rgb(119,167,226),rgb(203,221,244),transparent)}.widget ul{list-style:none;padding:0;margin:0}.widget ul li{margin-bottom:.7em;padding:8px 0;border-bottom:1px solid #eee}.widget ul li:last-child{margin-bottom:0;border-bottom:none}.widget ul li a{color:#555;text-decoration:none;transition:color .3s ease}.widget ul li a:hover{color:#2b72c9}.widget input[type=text]{width:100%;padding:.5em .8em;border:1px solid #e0e0e0;border-radius:6px;font-size:1em;margin-bottom:.5em;background:#fafafa;transition:border .2s}.widget input[type=text]:focus{border:1px solid #bdbdbd;outline:none}.widget a{color:#1a6ed8;text-decoration:none;transition:color .2s}.widget a:hover{color:#0d47a1}.widget p{line-height:1.6;color:#666}.wp-block-tag-cloud,.tagcloud{display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0}.wp-block-tag-cloud a,.tagcloud a{display:inline-block;padding:6px 12px;background:#f8f9fa;color:#333;text-decoration:none;border-radius:8px;font-size:12px!important;font-weight:500;border:1px solid #eee;transition:all .3s ease;white-space:nowrap;position:relative}.wp-block-tag-cloud a:hover,.tagcloud a:hover{background:#f8f9fa;color:#333;border-color:#2b72c9;transform:translateY(-2px);box-shadow:0 2px 4px #0000001a}.wp-block-tag-cloud a:after,.tagcloud a:after{content:" (" attr(title) ")";font-size:9px;opacity:.8;font-weight:600;color:#2b72c9;background:#2b72c91a;padding:2px 4px;border-radius:3px;margin-left:4px;display:inline-block;line-height:1;vertical-align:middle;min-width:12px;text-align:center}.tag-cloud{display:flex;flex-wrap:wrap;gap:.5em}.tag-cloud a{display:inline-block;background:#f5f5f5;color:#444;border-radius:4px;padding:.3em .7em;font-size:.95em;margin-bottom:.3em;transition:background .2s,color .2s}.tag-cloud a:hover{background:#1a6ed8;color:#fff}.wp-block-tag-cloud a:after,.tag-cloud a:after{content:" (" attr(title) ")";font-size:.9em;opacity:.9;font-weight:600;color:#2b72c9;background:#2b72c914;padding:2px 4px;border-radius:3px;margin-left:4px;display:inline-block;line-height:1;vertical-align:middle;min-width:12px;text-align:center}.wp-block-tag-cloud a[style*="font-size: 8px"]{font-size:11px!important;padding:4px 8px}.wp-block-tag-cloud a[style*="font-size: 10px"],.wp-block-tag-cloud a[style*="font-size: 12px"]{font-size:12px!important;padding:6px 10px}.wp-block-tag-cloud a[style*="font-size: 14px"],.wp-block-tag-cloud a[style*="font-size: 16px"]{font-size:13px!important;padding:8px 12px;font-weight:600}.wp-block-tag-cloud a[style*="font-size: 18px"],.wp-block-tag-cloud a[style*="font-size: 20px"],.wp-block-tag-cloud a[style*="font-size: 22px"]{font-size:14px!important;padding:10px 14px;font-weight:700}html.dark-mode .blog-sidebar{background:transparent}html.dark-mode .widget{background:#252525;border-color:#404040;box-shadow:0 2px 4px #0000004d}html.dark-mode .widget .widgetTitle,html.dark-mode .widget .widget-title{color:#e0e0e0}html.dark-mode .widget .widgetTitle:after,html.dark-mode .widget .widget-title:after{background:linear-gradient(90deg,#2c94da,rgba(44,148,218,.3),transparent)}html.dark-mode .widget .widgetTitle:before,html.dark-mode .widget .widget-title:before{background:linear-gradient(90deg,rgba(44,148,218,.5),rgba(44,148,218,.2),transparent)}html.dark-mode .widget ul li{border-bottom-color:#404040}html.dark-mode .widget ul li a{color:#a0a0a0}html.dark-mode .widget ul li a:hover{color:#2c94da}html.dark-mode .widget input[type=text]{background:#1a1a1a;border-color:#404040;color:#e0e0e0}html.dark-mode .widget input[type=text]:focus{border-color:#2c94da;background:#1a1a1acc}html.dark-mode .widget input[type=text]::placeholder{color:#a0a0a0}html.dark-mode .widget a,html.dark-mode .widget a:hover{color:#2c94da}html.dark-mode .widget p{color:#a0a0a0}html.dark-mode .wp-block-tag-cloud a,html.dark-mode .tagcloud a{background:#4040404d;color:#e0e0e0;border-color:#404040}html.dark-mode .wp-block-tag-cloud a:hover,html.dark-mode .tagcloud a:hover{background:#2c94da26;color:#2c94da;border-color:#2c94da}html.dark-mode .wp-block-tag-cloud a:after,html.dark-mode .tagcloud a:after{color:#2c94da;background:#2c94da26}html.dark-mode .tag-cloud a{background:#4040404d;color:#e0e0e0}html.dark-mode .tag-cloud a:hover{background:#2c94da;color:#1a1a1a}html.dark-mode .footer-widgets{background:#2a2a2a;color:#e0e0e0}html.dark-mode .footer-widgets .widget{background:transparent}html.dark-mode .footer-widgets .widget .widget-title{color:#e0e0e0}html.dark-mode .footer-widgets .widget ul li a{color:#a0a0a0}html.dark-mode .footer-widgets .widget ul li a:hover{color:#2c94da}html.dark-mode .footer-widgets .widget .wp-block-tag-cloud a,html.dark-mode .footer-widgets .widget .tagcloud a{background:#4040404d;color:#e0e0e0;border-color:#404040}html.dark-mode .footer-widgets .widget .wp-block-tag-cloud a:hover,html.dark-mode .footer-widgets .widget .tagcloud a:hover{background:#2c94da26;color:#2c94da;border-color:#2c94da}html.dark-mode .footer-widgets .widget .wp-block-tag-cloud a:after,html.dark-mode .footer-widgets .widget .tagcloud a:after{color:#2c94da;background:#2c94da26}/*!
 * Partial: _syntax-highlight.scss
 * Purpose: Styles for syntax highlighting in code blocks and pre/code elements.
 * Features: Code block, pre, inline code, language-specific highlighting, responsive adjustments.
 * Usage: Import in style.scss for blog/code syntax highlighting.
 * Dependencies: Uses variables from abstracts.
 * Last updated: 2025-09-11
 */pre,code{font-family:Fira Code,Consolas,Monaco,Courier New,monospace;font-size:14px;line-height:1.5}code{background:#252526;color:#d4d4d4;padding:2px 6px;border-radius:4px;border:1px solid #3c3c3c;font-size:13px}pre code{background:none;padding:0;border:none;font-size:inherit}pre{background:#1e1e1e;color:#d4d4d4;padding:20px;border-radius:8px;border:1px solid #3c3c3c;overflow-x:auto;margin:30px 0;position:relative}pre::-webkit-scrollbar{height:8px}pre::-webkit-scrollbar-track{background:#252526;border-radius:4px}pre::-webkit-scrollbar-thumb{background:#3c3c3c;border-radius:4px}pre::-webkit-scrollbar-thumb:hover{background:#565656}pre:hover .copy-button{opacity:1}.code-language{position:absolute;top:8px;right:12px;font-size:11px;color:#6a9955;text-transform:uppercase;letter-spacing:.5px;font-weight:600}.copy-button{position:absolute;top:8px;right:8px;background:#252526;border:1px solid #3c3c3c;color:#d4d4d4;padding:4px 8px;border-radius:4px;font-size:11px;cursor:pointer;opacity:0;transition:all .2s ease}.copy-button:hover{background:#3c3c3c}.wp-block-code{background:#1e1e1e;border:1px solid #3c3c3c;border-radius:8px}.wp-block-code code{color:#d4d4d4;background:none}.hljs{background:#1e1e1e;color:#d4d4d4}.hljs-comment,.hljs-quote{color:#6a9955;font-style:italic}.hljs-keyword,.hljs-selector-tag,.hljs-literal,.hljs-type{color:#569cd6;font-weight:600}.hljs-string,.hljs-doctag{color:#ce9178}.hljs-number{color:#b5cea8}.hljs-function,.hljs-title,.hljs-built_in{color:#dcdcaa;font-weight:600}.hljs-variable,.hljs-attr,.hljs-name{color:#9cdcfe}.hljs-operator,.hljs-punctuation{color:#d4d4d4}.hljs-class,.hljs-constructor{color:#4ec9b0;font-weight:600}.hljs-regexp{color:#d16969}.hljs-meta{color:#75beff}.hljs-deletion{background:#f4474733;color:#f44747}.hljs-addition{background:#89d18533;color:#89d185}.language-javascript .hljs-built_in,.language-js .hljs-built_in,.language-typescript .hljs-built_in,.language-ts .hljs-built_in{color:#4fc1ff}.language-javascript .hljs-property,.language-js .hljs-property,.language-typescript .hljs-property,.language-ts .hljs-property{color:#9cdcfe}.language-css .hljs-selector-class,.language-scss .hljs-selector-class{color:#d7ba7d}.language-css .hljs-selector-id,.language-scss .hljs-selector-id{color:#b8d7a3}.language-css .hljs-property,.language-scss .hljs-property{color:#92c5f7}.language-css .hljs-value,.language-scss .hljs-value{color:#ce9178}.language-html .hljs-tag{color:#569cd6}.language-html .hljs-name{color:#4fc1ff}.language-html .hljs-attr{color:#92c5f7}.language-php .hljs-variable{color:#9cdcfe}.language-php .hljs-keyword{color:#569cd6}.language-php .hljs-class{color:#4ec9b0}.language-json .hljs-attr{color:#9cdcfe}.language-json .hljs-string{color:#ce9178}.language-json .hljs-number{color:#b5cea8}.language-json .hljs-literal{color:#569cd6}.language-bash,.language-shell,.language-terminal{background:#0c0c0c;color:#ccc}.language-bash .hljs-built_in,.language-shell .hljs-built_in,.language-terminal .hljs-built_in{color:#4fc1ff}.language-bash .hljs-variable,.language-shell .hljs-variable,.language-terminal .hljs-variable{color:#75beff}.language-bash .hljs-string,.language-shell .hljs-string,.language-terminal .hljs-string{color:#89d185}.post-content p code{background:#252526;color:#d4d4d4;padding:2px 6px;border-radius:3px;font-size:.9em;border:1px solid #3c3c3c}.post-content .code-block-with-lines{position:relative}.post-content .code-block-with-lines .line-numbers{position:absolute;left:0;top:0;bottom:0;width:40px;background:#252526;border-right:1px solid #3c3c3c;color:#6a9955;font-size:12px;line-height:1.5;padding:20px 8px;text-align:right;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.post-content .code-block-with-lines .line-numbers span{display:block}.post-content .code-block-with-lines pre{padding-left:60px}.token.comment,.token.prolog,.token.doctype,.token.cdata{color:#6a9955;font-style:italic}.token.punctuation{color:#d4d4d4}.token.property,.token.tag,.token.boolean,.token.number,.token.constant,.token.symbol,.token.deleted{color:#b5cea8}.token.selector,.token.attr-name,.token.string,.token.char,.token.builtin,.token.inserted{color:#ce9178}.token.operator,.token.entity,.token.url,.language-css .token.string,.style .token.string{color:#d4d4d4}.token.atrule,.token.attr-value,.token.keyword{color:#569cd6}.token.function,.token.class-name{color:#dcdcaa}.token.regex,.token.important,.token.variable{color:#9cdcfe}@media (max-width: 768px){pre{padding:15px;font-size:13px;overflow-x:auto;white-space:pre}.code-block-with-lines .line-numbers{width:35px;padding:15px 6px;font-size:11px}.code-block-with-lines pre{padding-left:50px}}.copy-code-btn{margin:8px 0 0;float:right;font-size:.8em;padding:2px 10px;border-radius:4px;border:none;background:#eee;cursor:pointer;transition:background .2s ease}.copy-code-btn:hover{background:#dcdcdc}.copy-code-btn:focus-visible{outline:2px solid #0073aa;outline-offset:2px}@media (max-width: 480px){pre{margin:20px 0;border-radius:12px}code{font-size:12px}}@media (prefers-color-scheme: dark){pre,code{background:#1e1e1e;color:#d4d4d4;border-color:#3c3c3c}}@media (prefers-contrast: high){pre{border:2px solid #d4d4d4}code{border:1px solid #d4d4d4}}@media (max-width: 768px){.content-sidebar-wrapper{-webkit-box-orient:vertical!important;-webkit-box-direction:normal!important;-ms-flex-direction:column!important;flex-direction:column!important;gap:20px}.content-sidebar-wrapper .single-content{max-width:100%;padding:0}.content-sidebar-wrapper .single-content .blog-full{padding:15px}.sidebar-wrapper{position:static;max-height:none;overflow-y:visible}.featured-image,.featured-image-right{float:none;margin:20px 0;max-width:100%}.sidebar{margin-top:20px}}@media (max-width: 480px){.content-sidebar-wrapper{gap:15px}.sidebar{padding:15px}.widget{padding:15px;margin-bottom:20px}}.copy-code-btn{color:#333;padding:4px 8px!important}html.dark-mode pre,html.dark-mode code{background:#1e1e1e;color:#d4d4d4;border-color:#3c3c3c}html.dark-mode .post-content p code{background:#252526;color:#d4d4d4;border-color:#3c3c3c}html.dark-mode .copy-code-btn{background:#252526;color:#d4d4d4;border:1px solid #3c3c3c}html.dark-mode .copy-code-btn:hover{background:#3c3c3c;color:#d4d4d4}html.dark-mode .code-language{color:#6a9955}html.dark-mode .copy-button{background:#252526;border-color:#3c3c3c;color:#d4d4d4}html.dark-mode .copy-button:hover{background:#3c3c3c}.skeleton-mb-lg{margin-bottom:18px}.blog-error-message{color:#dc3545;text-align:center;margin-top:32px;padding:16px;background:#dc35451a;border-radius:8px;font-weight:600}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
