﻿@import"https://fonts.googleapis.com/css?family=Source+Sans+Pro:300,400,300italic,400italic";@import"fontawesome-all.min.css";body{background-image:url("images/overlay.png"),linear-gradient(135deg, #1e3a8a 0%, #1e40af 50%, #2563eb 100%) !important;background-repeat:repeat,no-repeat;background-size:auto,100% 100%;background-attachment:fixed,fixed}.project-card{background:hsla(0,0%,100%,.1);border-radius:.75rem;overflow:hidden;transition:all .3s ease;box-shadow:0 .5rem 1rem rgba(0,0,0,.15);height:100%;display:flex;flex-direction:column}.project-card:hover{transform:translateY(-5px);box-shadow:0 1rem 3rem rgba(0,0,0,.175)}.project-card .project-image{position:relative;width:100%;height:200px;overflow:hidden;background:rgba(0,0,0,.05)}.project-card .project-image img{width:100%;height:100%;object-fit:cover;object-position:center;transition:transform .3s ease}.project-card .project-image:hover img{transform:scale(1.05)}.project-card .project-image .project-overlay{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(transparent, rgba(0, 0, 0, 0.8));padding:1.5rem 1rem 1rem;color:#fff;transform:translateY(100%);transition:transform .3s ease}.project-card .project-image .project-overlay h3{margin:0 0 .5rem 0;font-size:1.1rem;font-weight:600}.project-card .project-image .project-overlay p{margin:0;font-size:.9rem;opacity:.9;line-height:1.3}.project-card .project-image:hover .project-overlay{transform:translateY(0)}.project-card .project-content{padding:1rem;flex:1;display:flex;flex-direction:column}.project-card .project-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:.5rem}.project-card .project-header h4{margin:0;flex:1}.project-card .project-actions{display:flex;gap:.5rem;justify-content:space-between;margin-top:auto;padding-top:1rem}.project-card .project-actions .button{flex:1;text-align:center;font-size:.9rem;font-weight:500;padding:.6rem .5rem;white-space:nowrap}.project-card .project-actions .button i{margin-right:.25rem;font-size:.8em}@media(max-width: 480px){.project-card .project-actions{flex-direction:column;gap:.25rem}.project-card .project-actions .button{font-size:.9rem;font-weight:500;padding:.5rem}}.project-card .project-status{font-size:.7rem;padding:.2rem .5rem;border-radius:1rem;text-transform:uppercase;font-weight:600;letter-spacing:.5px}.project-card .project-status.status-success{background:#10b981;color:#fff}.project-card .project-status.status-warning{background:#f59e0b;color:#fff}.project-card .project-status.status-info{background:#3b82f6;color:#fff}.project-card .project-status.status-secondary{background:#6b7280;color:#fff}.project-card .ai-aspects{background:rgba(37,99,235,.1);border-left:3px solid #2563eb;padding:.75rem;margin:.75rem 0;border-radius:.25rem}.project-card .ai-aspects strong{color:#2563eb;display:flex;align-items:center;gap:.5rem;margin-bottom:.25rem}.project-card .ai-aspects p{margin:0;font-size:.9rem;line-height:1.4}.project-card .project-technologies{margin:.75rem 0}.project-card .project-technologies .tech-tag{display:inline-block;background:rgba(0,0,0,.1);color:inherit;padding:.25rem .5rem;margin:.125rem;border-radius:.25rem;font-size:.8rem;font-weight:500}.project-card .project-technologies .tech-tag.more{background:rgba(37,99,235,.1);color:#2563eb;font-style:italic}.project-card .project-metrics{background:rgba(16,185,129,.1);border-left:3px solid #10b981;padding:.75rem;margin:.75rem 0;border-radius:.25rem}.project-card .project-metrics strong{color:#059669;margin-bottom:.25rem;display:block}.project-card .project-metrics p{margin:0;font-size:.9rem;font-weight:600}@media(max-width: 768px){.project-card .project-image{height:160px}}@media(max-width: 480px){.project-card .project-image{height:140px}}.modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.8);backdrop-filter:blur(8px);z-index:10000;display:flex;justify-content:center;align-items:center;padding:1rem}.modal-overlay .project-details-modal{background:#fff;border-radius:.75rem;max-width:900px;max-height:90vh;overflow-y:auto;position:relative;animation:modalSlideIn .3s ease-out;box-shadow:0 20px 60px rgba(0,0,0,.3)}.modal-overlay .project-details-modal .modal-close{position:absolute;top:1rem;right:1.5rem;font-size:2rem;cursor:pointer;color:#6b7280;z-index:1;transition:color .3s ease}.modal-overlay .project-details-modal .modal-close:hover{color:#dc2626}.modal-overlay .project-details-modal .modal-content{padding:2rem}.modal-overlay .project-details-modal .modal-content h2{margin:0 0 1.5rem 0;padding-right:2rem;color:#1f2937}.modal-overlay .project-details-modal .modal-content .project-details-content{display:grid;grid-template-columns:1fr 1fr;gap:2rem}@media(max-width: 768px){.modal-overlay .project-details-modal .modal-content .project-details-content{grid-template-columns:1fr;gap:1.5rem}}.modal-overlay .project-details-modal .modal-content .project-gallery img{width:100%;height:auto;max-height:300px;object-fit:cover;object-position:center;margin-bottom:1rem;border-radius:.5rem;box-shadow:0 4px 8px rgba(0,0,0,.1);transition:transform .3s ease}.modal-overlay .project-details-modal .modal-content .project-gallery img:hover{transform:scale(1.02);box-shadow:0 8px 16px rgba(0,0,0,.15)}.modal-overlay .project-details-modal .modal-content .project-info h3,.modal-overlay .project-details-modal .modal-content .project-info h4{color:#374151;margin:1.5rem 0 .75rem 0;border-bottom:2px solid #e5e7eb;padding-bottom:.25rem}.modal-overlay .project-details-modal .modal-content .project-info h3:first-child,.modal-overlay .project-details-modal .modal-content .project-info h4:first-child{margin-top:0}.modal-overlay .project-details-modal .modal-content .project-info h5{color:#6b7280;margin:1rem 0 .5rem 0;font-size:.9rem;text-transform:uppercase;letter-spacing:.5px}.modal-overlay .project-details-modal .modal-content .project-info .challenges-solutions{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin:1.5rem 0}@media(max-width: 600px){.modal-overlay .project-details-modal .modal-content .project-info .challenges-solutions{grid-template-columns:1fr}}.modal-overlay .project-details-modal .modal-content .project-info .challenges-solutions .challenges h4,.modal-overlay .project-details-modal .modal-content .project-info .challenges-solutions .solutions h4{margin-top:0;font-size:1rem}.modal-overlay .project-details-modal .modal-content .project-info .challenges-solutions .challenges ul,.modal-overlay .project-details-modal .modal-content .project-info .challenges-solutions .solutions ul{margin:.5rem 0;padding-left:1.25rem}.modal-overlay .project-details-modal .modal-content .project-info .challenges-solutions .challenges ul li,.modal-overlay .project-details-modal .modal-content .project-info .challenges-solutions .solutions ul li{margin-bottom:.5rem;line-height:1.4}.modal-overlay .project-details-modal .modal-content .project-info .challenges-solutions .challenges h4{color:#dc2626;border-bottom-color:#fee2e2}.modal-overlay .project-details-modal .modal-content .project-info .challenges-solutions .solutions h4{color:#059669;border-bottom-color:#d1fae5}.modal-overlay .project-details-modal .modal-content .project-info .ai-aspects-detailed{background:rgba(37,99,235,.05);border:1px solid rgba(37,99,235,.2);border-radius:.5rem;padding:1rem;margin:1.5rem 0}.modal-overlay .project-details-modal .modal-content .project-info .ai-aspects-detailed h4{color:#2563eb;margin-top:0;display:flex;align-items:center;gap:.5rem}.modal-overlay .project-details-modal .modal-content .project-info .project-metrics-detailed{background:rgba(16,185,129,.05);border:1px solid rgba(16,185,129,.2);border-radius:.5rem;padding:1rem;margin:1.5rem 0}.modal-overlay .project-details-modal .modal-content .project-info .project-metrics-detailed h4{color:#059669;margin-top:0}.modal-overlay .project-details-modal .modal-content .project-info .project-metrics-detailed .metric-item{display:flex;justify-content:space-between;align-items:center;padding:.5rem 0;border-bottom:1px solid rgba(16,185,129,.1)}.modal-overlay .project-details-modal .modal-content .project-info .project-metrics-detailed .metric-item:last-child{border-bottom:none}.modal-overlay .project-details-modal .modal-content .project-info .project-metrics-detailed .metric-item .metric-label{color:#6b7280;font-size:.9rem}.modal-overlay .project-details-modal .modal-content .project-info .project-metrics-detailed .metric-item .metric-value{font-weight:600;color:#059669}.modal-overlay .project-details-modal .modal-content .project-info .timeline-phases{margin-top:1rem}.modal-overlay .project-details-modal .modal-content .project-info .timeline-phases .timeline-phase{background:rgba(0,0,0,.02);border-left:3px solid #e5e7eb;padding:.75rem;margin-bottom:.75rem;border-radius:.25rem}.modal-overlay .project-details-modal .modal-content .project-info .timeline-phases .timeline-phase h5{margin:0 0 .25rem 0;color:#374151}.modal-overlay .project-details-modal .modal-content .project-info .timeline-phases .timeline-phase .duration{color:#6b7280;font-size:.8rem;font-weight:600}.modal-overlay .project-details-modal .modal-content .project-info .timeline-phases .timeline-phase p{margin:.5rem 0 0 0;font-size:.9rem;line-height:1.4}.modal-overlay .project-details-modal .modal-content .project-info .tech-grid{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.5rem}.modal-overlay .project-details-modal .modal-content .project-info .tech-grid .tech-badge{background:linear-gradient(135deg, #f3f4f6 0%, #e5e7eb 100%);color:#374151;padding:.5rem .75rem;border-radius:.375rem;font-weight:500;font-size:.9rem;border:1px solid #d1d5db}@keyframes modalSlideIn{from{opacity:0;transform:scale(0.9) translateY(-20px)}to{opacity:1;transform:scale(1) translateY(0)}}.sr-only{position:absolute !important;width:1px !important;height:1px !important;padding:0 !important;margin:-1px !important;overflow:hidden !important;clip:rect(0, 0, 0, 0) !important;white-space:nowrap !important;border:0 !important}#contact-form{position:relative}#contact-form .form-messages{margin-bottom:1.5rem}#contact-form .form-messages .alert{display:flex;align-items:center;gap:.75rem;padding:1rem;border-radius:.5rem;margin-bottom:1rem;font-weight:500}#contact-form .form-messages .alert i{font-size:1.2rem;flex-shrink:0}#contact-form .form-messages .alert.alert-success{background-color:rgba(16,185,129,.1);border:1px solid rgba(16,185,129,.3);color:#059669}#contact-form .form-messages .alert.alert-success i{color:#10b981}#contact-form .form-messages .alert.alert-error{background-color:rgba(239,68,68,.1);border:1px solid rgba(239,68,68,.3);color:#dc2626}#contact-form .form-messages .alert.alert-error i{color:#ef4444}#contact-form .form-messages .alert.alert-info{background-color:rgba(59,130,246,.1);border:1px solid rgba(59,130,246,.3);color:#2563eb}#contact-form .form-messages .alert.alert-info i{color:#3b82f6}#contact-form .form-messages .alert.alert-warning{background-color:rgba(245,158,11,.1);border:1px solid rgba(245,158,11,.3);color:#d97706}#contact-form .form-messages .alert.alert-warning i{color:#f59e0b}#contact-form input.error,#contact-form textarea.error{border-color:#ef4444 !important;box-shadow:0 0 0 3px rgba(239,68,68,.1) !important;background-color:rgba(254,242,242,.5)}#contact-form input.error:focus,#contact-form textarea.error:focus{border-color:#ef4444 !important;box-shadow:0 0 0 3px rgba(239,68,68,.2) !important}#contact-form .field-error{display:none;color:#dc2626;font-size:.875rem;margin-top:.25rem;margin-bottom:.5rem;line-height:1.4;padding-left:.5rem;position:relative}#contact-form .field-error::before{content:"⚠";margin-right:.25rem;font-size:.9rem}#contact-form .field-error[style*=block]{display:block}#contact-form input:valid:not(:placeholder-shown):not(.error),#contact-form textarea:valid:not(:placeholder-shown):not(.error){border-color:#10b981;box-shadow:0 0 0 3px rgba(16,185,129,.1)}#contact-form.loading{position:relative;opacity:.7;pointer-events:none}#contact-form.loading::after{content:"";position:absolute;top:50%;left:50%;width:2rem;height:2rem;margin:-1rem 0 0 -1rem;border:2px solid rgba(0,0,0,0);border-top:2px solid #2563eb;border-radius:50%;animation:spin 1s linear infinite;z-index:10}#contact-form input[type=submit]{position:relative;transition:all .3s ease}#contact-form input[type=submit]:disabled{opacity:.6;cursor:not-allowed;background-color:#9ca3af !important}#contact-form input[type=submit]:not(:disabled):hover{transform:translateY(-1px);box-shadow:0 4px 12px rgba(37,99,235,.3)}#contact-form input:focus,#contact-form textarea:focus{outline:2px solid #2563eb;outline-offset:2px}#contact-form .char-count{font-size:.75rem;color:#6b7280;text-align:right;margin-top:.25rem}#contact-form .char-count.warning{color:#d97706}#contact-form .char-count.error{color:#dc2626}#contact-form .contact-info{list-style:none;padding:0}#contact-form .contact-info li{display:flex;align-items:center;margin-bottom:.75rem;padding:.5rem;border-radius:.375rem;transition:background-color .2s ease}#contact-form .contact-info li:hover{background-color:rgba(0,0,0,.02)}#contact-form .contact-info li strong{min-width:5rem;margin-right:1rem;color:#374151;font-weight:600;flex-shrink:0}#contact-form .contact-info li a{color:#2563eb;text-decoration:none;transition:color .2s ease;flex:1}#contact-form .contact-info li a:hover{color:#1d4ed8;text-decoration:underline}#contact-form .contact-info li a:focus{outline:2px solid #2563eb;outline-offset:2px;border-radius:.25rem}@keyframes spin{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}@media(max-width: 768px){#contact-form .form-messages .alert{padding:.75rem;font-size:.9rem}#contact-form .field-error{font-size:.8rem}#contact-form .contact-info li{flex-direction:column;align-items:flex-start;gap:.25rem}#contact-form .contact-info li strong{min-width:auto;margin-right:0}}#about .row ul li{padding-left:0}#about .row ul li:before{display:none}@media(max-width: 980px){.project-card .project-header{flex-direction:column;align-items:flex-start;gap:.5rem}.project-card .ai-aspects,.project-card .project-metrics{margin:.5rem 0;padding:.5rem}.modal-overlay{padding:.5rem}.modal-overlay .project-details-modal .modal-content{padding:1.5rem}}@media(max-width: 736px){.project-card .project-technologies .tech-tag{font-size:.7rem;padding:.2rem .4rem}.modal-overlay .project-details-modal .modal-content{padding:1rem}.modal-overlay .project-details-modal .modal-content h2{font-size:1.5rem;padding-right:1.5rem}}#main>.panel.intro{display:grid !important;grid-template-columns:1fr 1fr !important;align-items:center !important;gap:3rem !important;padding:2rem 3rem 2rem 6rem !important}#main>.panel.intro header{text-align:left !important;padding:0 !important}#main>.panel.intro .pic{width:auto !important;height:auto !important;flex-grow:1 !important;flex-shrink:1 !important;position:relative !important}#main>.panel.intro .pic img{position:relative !important;width:auto !important;height:auto !important;max-width:800px !important;object-fit:cover !important;object-position:center !important;border-radius:50% !important;box-shadow:0 .5rem 2rem rgba(0,0,0,.2) !important;border:4px solid hsla(0,0%,100%,.1) !important}@media(max-width: 980px){#main>.panel.intro{display:flex !important;flex-direction:column !important;align-items:center !important;justify-content:center !important;gap:0 !important;text-align:center !important;min-height:auto !important;height:auto !important;padding:2rem 1.5rem !important}#main>.panel.intro header{text-align:center !important;padding-right:0 !important;order:1 !important;padding:0 0 2rem 0 !important;margin:0 !important}#main>.panel.intro .profile-image{order:2 !important;margin:0 !important;position:relative !important;height:auto !important;width:auto !important;flex-grow:0 !important;flex-shrink:0 !important}#main>.panel.intro .pic{height:auto !important;width:auto !important;order:2 !important;margin:0 !important}#main>.panel.intro .pic img{max-width:500px !important}}.profile-image{display:flex !important;justify-content:center !important;align-items:center !important;width:100% !important;height:auto !important;position:relative !important}.profile-image img{width:auto !important;max-width:800px !important;height:auto !important;border-radius:50% !important;box-shadow:0 .5rem 2rem rgba(0,0,0,.2) !important;transition:all .3s ease !important;border:4px solid hsla(0,0%,100%,.1) !important;position:relative !important;object-fit:cover !important;object-position:center !important}.profile-image img:hover{transform:scale(1.05);box-shadow:0 1rem 3rem rgba(0,0,0,.3)}@media(max-width: 980px){.profile-image img{max-width:500px}}@media(max-width: 736px){.profile-image{margin:0 auto}.profile-image img{max-width:250px}}@media(max-width: 480px){.profile-image{margin:0 auto}.profile-image img{max-width:200px}}#home nav{display:flex;justify-content:center;flex-wrap:wrap;gap:1rem;margin-top:2rem}#home nav a{display:flex;flex-direction:column;align-items:center;text-decoration:none;color:hsla(0,0%,100%,.8);transition:all .3s ease;padding:.75rem;border-radius:.5rem;background:hsla(0,0%,100%,.05);backdrop-filter:blur(10px);border:1px solid hsla(0,0%,100%,.1);min-width:80px}#home nav a:hover{color:#fff;background:hsla(0,0%,100%,.1);transform:translateY(-2px);box-shadow:0 .5rem 1rem rgba(0,0,0,.2)}#home nav a i{font-size:1.5rem;margin-bottom:.5rem}#home nav a .label{font-size:.8rem;font-weight:500;text-transform:uppercase;letter-spacing:.5px}@media(max-width: 736px){#home nav{gap:.5rem}#home nav a{padding:.5rem;min-width:60px}#home nav a i{font-size:1.2rem;margin-bottom:.25rem}#home nav a .label{font-size:.7rem}}@media(max-width: 480px){#home nav a .label{display:none}}img[loading=lazy]{transition:opacity .3s ease}img[loading=lazy]:not([src]){opacity:0}@media(-webkit-min-device-pixel-ratio: 2),(min-resolution: 192dpi){.profile-image img{image-rendering:-webkit-optimize-contrast}}@media print{.profile-image img{border-radius:0;box-shadow:none;border:2px solid #000;max-width:200px}#home nav{display:none}}:root{--brand-primary: #2563eb;--brand-primary-light: #3b82f6;--brand-primary-dark: #1e40af;--brand-primary-darker: #1e3a8a;--brand-secondary: #10b981;--brand-secondary-light: #34d399;--brand-secondary-dark: #059669;--brand-accent: #f59e0b;--brand-accent-light: #fbbf24;--brand-accent-dark: #d97706;--brand-neutral-50: #f9fafb;--brand-neutral-100: #f3f4f6;--brand-neutral-200: #e5e7eb;--brand-neutral-300: #d1d5db;--brand-neutral-400: #9ca3af;--brand-neutral-500: #6b7280;--brand-neutral-600: #4b5563;--brand-neutral-700: #374151;--brand-neutral-800: #1f2937;--brand-neutral-900: #111827;--brand-success: #10b981;--brand-warning: #f59e0b;--brand-error: #ef4444;--brand-info: #3b82f6;--brand-hover-opacity: 0.8;--brand-active-opacity: 0.9;--brand-disabled-opacity: 0.5;--brand-shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, 0.05);--brand-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06);--brand-shadow-md: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);--brand-shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);--brand-shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);--brand-transition-fast: 0.15s ease-out;--brand-transition: 0.3s ease-out;--brand-transition-slow: 0.5s ease-out;--brand-radius-sm: 0.25rem;--brand-radius: 0.375rem;--brand-radius-md: 0.5rem;--brand-radius-lg: 0.75rem;--brand-radius-xl: 1rem;--brand-radius-full: 9999px}body{font-family:"Source Sans Pro",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;line-height:1.6;font-weight:400;letter-spacing:-0.01em}h1,h2,h3,h4,h5,h6{font-weight:600;line-height:1.3;letter-spacing:-0.02em;color:var(--brand-neutral-800);margin-bottom:.75rem}h1{font-size:2.5rem;font-weight:700;letter-spacing:-0.03em}@media(max-width: 736px){h1{font-size:2rem}}h2{font-size:2rem}@media(max-width: 736px){h2{font-size:1.75rem}}h3{font-size:1.5rem}@media(max-width: 736px){h3{font-size:1.375rem}}h4{font-size:1.25rem}@media(max-width: 736px){h4{font-size:1.125rem}}p{margin-bottom:1rem}p.lead{font-size:1.125rem;font-weight:400;line-height:1.7}p.small{font-size:.875rem}a{color:var(--brand-primary);text-decoration:none;transition:color var(--brand-transition-fast)}a:hover{color:var(--brand-primary-dark);text-decoration:underline}a:focus{outline:2px solid var(--brand-primary);outline-offset:2px;border-radius:var(--brand-radius-sm)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 1.5rem;font-size:.875rem;font-weight:500;line-height:1;text-decoration:none;border:none;border-radius:var(--brand-radius);cursor:pointer;transition:all var(--brand-transition-fast);text-transform:uppercase;letter-spacing:.05em}.btn:focus{outline:2px solid var(--brand-primary);outline-offset:2px}.btn.btn-primary{background:var(--brand-primary);color:#fff}.btn.btn-primary:hover{background:var(--brand-primary-dark);transform:translateY(-1px);box-shadow:var(--brand-shadow-md)}.btn.btn-primary:active{transform:translateY(0)}.btn.btn-secondary{background:var(--brand-secondary);color:#fff}.btn.btn-secondary:hover{background:var(--brand-secondary-dark);transform:translateY(-1px);box-shadow:var(--brand-shadow-md)}.btn.btn-outline{background:rgba(0,0,0,0);color:var(--brand-primary);border:2px solid var(--brand-primary)}.btn.btn-outline:hover{background:var(--brand-primary);color:#fff;transform:translateY(-1px);box-shadow:var(--brand-shadow-md)}.btn.btn-ghost{background:hsla(0,0%,100%,.1);color:hsla(0,0%,100%,.9);border:1px solid hsla(0,0%,100%,.2)}.btn.btn-ghost:hover{background:hsla(0,0%,100%,.2);color:#fff;transform:translateY(-1px);box-shadow:var(--brand-shadow-md)}.btn.btn-sm{padding:.5rem 1rem;font-size:.75rem}.btn.btn-lg{padding:1rem 2rem;font-size:1rem}.btn:disabled{opacity:var(--brand-disabled-opacity);cursor:not-allowed;transform:none !important;box-shadow:none !important}.card{background:hsla(0,0%,100%,.95);border-radius:var(--brand-radius-lg);box-shadow:var(--brand-shadow);transition:all var(--brand-transition);overflow:hidden}.card:hover{transform:translateY(-2px);box-shadow:var(--brand-shadow-lg)}.card .card-header{padding:1.5rem 1.5rem 0}.card .card-header .card-title{margin:0 0 .5rem;font-size:1.25rem;font-weight:600;color:var(--brand-neutral-800)}.card .card-header .card-subtitle{margin:0;font-size:.875rem;color:var(--brand-neutral-500)}.card .card-body{padding:1.5rem}.card .card-footer{padding:0 1.5rem 1.5rem;border-top:1px solid var(--brand-neutral-200);margin-top:1rem;padding-top:1rem}.badge{display:inline-flex;align-items:center;gap:.25rem;padding:.25rem .75rem;font-size:.75rem;font-weight:500;line-height:1;text-transform:uppercase;letter-spacing:.05em;border-radius:var(--brand-radius-full)}.badge.badge-primary{background:var(--brand-primary);color:#fff}.badge.badge-secondary{background:var(--brand-secondary);color:#fff}.badge.badge-success{background:var(--brand-success);color:#fff}.badge.badge-warning{background:var(--brand-warning);color:#fff}.badge.badge-error{background:var(--brand-error);color:#fff}.badge.badge-neutral{background:var(--brand-neutral-100);color:var(--brand-neutral-700)}.badge.badge-outline{background:rgba(0,0,0,0);border:1px solid currentColor}.loading-spinner{display:inline-block;width:1rem;height:1rem;border:2px solid var(--brand-neutral-200);border-radius:50%;border-top-color:var(--brand-primary);animation:spin 1s ease-in-out infinite}@keyframes spin{to{transform:rotate(360deg)}}.loading-skeleton{background:linear-gradient(90deg, var(--brand-neutral-200) 25%, var(--brand-neutral-100) 50%, var(--brand-neutral-200) 75%);background-size:200% 100%;animation:loading-shimmer 1.5s infinite;border-radius:var(--brand-radius)}@keyframes loading-shimmer{0%{background-position:-200% 0}100%{background-position:200% 0}}:focus-visible{outline:2px solid var(--brand-primary);outline-offset:2px;border-radius:var(--brand-radius-sm)}@media(prefers-reduced-motion: reduce){*,::before,::after{animation-duration:.01ms !important;animation-iteration-count:1 !important;transition-duration:.01ms !important;scroll-behavior:auto !important}}@media(prefers-contrast: high){:root{--brand-primary: #0066cc;--brand-secondary: #008844;--brand-neutral-700: #000000;--brand-neutral-500: #333333}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border:0}.form-group{margin-bottom:1.5rem}.form-group label{display:block;margin-bottom:.5rem;font-weight:500;color:var(--brand-neutral-700)}.form-group input,.form-group textarea,.form-group select{width:100%;padding:.75rem;font-size:1rem;border:2px solid var(--brand-neutral-300);border-radius:var(--brand-radius);transition:border-color var(--brand-transition-fast)}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{outline:none;border-color:var(--brand-primary);box-shadow:0 0 0 3px rgba(37,99,235,.1)}.form-group input:invalid,.form-group textarea:invalid,.form-group select:invalid{border-color:var(--brand-error)}.form-group input::placeholder,.form-group textarea::placeholder,.form-group select::placeholder{color:var(--brand-neutral-400)}.form-group .form-error{margin-top:.25rem;font-size:.875rem;color:var(--brand-error)}.form-group .form-help{margin-top:.25rem;font-size:.875rem;color:var(--brand-neutral-500)}@keyframes fadeIn{from{opacity:0}to{opacity:1}}@keyframes fadeInUp{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInDown{from{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInLeft{from{opacity:0;transform:translateX(-20px)}to{opacity:1;transform:translateX(0)}}@keyframes fadeInRight{from{opacity:0;transform:translateX(20px)}to{opacity:1;transform:translateX(0)}}@keyframes scaleIn{from{opacity:0;transform:scale(0.9)}to{opacity:1;transform:scale(1)}}.animate-fade-in{animation:fadeIn var(--brand-transition-slow) ease-out}.animate-fade-in-up{animation:fadeInUp var(--brand-transition-slow) ease-out}.animate-fade-in-down{animation:fadeInDown var(--brand-transition-slow) ease-out}.animate-fade-in-left{animation:fadeInLeft var(--brand-transition-slow) ease-out}.animate-fade-in-right{animation:fadeInRight var(--brand-transition-slow) ease-out}.animate-scale-in{animation:scaleIn var(--brand-transition) ease-out}.animate-stagger>*{animation-delay:calc(var(--stagger-delay, 0.1s)*var(--stagger-index, 0))}.mt-0{margin-top:0 !important}.mt-1{margin-top:.25rem !important}.mt-2{margin-top:.5rem !important}.mt-3{margin-top:.75rem !important}.mt-4{margin-top:1rem !important}.mt-5{margin-top:1.25rem !important}.mt-6{margin-top:1.5rem !important}.mt-8{margin-top:2rem !important}.mb-0{margin-bottom:0 !important}.mb-1{margin-bottom:.25rem !important}.mb-2{margin-bottom:.5rem !important}.mb-3{margin-bottom:.75rem !important}.mb-4{margin-bottom:1rem !important}.mb-5{margin-bottom:1.25rem !important}.mb-6{margin-bottom:1.5rem !important}.mb-8{margin-bottom:2rem !important}.pt-0{padding-top:0 !important}.pt-1{padding-top:.25rem !important}.pt-2{padding-top:.5rem !important}.pt-3{padding-top:.75rem !important}.pt-4{padding-top:1rem !important}.pt-5{padding-top:1.25rem !important}.pt-6{padding-top:1.5rem !important}.pt-8{padding-top:2rem !important}.pb-0{padding-bottom:0 !important}.pb-1{padding-bottom:.25rem !important}.pb-2{padding-bottom:.5rem !important}.pb-3{padding-bottom:.75rem !important}.pb-4{padding-bottom:1rem !important}.pb-5{padding-bottom:1.25rem !important}.pb-6{padding-bottom:1.5rem !important}.pb-8{padding-bottom:2rem !important}.text-center{text-align:center !important}.text-left{text-align:left !important}.text-right{text-align:right !important}.text-primary{color:var(--brand-primary) !important}.text-secondary{color:var(--brand-secondary) !important}.text-success{color:var(--brand-success) !important}.text-warning{color:var(--brand-warning) !important}.text-error{color:var(--brand-error) !important}.text-muted{color:var(--brand-neutral-500) !important}.font-light{font-weight:300 !important}.font-normal{font-weight:400 !important}.font-medium{font-weight:500 !important}.font-semibold{font-weight:600 !important}.font-bold{font-weight:700 !important}.d-none{display:none !important}.d-block{display:block !important}.d-inline{display:inline !important}.d-inline-block{display:inline-block !important}.d-flex{display:flex !important}.d-inline-flex{display:inline-flex !important}.d-grid{display:grid !important}.flex-row{flex-direction:row !important}.flex-column{flex-direction:column !important}.flex-wrap{flex-wrap:wrap !important}.flex-nowrap{flex-wrap:nowrap !important}.justify-start{justify-content:flex-start !important}.justify-center{justify-content:center !important}.justify-end{justify-content:flex-end !important}.justify-between{justify-content:space-between !important}.justify-around{justify-content:space-around !important}.align-start{align-items:flex-start !important}.align-center{align-items:center !important}.align-end{align-items:flex-end !important}.align-stretch{align-items:stretch !important}.border{border:1px solid var(--brand-neutral-200) !important}.border-top{border-top:1px solid var(--brand-neutral-200) !important}.border-bottom{border-bottom:1px solid var(--brand-neutral-200) !important}.border-left{border-left:1px solid var(--brand-neutral-200) !important}.border-right{border-right:1px solid var(--brand-neutral-200) !important}.rounded{border-radius:var(--brand-radius) !important}.rounded-sm{border-radius:var(--brand-radius-sm) !important}.rounded-md{border-radius:var(--brand-radius-md) !important}.rounded-lg{border-radius:var(--brand-radius-lg) !important}.rounded-xl{border-radius:var(--brand-radius-xl) !important}.rounded-full{border-radius:var(--brand-radius-full) !important}.shadow-sm{box-shadow:var(--brand-shadow-sm) !important}.shadow{box-shadow:var(--brand-shadow) !important}.shadow-md{box-shadow:var(--brand-shadow-md) !important}.shadow-lg{box-shadow:var(--brand-shadow-lg) !important}.shadow-xl{box-shadow:var(--brand-shadow-xl) !important}.shadow-none{box-shadow:none !important}.project-card .project-status.status-success{background:var(--brand-success)}.project-card .project-status.status-warning{background:var(--brand-warning)}.project-card .project-status.status-info{background:var(--brand-info)}.project-card .project-status.status-secondary{background:var(--brand-neutral-500)}.project-card .ai-aspects{background:rgba(37,99,235,.05);border-left-color:var(--brand-primary)}.project-card .ai-aspects strong{color:var(--brand-primary)}.project-card .project-metrics{background:rgba(16,185,129,.05);border-left-color:var(--brand-secondary)}.project-card .project-metrics strong{color:var(--brand-secondary-dark)}#home nav a{background:hsla(0,0%,100%,.08);border:1px solid hsla(0,0%,100%,.12);transition:all var(--brand-transition)}#home nav a:before{opacity:1 !important;color:hsla(0,0%,100%,.8);font-size:1.25rem}#home nav a:hover{background:hsla(0,0%,100%,.15);transform:translateY(-2px);box-shadow:var(--brand-shadow-lg)}#home nav a:hover:before{color:#fff}.profile-image img{border:3px solid hsla(0,0%,100%,.15);transition:all var(--brand-transition)}.profile-image img:hover{border-color:hsla(0,0%,100%,.25);box-shadow:0 1rem 3rem rgba(0,0,0,.25),0 0 0 1px hsla(0,0%,100%,.1)}@media(prefers-color-scheme: dark){:root{--brand-neutral-50: #111827;--brand-neutral-100: #1f2937;--brand-neutral-200: #374151;--brand-neutral-300: #4b5563;--brand-neutral-400: #6b7280;--brand-neutral-500: #9ca3af;--brand-neutral-600: #d1d5db;--brand-neutral-700: #e5e7eb;--brand-neutral-800: #f3f4f6;--brand-neutral-900: #f9fafb}}.field-error{color:#dc2626;font-size:.875rem;margin-top:.25rem;display:block;line-height:1.4}input.error,textarea.error{border-color:#dc2626 !important;box-shadow:0 0 0 1px #dc2626 !important}input.error:focus,textarea.error:focus{border-color:#dc2626 !important;box-shadow:0 0 0 2px rgba(220,38,38,.2) !important}.form-message{padding:.75rem 1rem;border-radius:.375rem;margin-top:1rem;font-size:.875rem;line-height:1.5}.form-message.success{background:rgba(16,185,129,.1);border:1px solid rgba(16,185,129,.2);color:#059669}.form-message.error{background:rgba(220,38,38,.1);border:1px solid rgba(220,38,38,.2);color:#dc2626}.form-message.warning{background:rgba(245,158,11,.1);border:1px solid rgba(245,158,11,.2);color:#d97706}input[type=submit].submitting{opacity:.7;cursor:not-allowed;position:relative}input[type=submit].submitting::after{content:"";position:absolute;width:16px;height:16px;margin:auto;border:2px solid rgba(0,0,0,0);border-top-color:currentColor;border-radius:50%;animation:spin 1s linear infinite;top:50%;left:50%;transform:translate(-50%, -50%)}input[type=submit].error{background:#dc2626 !important;border-color:#dc2626 !important}input[type=submit].error:hover{background:#b91c1c !important}@keyframes spin{from{transform:translate(-50%, -50%) rotate(0deg)}to{transform:translate(-50%, -50%) rotate(360deg)}}.analytics-debug{position:fixed;bottom:20px;right:20px;background:rgba(0,0,0,.8);color:#fff;padding:.5rem;border-radius:.25rem;font-size:.75rem;font-family:monospace;z-index:10000;max-width:300px;word-break:break-word}@media(min-width: 769px){.analytics-debug{display:none}}input:focus,textarea:focus,select:focus{outline:2px solid #2563eb;outline-offset:2px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border:0}#main>.panel:not(.intro){padding:1.5rem 2.5rem 2.5rem 2.5rem !important}@media(max-width: 736px){#main>.panel:not(.intro){padding:1rem 1.5rem 1.5rem 1.5rem !important}}html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;font-size:100%;font:inherit;vertical-align:baseline}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}body{line-height:1}ol,ul{list-style:none}blockquote,q{quotes:none}blockquote:before,blockquote:after,q:before,q:after{content:"";content:none}table{border-collapse:collapse;border-spacing:0}body{-webkit-text-size-adjust:none}mark{background-color:rgba(0,0,0,0);color:inherit}input::-moz-focus-inner{border:0;padding:0}input,select,textarea{-moz-appearance:none;-webkit-appearance:none;-ms-appearance:none;appearance:none}.row{display:flex;flex-wrap:wrap;box-sizing:border-box;align-items:stretch}.row>*{box-sizing:border-box}.row.gtr-uniform>*>:last-child{margin-bottom:0}.row.aln-left{justify-content:flex-start}.row.aln-center{justify-content:center}.row.aln-right{justify-content:flex-end}.row.aln-top{align-items:flex-start}.row.aln-middle{align-items:center}.row.aln-bottom{align-items:flex-end}.row>.imp{order:-1}.row>.col-1{width:8.3333333333%}.row>.off-1{margin-left:8.3333333333%}.row>.col-2{width:16.6666666667%}.row>.off-2{margin-left:16.6666666667%}.row>.col-3{width:25%}.row>.off-3{margin-left:25%}.row>.col-4{width:33.3333333333%}.row>.off-4{margin-left:33.3333333333%}.row>.col-5{width:41.6666666667%}.row>.off-5{margin-left:41.6666666667%}.row>.col-6{width:50%}.row>.off-6{margin-left:50%}.row>.col-7{width:58.3333333333%}.row>.off-7{margin-left:58.3333333333%}.row>.col-8{width:66.6666666667%}.row>.off-8{margin-left:66.6666666667%}.row>.col-9{width:75%}.row>.off-9{margin-left:75%}.row>.col-10{width:83.3333333333%}.row>.off-10{margin-left:83.3333333333%}.row>.col-11{width:91.6666666667%}.row>.off-11{margin-left:91.6666666667%}.row>.col-12{width:100%}.row>.off-12{margin-left:100%}.row.gtr-0{margin-top:0em;margin-left:0em}.row.gtr-0>*{padding:0em 0 0 0em}.row.gtr-0.gtr-uniform{margin-top:0em}.row.gtr-0.gtr-uniform>*{padding-top:0em}.row.gtr-25{margin-top:-0.3125em;margin-left:-0.3125em}.row.gtr-25>*{padding:.3125em 0 0 .3125em}.row.gtr-25.gtr-uniform{margin-top:-0.3125em}.row.gtr-25.gtr-uniform>*{padding-top:.3125em}.row.gtr-50{margin-top:-0.625em;margin-left:-0.625em}.row.gtr-50>*{padding:.625em 0 0 .625em}.row.gtr-50.gtr-uniform{margin-top:-0.625em}.row.gtr-50.gtr-uniform>*{padding-top:.625em}.row{margin-top:-1.25em;margin-left:-1.25em}.row>*{padding:1.25em 0 0 1.25em}.row.gtr-uniform{margin-top:-1.25em}.row.gtr-uniform>*{padding-top:1.25em}.row.gtr-150{margin-top:-1.875em;margin-left:-1.875em}.row.gtr-150>*{padding:1.875em 0 0 1.875em}.row.gtr-150.gtr-uniform{margin-top:-1.875em}.row.gtr-150.gtr-uniform>*{padding-top:1.875em}.row.gtr-200{margin-top:-2.5em;margin-left:-2.5em}.row.gtr-200>*{padding:2.5em 0 0 2.5em}.row.gtr-200.gtr-uniform{margin-top:-2.5em}.row.gtr-200.gtr-uniform>*{padding-top:2.5em}@media screen and (max-width: 1680px){.row{display:flex;flex-wrap:wrap;box-sizing:border-box;align-items:stretch}.row>*{box-sizing:border-box}.row.gtr-uniform>*>:last-child{margin-bottom:0}.row.aln-left{justify-content:flex-start}.row.aln-center{justify-content:center}.row.aln-right{justify-content:flex-end}.row.aln-top{align-items:flex-start}.row.aln-middle{align-items:center}.row.aln-bottom{align-items:flex-end}.row>.imp-xlarge{order:-1}.row>.col-1-xlarge{width:8.3333333333%}.row>.off-1-xlarge{margin-left:8.3333333333%}.row>.col-2-xlarge{width:16.6666666667%}.row>.off-2-xlarge{margin-left:16.6666666667%}.row>.col-3-xlarge{width:25%}.row>.off-3-xlarge{margin-left:25%}.row>.col-4-xlarge{width:33.3333333333%}.row>.off-4-xlarge{margin-left:33.3333333333%}.row>.col-5-xlarge{width:41.6666666667%}.row>.off-5-xlarge{margin-left:41.6666666667%}.row>.col-6-xlarge{width:50%}.row>.off-6-xlarge{margin-left:50%}.row>.col-7-xlarge{width:58.3333333333%}.row>.off-7-xlarge{margin-left:58.3333333333%}.row>.col-8-xlarge{width:66.6666666667%}.row>.off-8-xlarge{margin-left:66.6666666667%}.row>.col-9-xlarge{width:75%}.row>.off-9-xlarge{margin-left:75%}.row>.col-10-xlarge{width:83.3333333333%}.row>.off-10-xlarge{margin-left:83.3333333333%}.row>.col-11-xlarge{width:91.6666666667%}.row>.off-11-xlarge{margin-left:91.6666666667%}.row>.col-12-xlarge{width:100%}.row>.off-12-xlarge{margin-left:100%}.row.gtr-0{margin-top:0em;margin-left:0em}.row.gtr-0>*{padding:0em 0 0 0em}.row.gtr-0.gtr-uniform{margin-top:0em}.row.gtr-0.gtr-uniform>*{padding-top:0em}.row.gtr-25{margin-top:-0.3125em;margin-left:-0.3125em}.row.gtr-25>*{padding:.3125em 0 0 .3125em}.row.gtr-25.gtr-uniform{margin-top:-0.3125em}.row.gtr-25.gtr-uniform>*{padding-top:.3125em}.row.gtr-50{margin-top:-0.625em;margin-left:-0.625em}.row.gtr-50>*{padding:.625em 0 0 .625em}.row.gtr-50.gtr-uniform{margin-top:-0.625em}.row.gtr-50.gtr-uniform>*{padding-top:.625em}.row{margin-top:-1.25em;margin-left:-1.25em}.row>*{padding:1.25em 0 0 1.25em}.row.gtr-uniform{margin-top:-1.25em}.row.gtr-uniform>*{padding-top:1.25em}.row.gtr-150{margin-top:-1.875em;margin-left:-1.875em}.row.gtr-150>*{padding:1.875em 0 0 1.875em}.row.gtr-150.gtr-uniform{margin-top:-1.875em}.row.gtr-150.gtr-uniform>*{padding-top:1.875em}.row.gtr-200{margin-top:-2.5em;margin-left:-2.5em}.row.gtr-200>*{padding:2.5em 0 0 2.5em}.row.gtr-200.gtr-uniform{margin-top:-2.5em}.row.gtr-200.gtr-uniform>*{padding-top:2.5em}}@media screen and (max-width: 1280px){.row{display:flex;flex-wrap:wrap;box-sizing:border-box;align-items:stretch}.row>*{box-sizing:border-box}.row.gtr-uniform>*>:last-child{margin-bottom:0}.row.aln-left{justify-content:flex-start}.row.aln-center{justify-content:center}.row.aln-right{justify-content:flex-end}.row.aln-top{align-items:flex-start}.row.aln-middle{align-items:center}.row.aln-bottom{align-items:flex-end}.row>.imp-large{order:-1}.row>.col-1-large{width:8.3333333333%}.row>.off-1-large{margin-left:8.3333333333%}.row>.col-2-large{width:16.6666666667%}.row>.off-2-large{margin-left:16.6666666667%}.row>.col-3-large{width:25%}.row>.off-3-large{margin-left:25%}.row>.col-4-large{width:33.3333333333%}.row>.off-4-large{margin-left:33.3333333333%}.row>.col-5-large{width:41.6666666667%}.row>.off-5-large{margin-left:41.6666666667%}.row>.col-6-large{width:50%}.row>.off-6-large{margin-left:50%}.row>.col-7-large{width:58.3333333333%}.row>.off-7-large{margin-left:58.3333333333%}.row>.col-8-large{width:66.6666666667%}.row>.off-8-large{margin-left:66.6666666667%}.row>.col-9-large{width:75%}.row>.off-9-large{margin-left:75%}.row>.col-10-large{width:83.3333333333%}.row>.off-10-large{margin-left:83.3333333333%}.row>.col-11-large{width:91.6666666667%}.row>.off-11-large{margin-left:91.6666666667%}.row>.col-12-large{width:100%}.row>.off-12-large{margin-left:100%}.row.gtr-0{margin-top:0em;margin-left:0em}.row.gtr-0>*{padding:0em 0 0 0em}.row.gtr-0.gtr-uniform{margin-top:0em}.row.gtr-0.gtr-uniform>*{padding-top:0em}.row.gtr-25{margin-top:-0.3125em;margin-left:-0.3125em}.row.gtr-25>*{padding:.3125em 0 0 .3125em}.row.gtr-25.gtr-uniform{margin-top:-0.3125em}.row.gtr-25.gtr-uniform>*{padding-top:.3125em}.row.gtr-50{margin-top:-0.625em;margin-left:-0.625em}.row.gtr-50>*{padding:.625em 0 0 .625em}.row.gtr-50.gtr-uniform{margin-top:-0.625em}.row.gtr-50.gtr-uniform>*{padding-top:.625em}.row{margin-top:-1.25em;margin-left:-1.25em}.row>*{padding:1.25em 0 0 1.25em}.row.gtr-uniform{margin-top:-1.25em}.row.gtr-uniform>*{padding-top:1.25em}.row.gtr-150{margin-top:-1.875em;margin-left:-1.875em}.row.gtr-150>*{padding:1.875em 0 0 1.875em}.row.gtr-150.gtr-uniform{margin-top:-1.875em}.row.gtr-150.gtr-uniform>*{padding-top:1.875em}.row.gtr-200{margin-top:-2.5em;margin-left:-2.5em}.row.gtr-200>*{padding:2.5em 0 0 2.5em}.row.gtr-200.gtr-uniform{margin-top:-2.5em}.row.gtr-200.gtr-uniform>*{padding-top:2.5em}}@media screen and (max-width: 980px){.row{display:flex;flex-wrap:wrap;box-sizing:border-box;align-items:stretch}.row>*{box-sizing:border-box}.row.gtr-uniform>*>:last-child{margin-bottom:0}.row.aln-left{justify-content:flex-start}.row.aln-center{justify-content:center}.row.aln-right{justify-content:flex-end}.row.aln-top{align-items:flex-start}.row.aln-middle{align-items:center}.row.aln-bottom{align-items:flex-end}.row>.imp-medium{order:-1}.row>.col-1-medium{width:8.3333333333%}.row>.off-1-medium{margin-left:8.3333333333%}.row>.col-2-medium{width:16.6666666667%}.row>.off-2-medium{margin-left:16.6666666667%}.row>.col-3-medium{width:25%}.row>.off-3-medium{margin-left:25%}.row>.col-4-medium{width:33.3333333333%}.row>.off-4-medium{margin-left:33.3333333333%}.row>.col-5-medium{width:41.6666666667%}.row>.off-5-medium{margin-left:41.6666666667%}.row>.col-6-medium{width:50%}.row>.off-6-medium{margin-left:50%}.row>.col-7-medium{width:58.3333333333%}.row>.off-7-medium{margin-left:58.3333333333%}.row>.col-8-medium{width:66.6666666667%}.row>.off-8-medium{margin-left:66.6666666667%}.row>.col-9-medium{width:75%}.row>.off-9-medium{margin-left:75%}.row>.col-10-medium{width:83.3333333333%}.row>.off-10-medium{margin-left:83.3333333333%}.row>.col-11-medium{width:91.6666666667%}.row>.off-11-medium{margin-left:91.6666666667%}.row>.col-12-medium{width:100%}.row>.off-12-medium{margin-left:100%}.row.gtr-0{margin-top:0em;margin-left:0em}.row.gtr-0>*{padding:0em 0 0 0em}.row.gtr-0.gtr-uniform{margin-top:0em}.row.gtr-0.gtr-uniform>*{padding-top:0em}.row.gtr-25{margin-top:-0.3125em;margin-left:-0.3125em}.row.gtr-25>*{padding:.3125em 0 0 .3125em}.row.gtr-25.gtr-uniform{margin-top:-0.3125em}.row.gtr-25.gtr-uniform>*{padding-top:.3125em}.row.gtr-50{margin-top:-0.625em;margin-left:-0.625em}.row.gtr-50>*{padding:.625em 0 0 .625em}.row.gtr-50.gtr-uniform{margin-top:-0.625em}.row.gtr-50.gtr-uniform>*{padding-top:.625em}.row{margin-top:-1.25em;margin-left:-1.25em}.row>*{padding:1.25em 0 0 1.25em}.row.gtr-uniform{margin-top:-1.25em}.row.gtr-uniform>*{padding-top:1.25em}.row.gtr-150{margin-top:-1.875em;margin-left:-1.875em}.row.gtr-150>*{padding:1.875em 0 0 1.875em}.row.gtr-150.gtr-uniform{margin-top:-1.875em}.row.gtr-150.gtr-uniform>*{padding-top:1.875em}.row.gtr-200{margin-top:-2.5em;margin-left:-2.5em}.row.gtr-200>*{padding:2.5em 0 0 2.5em}.row.gtr-200.gtr-uniform{margin-top:-2.5em}.row.gtr-200.gtr-uniform>*{padding-top:2.5em}}@media screen and (max-width: 736px){.row{display:flex;flex-wrap:wrap;box-sizing:border-box;align-items:stretch}.row>*{box-sizing:border-box}.row.gtr-uniform>*>:last-child{margin-bottom:0}.row.aln-left{justify-content:flex-start}.row.aln-center{justify-content:center}.row.aln-right{justify-content:flex-end}.row.aln-top{align-items:flex-start}.row.aln-middle{align-items:center}.row.aln-bottom{align-items:flex-end}.row>.imp-small{order:-1}.row>.col-1-small{width:8.3333333333%}.row>.off-1-small{margin-left:8.3333333333%}.row>.col-2-small{width:16.6666666667%}.row>.off-2-small{margin-left:16.6666666667%}.row>.col-3-small{width:25%}.row>.off-3-small{margin-left:25%}.row>.col-4-small{width:33.3333333333%}.row>.off-4-small{margin-left:33.3333333333%}.row>.col-5-small{width:41.6666666667%}.row>.off-5-small{margin-left:41.6666666667%}.row>.col-6-small{width:50%}.row>.off-6-small{margin-left:50%}.row>.col-7-small{width:58.3333333333%}.row>.off-7-small{margin-left:58.3333333333%}.row>.col-8-small{width:66.6666666667%}.row>.off-8-small{margin-left:66.6666666667%}.row>.col-9-small{width:75%}.row>.off-9-small{margin-left:75%}.row>.col-10-small{width:83.3333333333%}.row>.off-10-small{margin-left:83.3333333333%}.row>.col-11-small{width:91.6666666667%}.row>.off-11-small{margin-left:91.6666666667%}.row>.col-12-small{width:100%}.row>.off-12-small{margin-left:100%}.row.gtr-0{margin-top:0em;margin-left:0em}.row.gtr-0>*{padding:0em 0 0 0em}.row.gtr-0.gtr-uniform{margin-top:0em}.row.gtr-0.gtr-uniform>*{padding-top:0em}.row.gtr-25{margin-top:-0.3125em;margin-left:-0.3125em}.row.gtr-25>*{padding:.3125em 0 0 .3125em}.row.gtr-25.gtr-uniform{margin-top:-0.3125em}.row.gtr-25.gtr-uniform>*{padding-top:.3125em}.row.gtr-50{margin-top:-0.625em;margin-left:-0.625em}.row.gtr-50>*{padding:.625em 0 0 .625em}.row.gtr-50.gtr-uniform{margin-top:-0.625em}.row.gtr-50.gtr-uniform>*{padding-top:.625em}.row{margin-top:-1.25em;margin-left:-1.25em}.row>*{padding:1.25em 0 0 1.25em}.row.gtr-uniform{margin-top:-1.25em}.row.gtr-uniform>*{padding-top:1.25em}.row.gtr-150{margin-top:-1.875em;margin-left:-1.875em}.row.gtr-150>*{padding:1.875em 0 0 1.875em}.row.gtr-150.gtr-uniform{margin-top:-1.875em}.row.gtr-150.gtr-uniform>*{padding-top:1.875em}.row.gtr-200{margin-top:-2.5em;margin-left:-2.5em}.row.gtr-200>*{padding:2.5em 0 0 2.5em}.row.gtr-200.gtr-uniform{margin-top:-2.5em}.row.gtr-200.gtr-uniform>*{padding-top:2.5em}}html{box-sizing:border-box}*,*:before,*:after{box-sizing:inherit}body{background-image:url("images/overlay.png"),url("images/bg.jpg");background-repeat:repeat,no-repeat;background-size:auto,100% 100%;background-attachment:fixed;overflow-y:scroll}body.is-preload *,body.is-preload *:before,body.is-preload *:after{-moz-animation:none !important;-webkit-animation:none !important;-ms-animation:none !important;animation:none !important;-moz-transition:none !important;-webkit-transition:none !important;-ms-transition:none !important;transition:none !important}body,input,textarea,select{font-family:"Source Sans Pro",sans-serif;font-weight:300;color:#777;font-size:20pt;line-height:1.75em}@media screen and (max-width: 1680px){body,input,textarea,select{font-size:15pt}}@media screen and (max-width: 1280px){body,input,textarea,select{font-size:14pt}}@media screen and (max-width: 736px){body,input,textarea,select{font-size:12pt}}@media screen and (max-width: 360px){body,input,textarea,select{font-size:11pt}}strong,b,h1,h2,h3,h4,h5,h6{font-weight:400;color:#363636}h1{font-size:2.4em;letter-spacing:-0.015em}h2{font-size:1.8em;letter-spacing:-0.015em}h3,h4,h5,h6{font-size:1.25em;letter-spacing:-0.015em}@media screen and (max-width: 736px){h1{font-size:1.75em}h2{font-size:1.375em}h3,h4,h5,h6{font-size:1em}}blockquote{border-left:solid .5em #ddd;padding:1em 0 1em 2em;font-style:italic}em,i{font-style:italic}hr{border:0;border-top:solid 1px #ddd;padding:1.5em 0 0 0;margin:1.75em 0 0 0}sub{position:relative;top:.5em;font-size:.8em}sup{position:relative;top:-0.5em;font-size:.8em}br.clear{clear:both}p,ul,ol,dl,table,blockquote,form{margin-bottom:2em}table{width:100%}table.default tbody tr{border-bottom:solid 1px #f4f4f4}table.default td{padding:.5em 1em .5em 1em}table.default th{text-align:left;font-weight:400;padding:.5em 1em .5em 1em}table.default thead{border-bottom:solid 2px #f4f4f4}form label{display:block;font-weight:400;color:#363636;margin:0 0 1em 0}form input[type=text],form input[type=email],form input[type=password],form select,form textarea{-webkit-appearance:none;border:0;background:#f4f4f4;padding:.75em;width:100%;-moz-transition:background-color .25s ease-in-out;-webkit-transition:background-color .25s ease-in-out;-ms-transition:background-color .25s ease-in-out;transition:background-color .25s ease-in-out}form input[type=text]:focus,form input[type=email]:focus,form input[type=password]:focus,form select:focus,form textarea:focus{background:#f8f8f8}form input[type=text],form input[type=email],form input[type=password],form select{line-height:1.35em}form ::-webkit-input-placeholder{color:#999}form :-moz-placeholder{color:#999}form ::-moz-placeholder{color:#999}form :-ms-input-placeholder{color:#999}section,article{margin-bottom:3em}section>:last-child,section:last-child,article>:last-child,article:last-child{margin-bottom:0}header{margin:0 0 1.5em 0}header>p{margin:.5em 0 0 0;color:#aaa}@media screen and (max-width: 736px){header{margin:0 0 1em 0}}.image{display:inline-block}.image img{display:block;width:100%}.image.fit{display:block;width:100%}.image.featured{display:block;width:100%;margin:0 0 2em 0}.image.left{float:left;margin:0 2em 2em 0}.image.centered{display:block;margin:0 0 2em 0}.image.centered img{margin:0 auto;width:auto}input[type=button],input[type=submit],input[type=reset],button,.button{-moz-transition:background-color .25s ease-in-out;-webkit-transition:background-color .25s ease-in-out;-ms-transition:background-color .25s ease-in-out;transition:background-color .25s ease-in-out;-webkit-appearance:none;display:inline-block;background-color:#222;color:#fff;border:0;cursor:pointer;outline:0;padding:.7em 1.5em .7em 1.5em}input[type=button]:hover,input[type=submit]:hover,input[type=reset]:hover,button:hover,.button:hover{background-color:#333}input[type=button]:active,input[type=submit]:active,input[type=reset]:active,button:active,.button:active{background-color:#444}input[type=button].alt,input[type=submit].alt,input[type=reset].alt,button.alt,.button.alt{background-color:#777}input[type=button].alt:hover,input[type=submit].alt:hover,input[type=reset].alt:hover,button.alt:hover,.button.alt:hover{background-color:#888}input[type=button].alt:active,input[type=submit].alt:active,input[type=reset].alt:active,button.alt:active,.button.alt:active{background-color:#999}input[type=button].small,input[type=submit].small,input[type=reset].small,button.small,.button.small{font-size:.75em}input[type=button].large,input[type=submit].large,input[type=reset].large,button.large,.button.large{font-size:1.25em;padding:.5em 1.25em .5em 1.25em}input[type=button].xlarge,input[type=submit].xlarge,input[type=reset].xlarge,button.xlarge,.button.xlarge{font-size:1.5em;padding:.5em 1.25em .5em 1.25em}@media screen and (max-width: 736px){input[type=button],input[type=submit],input[type=reset],button,.button{width:100%}}ul{list-style:disc;padding-left:1em}ul li{padding-left:.5em}ol{list-style:decimal;padding-left:1.25em}ol li{padding-left:.25em}ul.actions{list-style:none;padding-left:0}ul.actions li{display:inline-block;padding-left:0;margin:0 0 0 .5em}ul.actions li:first-child{margin-left:0}@media screen and (max-width: 736px){ul.actions li{display:block;margin:.75em 0 0 0}ul.actions li:first-child{margin-top:0}}.icon{text-decoration:none;position:relative;text-decoration:none}.icon:before{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;display:inline-block;font-style:normal;font-variant:normal;text-rendering:auto;line-height:1;text-transform:none !important;font-family:"Font Awesome 5 Free";font-weight:400}.icon.solid:before{font-weight:900}.icon.brands:before{font-family:"Font Awesome 5 Brands"}.icon:before{line-height:inherit}.icon>.label{display:none}#nav{text-align:center;height:4.25em;cursor:default}#nav a{position:relative;display:inline-block;color:#fff;width:1em;height:1em;line-height:.9em;font-size:2.5em;margin:0 .25em 0 .25em;opacity:.35;outline:0;-moz-transition:opacity .25s ease-in-out;-webkit-transition:opacity .25s ease-in-out;-ms-transition:opacity .25s ease-in-out;transition:opacity .25s ease-in-out}#nav a.icon:before{padding-right:0}#nav a:before{font-size:.8em}#nav a:after{content:"";display:block;position:absolute;left:50%;bottom:-0.75em;margin-left:-0.5em;border-bottom:solid 0em #fff;border-left:solid .5em rgba(0,0,0,0);border-right:solid .5em rgba(0,0,0,0);-moz-transition:border-bottom-width .25s ease-in-out;-webkit-transition:border-bottom-width .25s ease-in-out;-ms-transition:border-bottom-width .25s ease-in-out;transition:border-bottom-width .25s ease-in-out}#nav a span{display:block;position:absolute;background:#222;color:#fff;top:-2.75em;font-size:.3em;height:2.25em;line-height:2.25em;left:50%;opacity:0;-moz-transition:opacity .25s ease-in-out;-webkit-transition:opacity .25s ease-in-out;-ms-transition:opacity .25s ease-in-out;transition:opacity .25s ease-in-out;width:5.5em;margin-left:-2.75em}#nav a span:after{content:"";display:block;position:absolute;bottom:-0.4em;left:50%;margin-left:-0.6em;border-top:solid .6em #222;border-left:solid .6em rgba(0,0,0,0);border-right:solid .6em rgba(0,0,0,0)}#nav a:hover{opacity:1}#nav a:hover span{opacity:1}#nav a.active{opacity:1}#nav a.active:after{border-bottom-width:.5em}@media screen and (max-width: 980px){#nav a span{display:none}}#wrapper{width:45em;margin:0 auto;min-height:100vh;max-width:100%;padding:4em 0;display:-moz-flex;display:-webkit-flex;display:-ms-flex;display:flex;-moz-flex-direction:column;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-moz-align-items:center;-webkit-align-items:center;-ms-align-items:center;align-items:center;-moz-justify-content:center;-webkit-justify-content:center;-ms-justify-content:center;justify-content:center;-moz-transition:opacity 1s ease-in-out;-webkit-transition:opacity 1s ease-in-out;-ms-transition:opacity 1s ease-in-out;transition:opacity 1s ease-in-out}body.is-preload #wrapper{opacity:0}@media screen and (max-width: 1280px){#wrapper{padding:3em 0;max-width:calc(100% - 6em)}}@media screen and (max-width: 980px){#wrapper{padding:1.5em 0;max-width:calc(100% - 8em)}}@media screen and (max-width: 736px){#wrapper{padding:1em 0;max-width:calc(100% - 2em)}}@media screen and (max-width: 360px){#wrapper{padding:1em 0;max-width:100%}}#main{position:relative;overflow:hidden;width:100%;background:#fff;box-shadow:0px 1px 0px 0px rgba(0,0,0,.25);-moz-transition:min-height 0.5s ease-in-out, max-height 0.5s ease-in-out;-webkit-transition:min-height 0.5s ease-in-out, max-height 0.5s ease-in-out;-ms-transition:min-height 0.5s ease-in-out, max-height 0.5s ease-in-out;transition:min-height 0.5s ease-in-out, max-height 0.5s ease-in-out}#main>.panel{-moz-transition:opacity 0.25s ease-in-out;-webkit-transition:opacity 0.25s ease-in-out;-ms-transition:opacity 0.25s ease-in-out;transition:opacity 0.25s ease-in-out;margin-bottom:0;position:relative;padding:3.5em 2.5em 2.5em 2.5em;width:100%}#main>.panel.inactive{opacity:0}@media screen and (max-width: 736px){#main>.panel{padding:2em 1.5em 1.5em 1.5em}}#main>.panel.intro{padding:0;height:20em;display:-moz-flex;display:-webkit-flex;display:-ms-flex;display:flex;-moz-flex-direction:row;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;-moz-align-items:center;-webkit-align-items:center;-ms-align-items:center;align-items:center}#main>.panel.intro .pic{text-decoration:none;position:relative;-moz-flex-grow:0;-webkit-flex-grow:0;-ms-flex-grow:0;flex-grow:0;-moz-flex-shrink:0;-webkit-flex-shrink:0;-ms-flex-shrink:0;flex-shrink:0;width:17em;height:100%}#main>.panel.intro .pic:before{content:"";position:absolute;top:0;left:0;background:url("images/overlay.png");width:100%;height:100%;z-index:1}#main>.panel.intro .pic img{position:relative;display:block;position:absolute;top:0;left:0;width:100%;height:100%;-moz-object-fit:cover;-webkit-object-fit:cover;-ms-object-fit:cover;object-fit:cover;-moz-object-position:center;-webkit-object-position:center;-ms-object-position:center;object-position:center}#main>.panel.intro .pic .arrow{display:block;position:absolute;right:0;top:50%;margin-top:-1.375em;width:2.75em;height:2.75em;background:#000;background:rgba(0,0,0,.75);color:#fff;text-align:center;line-height:2.75em;font-size:1.5em;z-index:1;-moz-transition:width .15s ease-in-out, padding-right .15s ease-in-out;-webkit-transition:width .15s ease-in-out, padding-right .15s ease-in-out;-ms-transition:width .15s ease-in-out, padding-right .15s ease-in-out;transition:width .15s ease-in-out, padding-right .15s ease-in-out}#main>.panel.intro .pic .arrow:before{position:relative;padding-right:0;top:.125em}#main>.panel.intro .pic .arrow span{display:block;text-indent:-9999px}#main>.panel.intro .pic:hover .arrow{width:3em;padding-right:.25em}#main>.panel.intro header{-moz-flex-grow:1;-webkit-flex-grow:1;-ms-flex-grow:1;flex-grow:1;-moz-flex-shrink:1;-webkit-flex-shrink:1;-ms-flex-shrink:1;flex-shrink:1;padding:3.5em 2.5em;margin-bottom:0;width:100%}#main>.panel.intro header h1{line-height:1.25em;margin-bottom:0}#main>.panel.intro header p{letter-spacing:-0.015em;font-size:1.25em;margin:.25em 0 0 0}@media screen and (max-width: 980px){#main>.panel.intro{-moz-flex-direction:column;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;height:auto}#main>.panel.intro .pic{height:25em;width:100%}#main>.panel.intro header{padding:4em;text-align:center}}@media screen and (max-width: 736px){#main>.panel.intro .pic{height:20em}#main>.panel.intro header{padding:2.75em 2em 2.5em 2em}#main>.panel.intro header p{font-size:1em;margin:.25em 0 0 0}}#footer{color:hsla(0,0%,100%,.45);text-align:center;padding:2em 0 0 0;font-size:.75em}#footer a{color:#ddd;color:hsla(0,0%,100%,.65);-moz-transition:color .25s ease-in-out;-webkit-transition:color .25s ease-in-out;-ms-transition:color .25s ease-in-out;transition:color .25s ease-in-out}#footer a:hover{color:#fff}#footer .copyright{list-style:none;padding-left:0}#footer .copyright li{display:inline-block;padding-left:1em;margin-left:1em;border-left:solid 1px hsla(0,0%,100%,.25);line-height:1}#footer .copyright li:first-child{padding-left:0;margin-left:0;border-left:0}@media screen and (max-width: 736px){#footer .copyright li{padding-left:.5em;margin-left:.5em}}#main>.panel:not(.intro),#main>article.panel:not(.intro),#main>.panel#about,#main>.panel#work,#main>.panel#contact{padding:2.5rem 2.5rem 2.5rem 2.5rem !important}@media screen and (max-width: 736px){#main>.panel:not(.intro),#main>article.panel:not(.intro),#main>.panel#about,#main>.panel#work,#main>.panel#contact{padding:2rem 1.5rem 1.5rem 1.5rem !important}}#main>.panel.intro{height:auto !important;min-height:20em !important}@media screen and (max-width: 980px){#main>.panel.intro{min-height:15em !important}}@media screen and (max-width: 736px){#main>.panel.intro{min-height:auto !important}}#main{height:auto !important;max-height:none !important;min-height:auto !important}#main>.panel.inactive{display:none !important;visibility:hidden !important}/*# sourceMappingURL=main.css.map */
