:root{--color-portfolio-orange:#f76902;--color-portfolio-orange-rgb:247, 105, 2;--color-portfolio-dark:#0d1b2a;--color-portfolio-dark-ink:#1e293b;--color-portfolio-light-bg:#f8fafc;--color-portfolio-border:#e2e8f0;--color-portfolio-accent-light:#f7690214}.portfolio-section{border-bottom:1px solid var(--color-portfolio-border);padding-block:clamp(4rem,8vw,7rem)}.portfolio-section:nth-child(2n){background:var(--color-portfolio-light-bg)}.portfolio-container{max-width:1200px;margin-inline:auto;padding-inline:clamp(1rem,4vw,4rem)}.section-label-top{color:var(--color-portfolio-orange);font-family:var(--font-mono);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.12em;margin-bottom:var(--space-xs);font-weight:600;display:inline-block}.section-heading-main{color:var(--color-portfolio-dark-ink);font-size:clamp(2rem,4vw,3rem);font-family:var(--font-display);letter-spacing:-.035em;margin-bottom:var(--space-lg);font-weight:700;line-height:1.1}.section-heading-sub{color:var(--color-muted);font-size:var(--text-base);max-width:600px;margin-top:calc(-1 * var(--space-md));margin-bottom:var(--space-2xl);line-height:1.6}.portfolio-hero{align-items:center;gap:var(--space-3xl);border-bottom:1px solid var(--color-portfolio-border);grid-template-columns:1.2fr .8fr;padding-block:clamp(5rem,10vh,8rem);display:grid}.hero-left{flex-direction:column;align-items:flex-start;display:flex}.hero-label{color:var(--color-portfolio-orange);font-family:var(--font-mono);font-size:var(--text-sm);text-transform:uppercase;letter-spacing:.1em;margin-bottom:var(--space-md);align-items:center;font-weight:600;display:inline-flex}.hero-title{font-size:clamp(3rem,6vw,5.5rem);font-family:var(--font-display);color:var(--color-portfolio-dark-ink);letter-spacing:-.04em;margin-bottom:var(--space-lg);font-weight:700;line-height:.95}.hero-title span{color:var(--color-portfolio-orange);display:block}.hero-subtitle{font-size:var(--text-md);color:var(--color-ink-2);max-width:620px;margin-bottom:var(--space-xl);line-height:1.7}.hero-actions{gap:var(--space-md);margin-bottom:var(--space-xl);flex-wrap:wrap;display:flex}.hero-location{align-items:center;gap:var(--space-xs);color:var(--color-muted);font-size:var(--text-sm);font-family:var(--font-mono);display:inline-flex}.hero-location svg{color:var(--color-portfolio-orange);width:16px;height:16px}.hero-right{justify-content:center;align-items:center;display:flex}.hero-image-container{aspect-ratio:4/5;width:100%;max-width:380px;position:relative}.hero-image-card{border-radius:var(--radius-lg);border:1px solid var(--color-portfolio-border);width:100%;height:100%;overflow:hidden;box-shadow:0 20px 40px #00000014}.hero-image-card img{object-fit:cover;width:100%;height:100%}@media (width<=868px){.portfolio-hero{gap:var(--space-2xl);text-align:center;grid-template-columns:1fr;padding-block:clamp(3rem,6vh,5rem)}.hero-left{align-items:center}.hero-actions{justify-content:center}.hero-right{order:-1}}.portfolio-btn{justify-content:center;align-items:center;gap:var(--space-xs);border-radius:var(--radius-md);font-family:var(--font-display);font-weight:700;font-size:var(--text-sm);text-transform:uppercase;letter-spacing:.04em;cursor:pointer;transition:all var(--dur-base) var(--ease-out);border:2px solid #0000;min-height:2.75rem;padding:.75rem 1.75rem;text-decoration:none;display:inline-flex}.portfolio-btn-primary{background:var(--color-portfolio-orange);color:#fff}.portfolio-btn-primary:hover{background:var(--color-portfolio-dark-ink);color:#fff;transform:translateY(-2px)}.portfolio-btn-outline{border-color:var(--color-portfolio-border);color:var(--color-portfolio-dark-ink);background:0 0}.portfolio-btn-outline:hover{border-color:var(--color-portfolio-orange);color:var(--color-portfolio-orange);background:var(--color-portfolio-accent-light);transform:translateY(-2px)}.specialization-layout{gap:var(--space-3xl);grid-template-columns:1.1fr .9fr;align-items:start;display:grid}.spec-accordion-group{gap:var(--space-md);flex-direction:column;display:flex}.spec-accordion-item{border:1px solid var(--color-portfolio-border);border-radius:var(--radius-md);transition:all var(--dur-base) var(--ease-out);background:#fff;overflow:hidden}.spec-accordion-item.active{border-color:var(--color-portfolio-orange);box-shadow:0 4px 20px #f769020d}.spec-accordion-header{width:100%;padding:var(--space-lg);text-align:left;cursor:pointer;background:0 0;border:none;outline:none;justify-content:space-between;align-items:center;display:flex}.spec-accordion-header h3{font-size:var(--text-md);color:var(--color-portfolio-dark-ink);align-items:center;gap:var(--space-sm);display:flex}.spec-accordion-header h3 svg{color:var(--color-portfolio-orange);flex-shrink:0}.spec-accordion-icon-toggle{font-size:var(--text-md);color:var(--color-muted);transition:transform var(--dur-base) var(--ease-out);font-weight:400}.spec-accordion-item.active .spec-accordion-icon-toggle{color:var(--color-portfolio-orange);transform:rotate(45deg)}.spec-accordion-content{max-height:0;transition:max-height var(--dur-long) var(--ease-out), padding var(--dur-long) var(--ease-out);padding-inline:var(--space-lg);overflow:hidden}.spec-accordion-item.active .spec-accordion-content{max-height:500px;padding-bottom:var(--space-lg)}.spec-accordion-content ul{gap:var(--space-sm);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.spec-accordion-content li{font-size:var(--text-sm);color:var(--color-ink-2);padding-left:var(--space-md);line-height:1.6;position:relative}.spec-accordion-content li:before{content:"•";color:var(--color-portfolio-orange);font-weight:700;position:absolute;left:0}.spec-graphic-container{border:1px solid var(--color-portfolio-border);background:var(--color-portfolio-dark);border-radius:var(--radius-lg);aspect-ratio:1.2;padding:var(--space-md);justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.digital-matrix-bg{font-family:var(--font-mono);color:#f7690226;word-break:break-all;user-select:none;pointer-events:none;padding:var(--space-sm);font-size:10px;line-height:1.1;position:absolute;inset:0;overflow:hidden}.digital-matrix-overlay{z-index:1;text-align:center;color:#fff}.digital-matrix-overlay code{font-family:var(--font-mono);color:var(--color-portfolio-orange);font-size:var(--text-sm)}@media (width<=868px){.specialization-layout{gap:var(--space-xl);grid-template-columns:1fr}}.timeline-list{padding-left:var(--space-2xl);position:relative}.timeline-list:before{content:"";background:var(--color-portfolio-border);width:2px;position:absolute;top:8px;bottom:8px;left:10px}.timeline-card{margin-bottom:var(--space-2xl);border:1px solid var(--color-portfolio-border);border-radius:var(--radius-md);padding:var(--space-xl);transition:transform var(--dur-base) var(--ease-out), border-color var(--dur-base) var(--ease-out);background:#fff;position:relative;box-shadow:0 4px 10px #00000005}.timeline-card:hover{border-color:var(--color-portfolio-orange);transform:translate(4px)}.timeline-connector-dot{left:calc(-1 * var(--space-2xl) - 10px + 10px);border:4px solid var(--color-portfolio-orange);z-index:2;background:#fff;border-radius:50%;width:22px;height:22px;position:absolute;top:24px;box-shadow:0 0 0 4px #f7690226}.timeline-card-header{justify-content:space-between;align-items:baseline;gap:var(--space-xs);margin-bottom:var(--space-xs);flex-wrap:wrap;display:flex}.timeline-card-title{font-size:var(--text-md);color:var(--color-portfolio-dark-ink);font-weight:700}.timeline-card-date{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-portfolio-orange);font-weight:600}.timeline-card-company{font-family:var(--font-mono);font-size:var(--text-sm);color:var(--color-muted);margin-bottom:var(--space-md)}.timeline-card-bullets{padding-left:var(--space-md);margin-bottom:var(--space-lg);gap:var(--space-xs);flex-direction:column;display:flex}.timeline-card-bullets li{font-size:var(--text-sm);color:var(--color-ink-2);line-height:1.6}.tag-cloud{gap:var(--space-xs);flex-wrap:wrap;display:flex}.portfolio-tag{font-family:var(--font-mono);font-size:var(--text-xs);background:var(--color-portfolio-light-bg);border:1px solid var(--color-portfolio-border);color:var(--color-ink-2);border-radius:var(--radius-sm);padding:.25rem .6rem}@media (width<=600px){.timeline-card-header{flex-direction:column;align-items:flex-start}}.education-grid{gap:var(--space-lg);grid-template-columns:1fr;display:grid}.education-card{gap:var(--space-xl);border:1px solid var(--color-portfolio-border);border-radius:var(--radius-md);padding:var(--space-xl);transition:border-color var(--dur-base) var(--ease-out);background:#fff;align-items:flex-start;display:flex;box-shadow:0 4px 10px #00000005}.education-card:hover{border-color:var(--color-portfolio-orange)}.edu-icon-wrap{border-radius:var(--radius-md);background:var(--color-portfolio-accent-light);width:60px;height:60px;color:var(--color-portfolio-orange);font-size:var(--text-lg);border:1px solid #f7690226;flex-shrink:0;justify-content:center;align-items:center;display:flex}.edu-info{flex-grow:1}.edu-card-header{justify-content:space-between;align-items:baseline;gap:var(--space-xs);margin-bottom:var(--space-xs);flex-wrap:wrap;display:flex}.edu-degree{font-size:var(--text-md);color:var(--color-portfolio-dark-ink);font-weight:700}.edu-date{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-portfolio-orange);font-weight:600}.edu-school{font-family:var(--font-mono);font-size:var(--text-sm);color:var(--color-muted);margin-bottom:var(--space-sm)}.edu-desc{font-size:var(--text-sm);color:var(--color-ink-2);margin-bottom:var(--space-md);line-height:1.6}@media (width<=600px){.education-card{gap:var(--space-md);flex-direction:column}}.certifications-intro-row{justify-content:space-between;align-items:center;gap:var(--space-md);margin-bottom:var(--space-xl);flex-wrap:wrap;display:flex}.cert-filter-group{gap:var(--space-xs);flex-wrap:wrap;display:flex}.cert-filter-chip{font-family:var(--font-display);font-size:var(--text-sm);text-transform:uppercase;border-radius:var(--radius-sm);border:1px solid var(--color-portfolio-border);color:var(--color-portfolio-dark-ink);cursor:pointer;transition:all var(--dur-base) var(--ease-out);background:#fff;padding:.5rem 1rem;font-weight:700}.cert-filter-chip:hover,.cert-filter-chip.active{background:var(--color-portfolio-orange);color:#fff;border-color:var(--color-portfolio-orange)}.cert-grid{gap:var(--space-md);grid-template-columns:repeat(auto-fill,minmax(280px,1fr));display:grid}.cert-card{border:1px solid var(--color-portfolio-border);border-radius:var(--radius-md);padding:var(--space-lg);gap:var(--space-sm);cursor:pointer;transition:all var(--dur-base) var(--ease-out);background:#fff;flex-direction:column;display:flex;position:relative}.cert-card:hover{border-color:var(--color-portfolio-orange);transform:translateY(-3px);box-shadow:0 10px 20px #0000000a}.cert-card-icon{font-size:var(--text-lg)}.cert-card-title{font-size:var(--text-sm);color:var(--color-portfolio-dark-ink);margin-right:var(--space-xl);font-weight:700;line-height:1.4}.cert-card-issuer{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-muted)}.cert-card-date{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-portfolio-orange);margin-top:auto;font-weight:600}.cert-card-arrow{bottom:var(--space-lg);right:var(--space-lg);background:var(--color-portfolio-accent-light);width:28px;height:28px;color:var(--color-portfolio-orange);transition:all var(--dur-base) var(--ease-out);border:1px solid #f769021a;border-radius:50%;justify-content:center;align-items:center;font-size:12px;display:flex;position:absolute}.cert-card:hover .cert-card-arrow{background:var(--color-portfolio-orange);color:#fff}.competencies-layout{gap:var(--space-lg);grid-template-columns:repeat(auto-fit,minmax(320px,1fr));display:grid}.competency-card{border:1px solid var(--color-portfolio-border);border-radius:var(--radius-md);padding:var(--space-xl);transition:border-color var(--dur-base) var(--ease-out);background:#fff}.competency-card:hover{border-color:var(--color-portfolio-orange)}.competency-card-title{font-size:var(--text-base);color:var(--color-portfolio-dark-ink);border-bottom:2px solid var(--color-portfolio-border);padding-bottom:var(--space-xs);margin-bottom:var(--space-md);font-weight:700}.competency-chip-container{gap:var(--space-xs);flex-wrap:wrap;display:flex}.competency-chip{font-family:var(--font-mono);font-size:var(--text-sm);background:var(--color-portfolio-light-bg);border:1px solid var(--color-portfolio-border);color:var(--color-portfolio-dark-ink);transition:all var(--dur-base) var(--ease-out);border-radius:99px;padding:.35rem .75rem}.competency-chip:hover{border-color:var(--color-portfolio-orange);background:var(--color-portfolio-accent-light);color:var(--color-portfolio-orange)}.projects-list{gap:var(--space-2xl);flex-direction:column;display:flex}.project-large-card{border:1px solid var(--color-portfolio-border);border-radius:var(--radius-lg);transition:border-color var(--dur-base) var(--ease-out);background:#fff;grid-template-columns:1.1fr .9fr;display:grid;overflow:hidden;box-shadow:0 10px 30px #00000005}.project-large-card:hover{border-color:var(--color-portfolio-orange)}.project-card-left{padding:var(--space-2xl);flex-direction:column;align-items:flex-start;display:flex}.project-card-tags{gap:var(--space-xs);margin-bottom:var(--space-md);flex-wrap:wrap;display:flex}.project-card-tag{font-family:var(--font-mono);background:var(--color-portfolio-accent-light);color:var(--color-portfolio-orange);border-radius:var(--radius-sm);text-transform:uppercase;letter-spacing:.05em;border:1px solid #f7690226;padding:.2rem .5rem;font-size:10px;font-weight:600}.project-card-title{font-size:var(--text-lg);color:var(--color-portfolio-dark-ink);margin-bottom:var(--space-md);font-weight:700}.project-card-desc{font-size:var(--text-sm);color:var(--color-ink-2);margin-bottom:var(--space-xl);line-height:1.6}.project-card-actions{gap:var(--space-md);margin-top:auto;display:flex}.project-action-btn-circle{border:1px solid var(--color-portfolio-border);width:44px;height:44px;color:var(--color-portfolio-dark-ink);transition:all var(--dur-base) var(--ease-out);cursor:pointer;background:#fff;border-radius:50%;justify-content:center;align-items:center;font-size:16px;text-decoration:none;display:flex}.project-action-btn-circle:hover{border-color:var(--color-portfolio-orange);background:var(--color-portfolio-orange);color:#fff;transform:scale(1.05)}.project-card-right{background:var(--color-portfolio-light-bg);border-left:1px solid var(--color-portfolio-border);padding:var(--space-xl);justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.project-mockup-wrapper{border-radius:var(--radius-md);border:1px solid var(--color-portfolio-border);width:100%;transition:transform var(--dur-base) var(--ease-out);overflow:hidden;box-shadow:0 10px 25px #0000000f}.project-large-card:hover .project-mockup-wrapper{transform:scale(1.02)}.project-mockup-wrapper img{width:100%;display:block}@media (width<=868px){.project-large-card{grid-template-columns:1fr}.project-card-right{border-left:none;border-top:1px solid var(--color-portfolio-border);padding:var(--space-lg)}.project-card-left{padding:var(--space-xl)}}.contact-layout{gap:var(--space-3xl);grid-template-columns:1fr 1fr;align-items:start;display:grid}.contact-info-block p{font-size:var(--text-base);color:var(--color-ink-2);margin-bottom:var(--space-xl);line-height:1.7}.contact-list-horizontal{gap:var(--space-md);flex-direction:column;display:flex}.contact-row-item{align-items:center;gap:var(--space-md);border:1px solid var(--color-portfolio-border);padding:var(--space-md) var(--space-lg);border-radius:var(--radius-md);color:var(--color-portfolio-dark-ink);transition:all var(--dur-base) var(--ease-out);background:#fff;text-decoration:none;display:flex}.contact-row-item:hover{border-color:var(--color-portfolio-orange);background:var(--color-portfolio-accent-light);text-decoration:none;transform:translate(4px)}.contact-row-icon{background:var(--color-portfolio-light-bg);width:40px;height:40px;color:var(--color-portfolio-orange);border:1px solid var(--color-portfolio-border);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:16px;display:flex}.contact-row-item:hover .contact-row-icon{background:var(--color-portfolio-orange);color:#fff;border-color:var(--color-portfolio-orange)}.contact-row-label{font-family:var(--font-mono);font-size:var(--text-sm);font-weight:600}.contact-row-arrow{font-size:var(--text-sm);color:var(--color-muted);transition:transform var(--dur-base) var(--ease-out);margin-left:auto}.contact-row-item:hover .contact-row-arrow{color:var(--color-portfolio-orange);transform:translate(3px)}.contact-form-block{border:1px solid var(--color-portfolio-border);padding:var(--space-2xl);border-radius:var(--radius-lg);background:#fff;box-shadow:0 10px 30px #00000005}.contact-form-layout{gap:var(--space-lg);flex-direction:column;display:flex}.contact-field-group{gap:var(--space-2xs);flex-direction:column;display:flex}.contact-field-group label{font-family:var(--font-display);font-size:var(--text-sm);text-transform:uppercase;color:var(--color-portfolio-dark-ink);font-weight:700}.contact-field-group input,.contact-field-group textarea{border:1px solid var(--color-portfolio-border);border-radius:var(--radius-sm);width:100%;font-family:var(--font-body);font-size:var(--text-sm);transition:all var(--dur-base) var(--ease-out);background:var(--color-portfolio-light-bg);outline:none;padding:.75rem 1rem}.contact-field-group input:focus,.contact-field-group textarea:focus{border-color:var(--color-portfolio-orange);background:#fff;box-shadow:0 0 0 3px #f769021a}.contact-field-group textarea{resize:vertical;min-height:120px}@media (width<=868px){.contact-layout{gap:var(--space-2xl);grid-template-columns:1fr}}.portfolio-modal-overlay{z-index:1000;backdrop-filter:blur(8px);padding:var(--space-md);opacity:0;transition:opacity var(--dur-base) var(--ease-out);background:#0f1b2a99;justify-content:center;align-items:center;display:none;position:fixed;inset:0}.portfolio-modal-overlay.open{opacity:1;display:flex}.portfolio-modal{border:1px solid var(--color-portfolio-border);border-radius:var(--radius-lg);width:100%;max-width:600px;padding:var(--space-2xl);transition:transform var(--dur-base) var(--ease-out);background:#fff;position:relative;transform:scale(.9);box-shadow:0 20px 50px #00000026}.portfolio-modal-overlay.open .portfolio-modal{transform:scale(1)}.portfolio-modal-close{top:var(--space-md);right:var(--space-md);border:1px solid var(--color-portfolio-border);width:36px;height:36px;color:var(--color-muted);cursor:pointer;transition:all var(--dur-base) var(--ease-out);background:#fff;border-radius:50%;justify-content:center;align-items:center;font-size:16px;display:flex;position:absolute}.portfolio-modal-close:hover{border-color:var(--color-portfolio-orange);color:var(--color-portfolio-orange);background:var(--color-portfolio-accent-light)}.portfolio-modal-emoji{font-size:var(--text-2xl);margin-bottom:var(--space-xs)}.portfolio-modal-title{font-size:var(--text-lg);color:var(--color-portfolio-dark-ink);margin-bottom:var(--space-xs);font-weight:700}.portfolio-modal-tag{font-family:var(--font-mono);font-size:var(--text-xs);background:var(--color-portfolio-accent-light);color:var(--color-portfolio-orange);border-radius:var(--radius-sm);margin-bottom:var(--space-md);border:1px solid #f7690226;padding:.2rem .6rem;font-weight:600;display:inline-block}.portfolio-modal-desc{font-size:var(--text-sm);color:var(--color-ink-2);margin-bottom:var(--space-lg);line-height:1.6}.portfolio-modal-section-title{font-family:var(--font-display);font-size:var(--text-sm);text-transform:uppercase;color:var(--color-portfolio-dark-ink);margin-bottom:var(--space-xs);font-weight:700}.portfolio-modal-tech-stack{gap:var(--space-xs);margin-bottom:var(--space-xl);flex-wrap:wrap;display:flex}.portfolio-modal-actions{gap:var(--space-md);display:flex}.portfolio-footer{background:var(--color-portfolio-dark);color:#ffffffb3;padding-block:var(--space-2xl);font-family:var(--font-body);border-top:1px solid #ffffff1a}.portfolio-footer-inner{justify-content:space-between;align-items:center;gap:var(--space-md);flex-wrap:wrap;display:flex}.portfolio-footer-logo{font-family:var(--font-display);font-size:var(--text-md);color:#fff;letter-spacing:.05em;font-weight:700}.portfolio-footer-logo span{color:var(--color-portfolio-orange)}.portfolio-footer-copy{font-size:var(--text-xs);color:#ffffff80}.portfolio-footer-links{gap:var(--space-md);display:flex}.portfolio-footer-links a{color:#ffffffb3;font-family:var(--font-mono);font-size:var(--text-xs);transition:color var(--dur-base) var(--ease-out);text-decoration:none}.portfolio-footer-links a:hover{color:var(--color-portfolio-orange);text-decoration:underline}
