:root{--cover-photo-position-desktop:15% 55%;--cover-photo-position-mobile:15% 15%;--cover-photo-zoom-desktop:1;--cover-photo-zoom-mobile:1.5;--bg-primary:#14171d;--bg-secondary:#1a1e26;--bg-tertiary:#212631;--bg-dock-item:#1a1e26c7;--bg-dock-hover:#212631f2;--bg-modal:#181c24;--bg-backdrop:#0a0c10d6;--accent-yellow:#d4a340;--accent-yellow-light:#ecc46c;--accent-yellow-dark:#b88a2e;--accent-yellow-glow:#d4a3403d;--accent-yellow-subtle:#d4a34014;--accent-green:#389b6b;--accent-green-light:#4ec98d;--accent-green-dark:#246a48;--accent-green-glow:#389b6b3d;--accent-green-subtle:#389b6b14;--accent-red:#c83d34;--accent-red-light:#e6554b;--accent-red-dark:#912720;--accent-red-glow:#c83d343d;--accent-red-subtle:#c83d3414;--accent-silver:#d6dce5;--accent-silver-light:#f1f4f9;--accent-silver-dark:#9aa4b5;--accent-silver-glow:#d6dce538;--accent-silver-subtle:#d6dce514;--accent-primary:var(--accent-yellow);--accent-primary-light:var(--accent-yellow-light);--accent-primary-dark:var(--accent-yellow-dark);--accent-primary-glow:var(--accent-yellow-glow);--accent-primary-subtle:var(--accent-yellow-subtle);--accent-gold:var(--accent-yellow);--accent-gold-light:var(--accent-yellow-light);--accent-gold-dark:var(--accent-yellow-dark);--accent-gold-glow:var(--accent-yellow-glow);--accent-gold-glow-subtle:var(--accent-yellow-subtle);--grid-line:#ffffff08;--grid-line-major:#d6dce50e;--border-subtle:#ffffff14;--border-medium:#ffffff24;--border-accent:#d4a34059;--font-display:"Space Grotesk", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-body:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--text-primary:#f0f3f8;--text-secondary:#9aa4b5;--text-muted:#667285;--text-accent:var(--accent-yellow);--scroll-scale:1;--scroll-glow-intensity:0;--shadow-dock:0 12px 28px -8px #0000008c;--shadow-dock-hover:0 20px 42px -10px #000000bf, 0 0 28px -4px var(--accent-yellow-glow);--shadow-modal:0 25px 60px -15px #000c, 0 0 1px 1px #ffffff1f;--transition-fast:.16s cubic-bezier(.16, 1, .3, 1);--transition-normal:.26s cubic-bezier(.16, 1, .3, 1);--transition-smooth:.45s cubic-bezier(.16, 1, .3, 1);--radius-sm:4px;--radius-md:10px;--radius-lg:14px}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body{width:100%;height:100%;overflow:hidden}html{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font-size:16px}body.single-viewport{background-color:var(--bg-primary);color:var(--text-primary);font-family:var(--font-body);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;touch-action:manipulation;flex-direction:column;justify-content:space-between;font-weight:400;line-height:1.5;display:flex;position:relative}html.cv-page-active,body.cv-page-active{scroll-padding-top:65px;touch-action:auto!important;background-color:var(--bg-primary)!important;height:auto!important;min-height:100dvh!important;overflow:hidden auto!important}html.portfolio-page-active,body.portfolio-page-active{scroll-snap-type:y proximity;scroll-padding-top:0;touch-action:auto!important;background-color:var(--bg-primary)!important;height:auto!important;min-height:100dvh!important;overflow:hidden auto!important}body.cv-page-active .blueprint-background,body.cv-page-active .facade-drift-canvas,body.cv-page-active .site-header,body.cv-page-active .main-wrapper,body.cv-page-active .site-footer,body.portfolio-page-active .blueprint-background,body.portfolio-page-active .facade-drift-canvas,body.portfolio-page-active .site-header,body.portfolio-page-active .main-wrapper,body.portfolio-page-active .site-footer{visibility:hidden!important;pointer-events:none!important;z-index:-10!important;opacity:0!important;width:100vw!important;height:100dvh!important;position:fixed!important;top:0!important;left:0!important;overflow:hidden!important}.blueprint-background{pointer-events:none;z-index:0;background-color:var(--bg-primary);position:fixed;inset:0;overflow:hidden}.blueprint-ambient-tint{pointer-events:none;background:radial-gradient(55% 55% at 18% 22%,#d4a3400e 0%,#0000 68%),radial-gradient(55% 55% at 82% 22%,#389b6b0f 0%,#0000 68%),radial-gradient(55% 55% at 82% 82%,#d6dce50a 0%,#0000 68%),radial-gradient(55% 55% at 18% 82%,#c83d340d 0%,#0000 68%);position:absolute;inset:0}.blueprint-grid{background-size:24px 24px,120px 120px;background-image:linear-gradient(to right, var(--grid-line) 1px, transparent 1px), linear-gradient(to bottom, var(--grid-line) 1px, transparent 1px), linear-gradient(to right, var(--grid-line-major) 1px, transparent 1px), linear-gradient(to bottom, var(--grid-line-major) 1px, transparent 1px);opacity:.95;position:absolute;inset:0}.blueprint-vignette{background:radial-gradient(circle at 50% 48%,#0000 16%,#12151be0 86%);position:absolute;inset:0}.facade-drift-canvas{opacity:.22;will-change:transform;transition:transform .6s cubic-bezier(.1,.9,.2,1);position:absolute;inset:0}.drift-panel{border-radius:var(--radius-sm);position:absolute}.panel-1{background:linear-gradient(135deg,#d4a3400f,#0000);border:1px solid #d4a34059;width:240px;height:380px;animation:24s ease-in-out infinite alternate floatPanelOne;top:10%;left:6%;transform:rotate(-7deg);box-shadow:inset 0 0 15px #d4a3400a}.panel-1:after{content:"";border:1px dashed #d4a34033;position:absolute;inset:6px}.panel-2{background:linear-gradient(135deg,#389b6b0f,#0000);border:1px solid #389b6b59;width:320px;height:220px;animation:28s ease-in-out infinite alternate floatPanelTwo;bottom:12%;right:8%;transform:rotate(6deg);box-shadow:inset 0 0 15px #389b6b0a}.panel-2:after{content:"";border:1px dashed #389b6b33;position:absolute;inset:6px}.panel-3{background:linear-gradient(135deg,#c83d340d,#0000);border:1px solid #c83d3459;width:160px;height:160px;animation:20s ease-in-out infinite alternate floatPanelThree;top:22%;right:18%;transform:rotate(-12deg);box-shadow:inset 0 0 15px #c83d3409}.panel-3:after{content:"";border:1px dashed #c83d3433;position:absolute;inset:6px}.blueprint-annotations{width:100%;height:100%;position:absolute;top:0;left:0}.site-header{-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--border-subtle);z-index:40;background:#14171dbf;flex-shrink:0;justify-content:space-between;align-items:center;height:68px;padding:0 clamp(1.25rem,4vw,3rem);display:flex;position:relative}.site-header:after{content:"";pointer-events:none;background:linear-gradient(90deg,#0000 2%,#d4a34047 22%,#389b6b47 46%,#d6dce547 70%,#c83d3447 92%,#0000 100%);height:1px;position:absolute;bottom:-1px;left:0;right:0}.header-brand{color:var(--text-primary);transition:opacity var(--transition-fast);align-items:center;gap:.75rem;text-decoration:none;display:flex}.header-brand:hover{opacity:.95}.brand-puzzle-icon{border-radius:var(--radius-sm);width:36px;height:36px;transition:transform var(--transition-fast);flex-shrink:0;justify-content:center;align-items:center;display:flex;position:relative}.header-brand:hover .brand-puzzle-icon{transform:scale(1.08)}.brand-puzzle-icon canvas{border-radius:var(--radius-sm);pointer-events:none;outline:none;display:block;width:36px!important;height:36px!important}.brand-text{font-family:var(--font-display);letter-spacing:.05em;color:var(--text-primary);text-transform:uppercase;font-size:1rem;font-weight:700}.brand-text span{color:var(--text-primary);font-weight:700}.header-specs{color:var(--text-secondary);letter-spacing:.05em;text-transform:uppercase;font-size:.8125rem;font-family:var(--font-display);align-items:center;gap:.85rem;display:flex}.spec-experience{color:var(--text-secondary);align-items:center;gap:.45rem;display:inline-flex}.status-indicator{background:var(--accent-green);width:6px;height:6px;box-shadow:0 0 8px var(--accent-green-glow);border-radius:50%;flex-shrink:0;display:inline-block}.spec-divider{color:var(--accent-silver-dark);opacity:.45}.spec-field{color:var(--text-muted)}.header-avatar{display:none}.main-wrapper{z-index:10;flex:1;justify-content:center;align-items:center;width:100%;padding:1rem 1.5rem;display:flex;position:relative}.hero-stage{text-align:center;flex-direction:column;justify-content:center;align-items:center;width:100%;max-width:900px;display:flex}.hero-title{font-family:var(--font-display);letter-spacing:-.01em;color:var(--text-primary);opacity:0;margin-bottom:clamp(1.75rem,3.8dvh,2.8rem);font-size:clamp(1.35rem,2.8vw,2.1rem);font-weight:600;animation:.7s cubic-bezier(.16,1,.3,1) .15s forwards heroTitleFade;transform:translateY(12px)}.puzzle-hero-container{opacity:0;justify-content:center;align-items:center;width:100%;max-width:620px;height:clamp(380px,52dvh,520px);margin:0 auto;animation:.8s cubic-bezier(.16,1,.3,1) .2s forwards puzzleHeroEntrance;display:flex;position:relative;transform:translateY(20px)scale(.92)}@keyframes puzzleHeroEntrance{0%{opacity:0;transform:translateY(22px)scale(.92)}to{opacity:1;transform:translateY(0)scale(1)}}.puzzle-3d-stage{transform-origin:50%;width:100%;height:100%;transform:scale(var(--scroll-scale,1));cursor:grab;-webkit-user-select:none;user-select:none;touch-action:none;-webkit-tap-highlight-color:transparent;justify-content:center;align-items:center;transition:transform .12s cubic-bezier(.2,.8,.3,1);display:flex;position:relative}.puzzle-3d-stage:active{cursor:grabbing}.puzzle-3d-stage canvas{touch-action:none;-webkit-tap-highlight-color:transparent;outline:none;display:block;position:absolute;inset:0;width:100%!important;height:100%!important}.puzzle-sr-controls{clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.puzzle-sr-btn:focus-visible{clip:auto;width:auto;height:auto;color:var(--accent-yellow);border:1px solid var(--accent-yellow);box-shadow:0 0 20px var(--accent-yellow-glow);font-family:var(--font-display);letter-spacing:.05em;z-index:100;background:#14171d;border-radius:6px;outline:none;padding:10px 20px;font-size:.875rem;font-weight:600;position:fixed;top:80px;left:50%;overflow:visible;transform:translate(-50%)}.puzzle-sr-btn[data-piece-index="0"]:focus-visible{color:var(--accent-yellow);border-color:var(--accent-yellow);box-shadow:0 0 20px var(--accent-yellow-glow)}.puzzle-sr-btn[data-piece-index="1"]:focus-visible{color:var(--accent-green-light);border-color:var(--accent-green);box-shadow:0 0 20px var(--accent-green-glow)}.puzzle-sr-btn[data-piece-index="2"]:focus-visible{color:var(--accent-silver-light);border-color:var(--accent-silver);box-shadow:0 0 20px var(--accent-silver-glow)}.puzzle-sr-btn[data-piece-index="3"]:focus-visible{color:var(--accent-red-light);border-color:var(--accent-red);box-shadow:0 0 20px var(--accent-red-glow)}.scroll-zoom-cue{color:var(--text-muted);font-family:var(--font-display);letter-spacing:.12em;text-transform:uppercase;flex-direction:column;align-items:center;gap:.5rem;margin-top:clamp(2rem,4.5dvh,3.25rem);font-size:.75rem;display:flex}.cue-label{opacity:.8}.cue-track{background:#ffffff14;border-radius:2px;width:90px;height:3px;position:relative;overflow:hidden}.cue-fill{background:linear-gradient(90deg, var(--accent-yellow) 0%, var(--accent-green) 100%);border-radius:2px;width:0%;height:100%;transition:width 80ms linear}.site-footer{z-index:40;border-top:1px solid var(--border-subtle);-webkit-backdrop-filter:blur(10px);background:#14171dd9;flex-shrink:0;justify-content:space-between;align-items:center;gap:1rem;padding:.85rem clamp(1.25rem,4vw,3rem);display:flex;position:relative}.site-footer:before{content:"";pointer-events:none;background:linear-gradient(90deg,#0000 2%,#c83d3447 18%,#d6dce547 42%,#389b6b47 68%,#d4a34047 92%,#0000 100%);height:1px;position:absolute;top:-1px;left:0;right:0}.footer-copy{color:var(--text-muted);font-size:.8125rem;font-family:var(--font-display);letter-spacing:.02em}.footer-socials{align-items:center;gap:.65rem;display:flex}.social-link{background:var(--bg-tertiary);border:1px solid var(--border-subtle);cursor:pointer;width:32px;min-width:32px;height:32px;min-height:32px;transition:all var(--transition-fast);border-radius:50%;justify-content:center;align-items:center;text-decoration:none;display:flex;position:relative}.social-link:before{content:"";width:100%;min-width:44px;height:100%;min-height:44px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.social-link svg{width:15px;height:15px;transition:transform var(--transition-fast), color var(--transition-fast)}.social-link.social-link--cv,.social-link.social-link--facebook{color:var(--accent-yellow);background:#212631d9;border-color:#d4a34047}.social-link.social-link--cv:hover,.social-link.social-link--facebook:hover{background:var(--accent-yellow-subtle);border-color:var(--accent-yellow);color:var(--accent-yellow-light);box-shadow:0 4px 14px var(--accent-yellow-glow);transform:translateY(-2px)}.social-link.social-link--cv:focus-visible,.social-link.social-link--facebook:focus-visible{outline:2px solid var(--accent-yellow-light);outline-offset:2px;border-color:var(--accent-yellow);box-shadow:0 0 14px var(--accent-yellow-glow);transform:translateY(-2px)}.social-link.social-link--viber{color:#a093f6;background:#212631d9;border-color:#7360f259}.social-link.social-link--viber:hover{color:#7360f2;background:#7360f224;border-color:#7360f2;transform:translateY(-2px);box-shadow:0 4px 14px #7360f259}.social-link.social-link--viber:focus-visible{outline-offset:2px;border-color:#7360f2;outline:2px solid #a093f6;transform:translateY(-2px);box-shadow:0 0 14px #7360f266}.social-link.social-link--whatsapp{color:#25d366;background:#212631d9;border-color:#25d36659}.social-link.social-link--whatsapp:hover{color:#25d366;background:#25d36624;border-color:#25d366;transform:translateY(-2px);box-shadow:0 4px 14px #25d36659}.social-link.social-link--whatsapp:focus-visible{outline-offset:2px;border-color:#25d366;outline:2px solid #25d366;transform:translateY(-2px);box-shadow:0 0 14px #25d36666}.social-link.social-link--portfolio{color:var(--accent-green-light);background:#212631d9;border-color:#389b6b47}.social-link.social-link--portfolio:hover{background:var(--accent-green-subtle);border-color:var(--accent-green);color:var(--accent-green-light);box-shadow:0 4px 14px var(--accent-green-glow);transform:translateY(-2px)}.social-link.social-link--portfolio:focus-visible{outline:2px solid var(--accent-green-light);outline-offset:2px;border-color:var(--accent-green);box-shadow:0 0 14px var(--accent-green-glow);transform:translateY(-2px)}.social-link.social-link--service{color:var(--accent-red-light);background:#212631d9;border-color:#c83d3447}.social-link.social-link--service:hover{background:var(--accent-red-subtle);border-color:var(--accent-red);color:var(--accent-red-light);box-shadow:0 4px 14px var(--accent-red-glow);transform:translateY(-2px)}.social-link.social-link--service:focus-visible{outline:2px solid var(--accent-red-light);outline-offset:2px;border-color:var(--accent-red);box-shadow:0 0 14px var(--accent-red-glow);transform:translateY(-2px)}.social-link:hover{border-color:var(--accent-silver);color:var(--text-primary);box-shadow:0 4px 14px var(--accent-silver-glow);background:#ffffff14;transform:translateY(-2px)}.modal-overlay{background-color:var(--bg-backdrop);-webkit-backdrop-filter:blur(14px);z-index:100;opacity:0;visibility:hidden;pointer-events:none;justify-content:center;align-items:center;padding:1.5rem;transition:opacity .22s cubic-bezier(.16,1,.3,1),visibility .22s;display:flex;position:fixed;inset:0}.modal-overlay.active{opacity:1;visibility:visible;pointer-events:auto}.modal-container{background:var(--bg-modal);border:1px solid var(--border-medium);border-top:3px solid var(--accent-yellow);border-radius:var(--radius-md);width:100%;max-width:600px;box-shadow:var(--shadow-modal);opacity:0;padding:2.25rem 2rem 2rem;transition:transform .22s cubic-bezier(.16,1,.3,1),opacity .22s cubic-bezier(.16,1,.3,1);position:relative;overflow:hidden;transform:translateY(20px)scale(.97)}.modal-overlay.active .modal-container{opacity:1;transform:translateY(0)scale(1)}body.cv-page-active #modal-cv.active{background:var(--bg-primary)!important;-webkit-backdrop-filter:none!important;opacity:1!important;visibility:visible!important;pointer-events:auto!important;z-index:50!important;flex-direction:column!important;width:100%!important;min-height:100dvh!important;padding:0!important;display:flex!important;position:relative!important;inset:auto!important;overflow:visible!important}.cv-scaler-outer{justify-content:center;align-items:flex-start;width:100%;min-height:100dvh;display:flex;position:relative}.cv-scaler-inner{will-change:auto;width:100%;min-width:0;transform:none}body.cv-page-active #modal-cv .modal-container.cv-modal-container{width:100%!important;max-width:100%!important;height:auto!important;min-height:100dvh!important;max-height:none!important;box-shadow:none!important;opacity:1!important;background:0 0!important;border:none!important;border-radius:0!important;flex-direction:column!important;margin:0!important;padding:0!important;display:flex!important;position:relative!important;overflow:visible!important;transform:none!important}#modal-cv .modal-tag{color:var(--accent-yellow)}#modal-cv .modal-close-btn:hover{border-color:var(--accent-yellow);color:var(--accent-yellow)}.cv-modal-header{z-index:100;-webkit-backdrop-filter:blur(18px);border-bottom:1px solid var(--border-subtle);border-top:3px solid var(--accent-yellow);background:#12161ef5;flex-shrink:0;width:100%;padding:1rem 2rem;position:sticky;top:0;box-shadow:0 8px 30px #00000073}.cv-header-inner{justify-content:space-between;align-items:center;gap:1.5rem;width:100%;max-width:1140px;margin:0 auto;display:flex}.cv-header-profile-lockup{align-items:center;gap:1.25rem;min-width:0;display:flex}.cv-photo-wrapper{background:linear-gradient(135deg, var(--accent-yellow) 0%, #d4a34059 50%, var(--accent-yellow-light) 100%);width:114px;height:114px;box-shadow:0 0 18px var(--accent-yellow-glow), 0 6px 20px #00000080;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;padding:3px;display:flex;position:relative;overflow:hidden}.cv-photo-img{object-fit:cover;object-position:center 10%;background:#181b22;border-radius:50%;width:100%;height:100%;display:block}.cv-header-intro{flex-direction:column;justify-content:center;gap:.25rem;min-width:0;display:flex}.cv-name{font-family:var(--font-display);color:#fff;letter-spacing:-.01em;font-size:clamp(1.4rem,2.5vw,1.9rem);font-weight:700;line-height:1.15}.cv-title-lead{color:var(--accent-silver-light);letter-spacing:.02em;font-size:.84rem;font-weight:500}.cv-header-controls{flex-shrink:0;align-items:center;gap:.75rem;display:flex}.cv-modal-body{flex:1 0 auto;width:100%;max-width:1140px;height:auto;max-height:none;margin:0 auto;padding:2.75rem 2rem 4rem;overflow:visible}.cv-contact-ribbon{border:1px solid var(--border-subtle);border-radius:var(--radius-sm);background:#12151cbf;flex-wrap:wrap;align-items:center;gap:1.25rem 2rem;margin-bottom:1.6rem;padding:.85rem 1.25rem;display:flex}.contact-ribbon-item{color:var(--text-secondary);align-items:center;gap:.5rem;font-size:.8125rem;display:inline-flex}.contact-ribbon-item svg{width:15px;height:15px;color:var(--accent-yellow);flex-shrink:0}.contact-ribbon-item a{color:var(--text-primary);transition:color var(--transition-fast);text-decoration:none}.contact-ribbon-item a:hover{color:var(--accent-yellow-light);text-decoration:underline}.cv-summary-section{border:1px solid var(--border-subtle);border-left:3px solid var(--accent-yellow);border-radius:0 var(--radius-sm) var(--radius-sm) 0;background:#1a1e288c;margin-bottom:1.85rem;padding:1.15rem 1.35rem}.cv-summary-text{color:var(--text-secondary);font-size:.89rem;line-height:1.65}.cv-layout-grid{grid-template-columns:1.65fr 1fr;align-items:start;gap:2.25rem;display:grid}.cv-section{margin-bottom:1.75rem}.cv-section:last-child{margin-bottom:0}.cv-section-header{border-bottom:1px solid var(--border-subtle);justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:.4rem;display:flex}.cv-section-title{font-family:var(--font-display);letter-spacing:.08em;text-transform:uppercase;color:var(--accent-yellow);align-items:center;gap:.4rem;font-size:.875rem;font-weight:700;display:inline-flex}.cv-section-title:before{content:"";background:var(--accent-yellow);border-radius:1px;width:3px;height:11px;display:inline-block}.cv-section-counter{font-family:var(--font-display);color:var(--text-muted);letter-spacing:.04em;font-size:.72rem}.cv-timeline{margin-top:.5rem;padding-left:1.6rem;position:relative}.cv-timeline:before{content:"";background:linear-gradient(to bottom, var(--accent-yellow) 0%, #d4a34066 40%, #389b6b66 80%, #d6dce533 100%);border-radius:1px;width:2px;position:absolute;top:6px;bottom:12px;left:5px}.timeline-flowing-light{pointer-events:none;z-index:1;width:0;position:absolute;top:9px;bottom:18px;left:6px}.timeline-pulse-runner{pointer-events:none;will-change:top, opacity;flex-direction:column;align-items:center;animation:3.5s linear infinite flowingLightTravel;display:flex;position:absolute;top:0;left:0;transform:translate(-50%,-50%)}.timeline-pulse-trail{background:linear-gradient(#0000 0%,#389b6b40 30%,#389b6bb3 65%,#4ec98df2 100%);border-radius:2px 2px 0 0;width:3px;height:44px;margin-bottom:-4px;box-shadow:0 0 10px #4ec98d99}.timeline-pulse-dot{border:1.5px solid var(--accent-green-light);width:9px;height:9px;box-shadow:0 0 6px #fff, 0 0 14px var(--accent-green-light), 0 0 24px #389b6be6, 0 0 36px #4ec98d99;background:#fff;border-radius:50%}@keyframes flowingLightTravel{0%{opacity:0;top:0%}3%{opacity:1}95%{opacity:1}to{opacity:0;top:100%}}@media (prefers-reduced-motion:reduce){.timeline-pulse-runner{animation:none;display:none}}.timeline-item{margin-bottom:1.6rem;position:relative}.timeline-item:last-child{margin-bottom:0}.timeline-marker{border:2.5px solid var(--accent-yellow);width:12px;height:12px;box-shadow:0 0 10px var(--accent-yellow-glow);z-index:2;background:#151821;border-radius:50%;position:absolute;top:3px;left:-1.6rem}.timeline-content{flex-direction:column;display:flex}.timeline-meta-row{align-items:center;margin-bottom:.25rem;display:flex}.timeline-date-badge{font-family:var(--font-display);color:var(--accent-yellow);letter-spacing:.04em;background:#d4a3401f;border:1px solid #d4a34040;border-radius:3px;padding:.1rem .45rem;font-size:.72rem;font-weight:700;display:inline-block}.timeline-date-badge.timeline-date-badge--accent{color:var(--accent-green-light);background:#389b6b1f;border-color:#389b6b40}.timeline-badge-current{font-family:var(--font-display);text-transform:uppercase;letter-spacing:.06em;color:var(--accent-green-light);background:#389b6b26;border:1px solid #389b6b59;border-radius:3px;align-items:center;gap:.35rem;margin-left:.5rem;padding:.1rem .5rem;font-size:.68rem;font-weight:700;display:inline-flex}.timeline-badge-current:before{content:"";background:var(--accent-green);width:5px;height:5px;box-shadow:0 0 6px var(--accent-green-glow);border-radius:50%;display:inline-block}.timeline-item--current .timeline-marker{border-color:var(--accent-green);box-shadow:0 0 12px var(--accent-green-glow)}.timeline-role{font-family:var(--font-display);color:var(--text-primary);font-size:1.05rem;font-weight:600;line-height:1.3}.timeline-company{color:var(--accent-silver-light);margin-bottom:.35rem;font-size:.8125rem;font-weight:500}.timeline-desc{color:var(--text-muted);font-size:.8125rem;line-height:1.55}.cv-edu-list{flex-direction:column;gap:.85rem;display:flex}.cv-edu-item{border:1px solid var(--border-subtle);border-radius:var(--radius-sm);transition:border-color var(--transition-fast);background:#141820b3;padding:.8rem 1rem}.cv-edu-item:hover{border-color:#d4a34059}.cv-edu-header{justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.25rem;display:flex}.cv-edu-degree{font-family:var(--font-display);color:var(--text-primary);font-size:.875rem;font-weight:600}.cv-edu-year{font-family:var(--font-display);color:var(--accent-yellow);font-size:.72rem;font-weight:600}.cv-edu-institution{color:var(--text-secondary);font-size:.78rem}.cv-skills-chips{flex-wrap:wrap;gap:.45rem;display:flex}.skill-chip{font-size:.75rem;font-family:var(--font-display);border:1px solid var(--border-subtle);color:var(--text-secondary);transition:all var(--transition-fast);background:#1b202ad9;border-radius:9999px;align-items:center;padding:.35rem .75rem;font-weight:500;display:inline-flex}.skill-chip:hover{color:var(--text-primary);border-color:#d4a34066;transform:translateY(-1px)}.skill-chip.skill-chip--primary{color:var(--accent-yellow-light);background:#d4a3401f;border-color:#d4a34059;font-weight:600}.skill-chip.skill-chip--primary:hover{box-shadow:0 2px 8px var(--accent-yellow-glow);background:#d4a34033}.skill-chip.skill-chip--accent{color:var(--accent-green-light);background:#389b6b1f;border-color:#389b6b59;font-weight:600}.skill-chip.skill-chip--accent:hover{box-shadow:0 2px 8px var(--accent-green-glow);background:#389b6b33}.cv-lang-list{flex-direction:column;display:flex}.cv-lang-item{border-bottom:1px dashed var(--border-subtle);justify-content:space-between;align-items:center;padding:.55rem 0;display:flex}.cv-lang-item:last-child{border-bottom:none}.lang-name{color:var(--text-primary);font-size:.84rem;font-weight:500}.lang-level{font-family:var(--font-display);color:var(--text-muted);font-size:.75rem}.lang-level.lang-level--native{color:var(--accent-green-light);font-weight:600}.lang-level.lang-level--cert{color:var(--accent-yellow);font-weight:600}.cv-modal-footer{border-top:1px solid var(--border-subtle);background:#12161efa;width:100%;margin-top:auto;padding:1.25rem 2rem}.cv-footer-inner{justify-content:space-between;align-items:center;gap:1.5rem;width:100%;max-width:1140px;margin:0 auto;display:flex}.cv-footer-spec{color:var(--text-muted);font-size:.78rem;font-family:var(--font-display);align-items:center;gap:.5rem;display:flex}.cv-footer-actions{align-items:center;gap:.75rem;display:flex}.btn-cv-download{border:1px solid var(--border-subtle);color:var(--text-secondary);font-family:var(--font-display);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast);background:#ffffff0d;align-items:center;gap:.45rem;padding:.45rem .85rem;font-size:.8125rem;text-decoration:none;display:inline-flex}.btn-cv-download svg{width:14px;height:14px}.btn-cv-download:hover{background:var(--accent-yellow-subtle);border-color:var(--accent-yellow);color:var(--accent-yellow-light)}#modal-portfolio{--bg-primary:#14171d;--bg-secondary:#1a1e26;--bg-tertiary:#212631;--bg-card:#0e1116;--accent:#389b6b;--accent-light:#4ec98d;--accent-glow:#389b6b33;--text-primary:#f0f3f8;--text-secondary:#9aa4b5;--text-muted:#5c6579;--border-subtle:#ffffff14;--border-medium:#ffffff29;--font-display:"Space Grotesk", sans-serif;--font-body:"Inter", sans-serif;font-family:var(--font-body);color:var(--text-primary)}body.portfolio-page-active #modal-portfolio.active{background:var(--bg-primary)!important;-webkit-backdrop-filter:none!important;opacity:1!important;visibility:visible!important;pointer-events:auto!important;z-index:50!important;width:100%!important;min-height:100dvh!important;padding:0!important;display:block!important;position:relative!important;inset:auto!important;overflow:visible!important}body.portfolio-page-active #modal-portfolio .modal-container{width:100%!important;max-width:100%!important;height:auto!important;min-height:100dvh!important;max-height:none!important;box-shadow:none!important;opacity:1!important;background:0 0!important;border:none!important;border-radius:0!important;margin:0!important;padding:0!important;display:block!important;position:relative!important;overflow:visible!important;transform:none!important}#modal-portfolio .page-nav{z-index:40;flex-direction:column;gap:clamp(9px,1.6vw,14px);display:flex;position:fixed;top:50%;right:clamp(10px,3vw,28px);transform:translateY(-50%)}#modal-portfolio .page-nav a{background:var(--border-medium);border-radius:50%;width:clamp(6px,1vw,8px);height:clamp(6px,1vw,8px);text-decoration:none;transition:background .16s,transform .16s;display:block}#modal-portfolio .page-nav a:hover,#modal-portfolio .page-nav a:focus-visible,#modal-portfolio .page-nav a.is-current,#modal-portfolio .page-nav a.is-active{background:var(--accent-light);transform:scale(1.3)}.puzzle-logo-mark{z-index:55;pointer-events:none;width:clamp(36px,4vw,48px);height:clamp(36px,4vw,48px);position:fixed;top:clamp(12px,3vh,24px);right:clamp(60px,8vw,90px)}.puzzle-logo-mark img{object-fit:contain;width:100%;height:100%;display:block}.puzzle-logo-mark.is-empty img{display:none}#modal-portfolio main{scroll-snap-type:y proximity;width:100%}#modal-portfolio section.page{scroll-snap-align:start;border-bottom:1px solid var(--border-subtle);box-sizing:border-box;opacity:.35;will-change:opacity, transform;flex-direction:column;justify-content:center;height:100dvh;min-height:100dvh;padding:clamp(16px,3vh,44px) clamp(18px,5vw,64px);transition:opacity .6s cubic-bezier(.22,.7,.25,1),transform .6s cubic-bezier(.22,.7,.25,1);display:flex;position:relative;overflow:hidden;transform:scale(.94)}#modal-portfolio section.page.is-active{opacity:1;transform:scale(1)}#modal-portfolio .page-inner{box-sizing:border-box;scrollbar-width:thin;scrollbar-color:var(--border-medium) transparent;flex-direction:column;justify-content:safe center;gap:clamp(10px,2vh,20px);width:100%;max-width:900px;height:100%;max-height:100%;margin:0 auto;display:flex;position:relative;overflow-y:auto}#modal-portfolio .page-inner::-webkit-scrollbar{width:4px}#modal-portfolio .page-inner::-webkit-scrollbar-thumb{background:var(--border-medium);border-radius:4px}#modal-portfolio .corner-tick{opacity:.45;pointer-events:none;width:34px;height:34px;position:absolute}#modal-portfolio .corner-tick svg{width:100%;height:100%;stroke:var(--accent-light)}#modal-portfolio .photo{border:1px solid var(--border-subtle);background:linear-gradient(155deg, var(--bg-tertiary) 0%, var(--bg-secondary) 100%);color:var(--text-muted);box-sizing:border-box;border-radius:14px;flex-direction:column;justify-content:center;align-items:center;gap:8px;display:flex;position:relative;overflow:hidden}#modal-portfolio .photo svg{width:clamp(22px,4vw,30px);height:clamp(22px,4vw,30px);stroke:var(--text-muted);opacity:.7}#modal-portfolio .photo span{text-align:center;font-size:clamp(10.5px,1.6vw,12.5px);font-family:var(--font-body);padding:0 10px}#modal-portfolio .photo:after{content:"";border-radius:inherit;pointer-events:none;position:absolute;inset:0;box-shadow:inset 0 0 0 1px #ffffff05}#modal-portfolio .cover{padding:0}#modal-portfolio .cover-photo{background-color:var(--bg-tertiary);border-top:none;border-left:none;border-right:none;border-radius:0 0 0 28px;position:absolute;inset:0 0 38%;overflow:hidden}#modal-portfolio .cover-photo img,.cover-photo img{object-fit:cover;object-position:var(--cover-photo-position-desktop);transform:scale(var(--cover-photo-zoom-desktop));transform-origin:var(--cover-photo-position-desktop)}#modal-portfolio .cover-body{z-index:2;box-sizing:border-box;flex-direction:column;gap:clamp(20px,4vh,36px);margin-top:auto;padding:clamp(20px,5vh,40px) clamp(18px,5vw,56px) clamp(28px,6vh,56px);display:flex;position:relative}#modal-portfolio .cover-year{font-family:var(--font-display);color:var(--text-muted);letter-spacing:.06em;text-align:center;width:100%;max-width:560px;margin-left:auto;margin-right:auto;font-size:12.5px}#modal-portfolio .cover-card{background:var(--bg-card);border:1px solid var(--border-medium);clip-path:polygon(0 0,88% 0,100% 24%,100% 100%,0 100%);text-align:center;box-sizing:border-box;border-radius:4px 18px 18px 4px;width:100%;max-width:560px;margin-left:auto;margin-right:auto;padding:clamp(20px,4vw,34px) clamp(20px,4vw,40px)}#modal-portfolio .cover-title{font-family:var(--font-display);text-align:center;margin:0;font-size:clamp(1.7rem,5.6vw,2.9rem);font-weight:700;line-height:1.12}#modal-portfolio .cover-title .accent{color:var(--accent-light)}#modal-portfolio .cover-contact-wrap,#modal-portfolio .cover-body>div:last-child{text-align:center;width:100%;max-width:560px;margin-left:auto;margin-right:auto}#modal-portfolio .cover-name{font-family:var(--font-display);text-align:center;font-size:clamp(1.1rem,3vw,1.4rem);font-weight:600}#modal-portfolio .cover-contact{color:var(--text-secondary);text-align:center;margin-top:10px;font-size:13.5px;line-height:1.7}#modal-portfolio .cover-contact a{color:var(--accent-light);text-decoration:none}#modal-portfolio .cover-contact .loc-row,.loc-row{justify-content:center;align-items:center;gap:7px;display:flex}#modal-portfolio .cover-contact svg{width:13px;height:13px;stroke:var(--accent-light);flex-shrink:0}#modal-portfolio .proj-head{flex-wrap:wrap;flex-shrink:0;align-items:baseline;gap:clamp(10px,1.8vw,16px);margin:0;display:flex}#modal-portfolio .proj-head .label{font-family:var(--font-display);color:var(--text-primary);font-size:clamp(1.35rem,2.8vh,2rem);font-weight:500;line-height:1.1}#modal-portfolio .proj-head .num{font-family:var(--font-display);color:var(--accent-light);font-size:clamp(1.6rem,3.6vh,2.5rem);font-weight:700;line-height:1.1}#modal-portfolio .proj-rule{background:var(--accent);flex-shrink:0;width:clamp(40px,5vw,64px);height:2px;margin:0}#modal-portfolio .proj-desc{max-width:62ch;color:var(--text-secondary);border-left:2px solid var(--border-medium);flex-shrink:0;margin:0;padding-left:16px;font-size:clamp(12.5px,1.6vh,15px);line-height:1.55}#modal-portfolio .proj-hero{aspect-ratio:16/10;flex-shrink:1;width:auto;max-width:100%;height:clamp(140px,38vh,420px);margin:0 auto}#modal-portfolio .proj-thumbs{flex-shrink:1;grid-template-columns:1fr 1fr;gap:clamp(8px,1.6vh,16px);width:100%;margin:0;display:grid}#modal-portfolio .proj-thumbs .photo,#modal-portfolio .proj-thumbs .photo-slot{aspect-ratio:auto;width:100%;height:clamp(80px,16vh,180px)}#modal-portfolio .proj-media-group,.proj-media-group,#modal-portfolio .drafting-media-group,.drafting-media-group{display:contents}#modal-portfolio .drafting-hero-wrap,.drafting-hero-wrap{flex-direction:column;width:100%;display:flex}#modal-portfolio .drafting-hero,.drafting-hero{aspect-ratio:16/8;flex-shrink:1;width:auto;max-width:100%;height:clamp(140px,38vh,420px);margin:0 auto}#modal-portfolio .drafting-thumbs,.drafting-thumbs{flex-shrink:1;grid-template-columns:repeat(3,1fr);gap:clamp(8px,1.6vh,16px);width:100%;margin:0;display:grid}#modal-portfolio .drafting-thumbs .drafting-item,.drafting-thumbs .drafting-item{flex-direction:column;width:100%;display:flex}#modal-portfolio .drafting-thumbs .photo,#modal-portfolio .drafting-thumbs .photo-slot,.drafting-thumbs .photo,.drafting-thumbs .photo-slot{aspect-ratio:auto;width:100%;height:clamp(80px,16vh,180px)}#modal-portfolio .drafting-caption,.drafting-caption{color:var(--text-muted);font-size:clamp(11px,1.4vh,12px);font-family:var(--font-body);text-align:left;letter-spacing:.01em;flex-shrink:0;margin-top:5px;line-height:1.35}@media (width>=1024px){#modal-portfolio section#p1,#modal-portfolio section#p2,#modal-portfolio section#p3,#modal-portfolio section#p4,#modal-portfolio section#p5,#modal-portfolio section#p-render,#modal-portfolio section#p-draft{padding-top:clamp(16px,2.5vh,30px);padding-bottom:clamp(16px,2.5vh,30px)}#modal-portfolio section.page:has(.proj-media-group){padding-top:clamp(16px,2.5vh,30px);padding-bottom:clamp(16px,2.5vh,30px)}#modal-portfolio #p1 .page-inner,#modal-portfolio #p2 .page-inner,#modal-portfolio #p3 .page-inner,#modal-portfolio #p4 .page-inner,#modal-portfolio #p5 .page-inner{gap:clamp(12px,2.2vh,22px);max-width:min(1200px,90vw)}#modal-portfolio .page-inner:has(.proj-media-group){gap:clamp(12px,2.2vh,22px);max-width:min(1200px,90vw)}#modal-portfolio #p1 .proj-desc,#modal-portfolio #p2 .proj-desc,#modal-portfolio #p3 .proj-desc,#modal-portfolio #p4 .proj-desc,#modal-portfolio #p5 .proj-desc{max-width:80ch}#modal-portfolio .proj-media-group,.proj-media-group{flex-shrink:1;grid-template-columns:1.6fr 1fr;gap:clamp(12px,1.5vw,20px);width:100%;height:clamp(360px,62vh,640px);margin:0;display:grid}#modal-portfolio .proj-media-group .proj-hero,.proj-media-group .proj-hero{width:100%;max-width:100%;height:100%;aspect-ratio:unset;margin:0}#modal-portfolio .proj-media-group .proj-hero img,.proj-media-group .proj-hero img{object-fit:cover;width:100%;height:100%}#modal-portfolio .proj-media-group .proj-thumbs,.proj-media-group .proj-thumbs{flex-direction:column;gap:clamp(12px,1.5vw,20px);width:100%;height:100%;margin:0;display:flex}#modal-portfolio .proj-media-group .proj-thumbs .photo,#modal-portfolio .proj-media-group .proj-thumbs .photo-slot,.proj-media-group .proj-thumbs .photo,.proj-media-group .proj-thumbs .photo-slot{width:100%;height:auto;min-height:0;aspect-ratio:unset;flex:1 1 0}#modal-portfolio .proj-media-group .proj-thumbs .photo img,#modal-portfolio .proj-media-group .proj-thumbs .photo-slot img,.proj-media-group .proj-thumbs .photo img,.proj-media-group .proj-thumbs .photo-slot img{object-fit:cover;width:100%;height:100%}#modal-portfolio section#p-render{padding-top:clamp(12px,1.8vh,20px);padding-bottom:clamp(12px,1.8vh,20px)}#modal-portfolio #p-render .page-inner{gap:clamp(8px,1.4vh,16px);max-width:min(1200px,90vw)}#modal-portfolio #p-render .proj-thumbs{flex-shrink:1;grid-template-rows:repeat(2,1fr);grid-template-columns:repeat(2,1fr);gap:clamp(12px,1.5vw,20px);width:100%;height:clamp(460px,74vh,820px);margin:0;display:grid}#modal-portfolio #p-render .proj-thumbs .photo,#modal-portfolio #p-render .proj-thumbs .photo-slot{width:100%;height:100%;aspect-ratio:unset}#modal-portfolio #p-render .proj-thumbs .photo img,#modal-portfolio #p-render .proj-thumbs .photo-slot img{object-fit:cover;width:100%;height:100%}#modal-portfolio #p-render .section-tag{line-height:1.45}#modal-portfolio #p-draft .page-inner{gap:clamp(12px,2.2vh,22px);max-width:min(1200px,90vw)}#modal-portfolio .page-inner:has(.drafting-media-group){gap:clamp(12px,2.2vh,22px);max-width:min(1200px,90vw)}#modal-portfolio .drafting-media-group,.drafting-media-group{flex-shrink:1;grid-template-columns:1.6fr 1fr;gap:clamp(12px,1.5vw,20px);width:100%;height:clamp(360px,62vh,640px);margin:0;display:grid}#modal-portfolio .drafting-hero-wrap,.drafting-hero-wrap{flex-direction:column;width:100%;height:100%;min-height:0;display:flex}#modal-portfolio .drafting-hero-wrap .drafting-hero,#modal-portfolio .drafting-hero,.drafting-hero{width:100%;max-width:100%;height:100%;min-height:0;aspect-ratio:unset;flex:1 1 0;margin:0}#modal-portfolio .drafting-hero-wrap .drafting-hero img,#modal-portfolio .drafting-hero img,.drafting-hero img{object-fit:cover;width:100%;height:100%}#modal-portfolio .drafting-thumbs,.drafting-thumbs{flex-direction:column;gap:clamp(10px,1.2vw,16px);width:100%;height:100%;margin:0;display:flex}#modal-portfolio .drafting-thumbs .drafting-item,.drafting-thumbs .drafting-item{flex-direction:column;flex:1 1 0;width:100%;height:auto;min-height:0;display:flex}#modal-portfolio .drafting-thumbs .photo,#modal-portfolio .drafting-thumbs .photo-slot,.drafting-thumbs .photo,.drafting-thumbs .photo-slot{width:100%;height:100%;min-height:0;aspect-ratio:unset;flex:1 1 0}#modal-portfolio .drafting-thumbs .photo img,#modal-portfolio .drafting-thumbs .photo-slot img,.drafting-thumbs .photo img,.drafting-thumbs .photo-slot img{object-fit:cover;width:100%;height:100%}#modal-portfolio .drafting-caption{color:var(--text-muted);font-size:11px;font-family:var(--font-body);flex-shrink:0;margin-top:4px;line-height:1.3}}#modal-portfolio .proj-meta{border-top:1px solid var(--border-subtle);color:var(--text-secondary);flex-wrap:wrap;flex-shrink:0;justify-content:space-between;margin:0;padding-top:clamp(8px,1.3vh,14px);font-size:clamp(11.5px,1.5vh,13.5px);display:flex}#modal-portfolio .proj-meta span{align-items:center;gap:6px;display:flex}#modal-portfolio .proj-meta b{color:var(--text-primary);font-weight:500}#modal-portfolio .proj-meta svg{width:15px;height:15px;stroke:var(--accent-light);flex-shrink:0}#modal-portfolio .section-tag{color:var(--accent-light);border-left:2px solid var(--border-medium);flex-shrink:0;margin:0;padding-left:14px;font-size:clamp(12px,1.5vh,13.5px);line-height:1.6}#modal-portfolio .thankyou{padding:0}#modal-portfolio .thankyou-photo,#modal-portfolio .thankyou-photo.photo{border:none;border-radius:0;width:62%;height:100%;position:absolute;inset:0}#modal-portfolio .thankyou-photo .photo{border:none;border-radius:0;width:100%;height:100%}#modal-portfolio .thankyou-body{z-index:2;background:linear-gradient(180deg, #14171d66, var(--bg-primary) 22%);box-sizing:border-box;flex-direction:column;justify-content:center;gap:clamp(20px,4vh,36px);width:46%;min-width:220px;height:100%;margin-left:auto;padding:clamp(24px,5vw,48px);display:flex;position:relative}#modal-portfolio .thankyou-title{font-family:var(--font-display);margin:0;font-size:clamp(2rem,7vw,3rem);font-weight:700;line-height:1.05}#modal-portfolio .thankyou-title .accent{color:var(--accent-light)}#modal-portfolio .thankyou-contact{color:var(--text-secondary);font-size:13.5px;line-height:1.8}#modal-portfolio .thankyou-actions{flex-wrap:wrap;align-items:center;gap:12px;display:flex}#modal-portfolio .thankyou-back{font-family:var(--font-display);color:var(--bg-primary);background:var(--accent-light);cursor:pointer;border:none;border-radius:8px;align-self:flex-start;align-items:center;gap:8px;padding:11px 20px;font-size:13.5px;font-weight:600;text-decoration:none;transition:transform .16s,opacity .16s;display:inline-flex}#modal-portfolio .thankyou-back:hover{opacity:.95;transform:translateY(-1px)}#modal-portfolio .thankyou-back--overview{background:var(--bg-tertiary);color:var(--text-primary);border:1px solid var(--border-medium)}#modal-portfolio .thankyou-back--overview:hover{background:var(--bg-secondary);border-color:var(--accent-light);color:var(--accent-light)}#modal-portfolio a:focus-visible,#modal-portfolio button:focus-visible{outline:2px solid var(--accent-light);outline-offset:2px}#modal-frontface .modal-container{border-top-color:var(--accent-silver);box-shadow:0 25px 60px -15px #000c,0 0 1px 1px #d6dce547}#modal-frontface .modal-tag,#modal-frontface .placeholder-icon{color:var(--accent-silver-light)}#modal-frontface .modal-placeholder-box{border-color:#d6dce547}#modal-frontface .modal-close-btn:hover{border-color:var(--accent-silver);color:var(--accent-silver-light)}#modal-service .modal-container{border-top-color:var(--accent-red);flex-direction:column;max-width:720px;max-height:calc(100dvh - 3rem);display:flex;box-shadow:0 25px 60px -15px #000c,0 0 1px 1px #c83d3447}#modal-service .modal-body{overscroll-behavior:contain;flex:1;padding:.5rem .25rem .75rem;overflow-y:auto}#modal-service .modal-tag{color:var(--accent-red-light)}#modal-service .modal-close-btn:hover{border-color:var(--accent-red);color:var(--accent-red-light)}.service-footer-inner{justify-content:space-between;align-items:center;width:100%;display:flex}.service-modal-footer .service-back-arrow,.service-modal-footer .btn-text-mobile{display:none}.service-modal-footer .btn-text-desktop{display:inline}.service-view{animation:.18s cubic-bezier(.16,1,.3,1) serviceViewFade}.service-view[hidden]{display:none!important}@keyframes serviceViewFade{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.service-cards-list{flex-direction:column;gap:1rem;display:flex}.service-card{border:1px solid var(--border-medium);border-left:4px solid var(--border-medium);border-radius:var(--radius-md);width:100%;color:var(--text-primary);text-align:left;cursor:pointer;transition:all var(--transition-fast);background:#141820bf;justify-content:space-between;align-items:center;gap:1.25rem;padding:1.25rem 1.5rem;display:flex}.service-card:hover{border-color:#c83d3466;border-left-color:var(--accent-red);box-shadow:0 8px 24px -6px #0006, 0 0 16px var(--accent-red-glow);background:#c83d3414;transform:translateY(-2px)}.service-card:focus-visible{outline:2px solid var(--accent-red-light);outline-offset:2px;border-left-color:var(--accent-red);background:#c83d3414}.service-card:active{background:#c83d3424;transform:translateY(0)}.service-card-text{flex-direction:column;gap:.4rem;min-width:0;display:flex}.service-card-title{font-family:var(--font-display), "Noto Sans Myanmar", sans-serif;color:var(--text-primary);font-size:1.1rem;font-weight:700;line-height:1.35}.service-card-subtitle{font-family:var(--font-body), "Noto Sans Myanmar", sans-serif;color:var(--text-secondary);font-size:.875rem;line-height:1.8;letter-spacing:0!important;text-transform:none!important}.service-card-chevron{border:1px solid var(--border-subtle);width:36px;height:36px;color:var(--text-muted);transition:all var(--transition-fast);background:#ffffff0a;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.service-card-chevron svg{width:18px;height:18px;transition:transform var(--transition-fast)}.service-card:hover .service-card-chevron{background:var(--accent-red-subtle);border-color:var(--accent-red);color:var(--accent-red-light)}.service-card:hover .service-card-chevron svg{transform:translate(3px)}.service-back-btn{border:1px solid var(--border-subtle);color:var(--text-secondary);font-family:var(--font-display), "Noto Sans Myanmar", sans-serif;border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast);background:#ffffff0a;align-items:center;gap:.5rem;margin-bottom:1.25rem;padding:.45rem .9rem;font-size:.8125rem;font-weight:600;display:inline-flex}.service-back-btn svg{width:15px;height:15px;transition:transform var(--transition-fast)}.service-back-btn:hover{background:var(--accent-red-subtle);border-color:var(--accent-red);color:var(--accent-red-light)}.service-back-btn:hover svg{transform:translate(-3px)}.service-back-btn:focus-visible{outline:2px solid var(--accent-red-light);outline-offset:2px}.service-detail-header{flex-direction:column;gap:.35rem;margin-bottom:1rem;display:flex}.service-kicker{font-family:var(--font-display);letter-spacing:.12em;text-transform:uppercase;color:var(--accent-red-light);font-size:.75rem;font-weight:700}.service-detail-title{font-family:var(--font-display), "Noto Sans Myanmar", sans-serif;color:var(--text-primary);outline:none;font-size:1.35rem;font-weight:700;line-height:1.3}.service-intro{font-family:var(--font-body), "Noto Sans Myanmar", sans-serif;color:var(--text-secondary);margin-bottom:1.5rem;font-size:.9375rem;line-height:1.85;letter-spacing:0!important;text-transform:none!important}.service-feature-list{flex-direction:column;gap:.85rem;margin-bottom:1.75rem;padding:0;list-style:none;display:flex}.service-feature-item{border:1px solid var(--border-subtle);border-radius:var(--radius-sm);background:#14182080;align-items:flex-start;gap:.75rem;padding:.85rem 1rem;display:flex}.feature-bullet{background:var(--accent-red-light);width:6px;height:6px;box-shadow:0 0 8px var(--accent-red-glow);border-radius:50%;flex-shrink:0;margin-top:.65rem}.feature-text{font-family:var(--font-body), "Noto Sans Myanmar", sans-serif;color:var(--text-secondary);font-size:.9rem;line-height:1.8;letter-spacing:0!important;text-transform:none!important}.feature-lead{font-family:var(--font-display);color:var(--text-primary);letter-spacing:.02em;font-weight:700}.service-contact-block{border:1px solid var(--border-subtle);border-left:4px solid var(--accent-red);border-radius:0 var(--radius-md) var(--radius-md) 0;background:#141820cc;margin-top:.5rem;padding:1.25rem 1.35rem}.contact-block-heading{font-family:var(--font-display), "Noto Sans Myanmar", sans-serif;color:var(--text-primary);margin-bottom:.5rem;font-size:.95rem;font-weight:700;letter-spacing:0!important;text-transform:none!important}.contact-heading-en{font-family:var(--font-display);letter-spacing:.05em;text-transform:uppercase;color:var(--accent-red-light)}.contact-block-text{font-family:var(--font-body), "Noto Sans Myanmar", sans-serif;color:var(--text-secondary);margin-bottom:1.15rem;font-size:.875rem;line-height:1.85;letter-spacing:0!important;text-transform:none!important}.service-contact-actions{flex-direction:column;gap:.85rem;display:flex}.contact-icons-row{align-items:center;gap:1.25rem;display:flex}.contact-icon-btn{flex-direction:column;align-items:center;gap:.35rem;min-width:48px;min-height:48px;text-decoration:none;display:flex}.contact-icon-btn .icon-circle{border:1px solid var(--border-medium);width:48px;height:48px;color:var(--text-secondary);transition:all var(--transition-fast);background:#212631d9;border-radius:50%;justify-content:center;align-items:center;display:flex}.contact-icon-btn .icon-circle svg{width:22px;height:22px}.contact-icon-btn .icon-label{font-family:var(--font-display);color:var(--text-muted);transition:color var(--transition-fast);font-size:.72rem;font-weight:500}.contact-icon--viber:hover .icon-circle,.contact-icon--viber:focus-visible .icon-circle{color:#7360f2;background:#7360f224;border-color:#7360f2;transform:translateY(-2px);box-shadow:0 4px 14px #7360f259}.contact-icon--viber:hover .icon-label,.contact-icon--viber:focus-visible .icon-label{color:#7360f2}.contact-icon--whatsapp:hover .icon-circle,.contact-icon--whatsapp:focus-visible .icon-circle{color:#25d366;background:#25d36624;border-color:#25d366;transform:translateY(-2px);box-shadow:0 4px 14px #25d36659}.contact-icon--whatsapp:hover .icon-label,.contact-icon--whatsapp:focus-visible .icon-label{color:#25d366}.contact-icon--phone:hover .icon-circle,.contact-icon--phone:focus-visible .icon-circle{border-color:var(--accent-red);color:var(--accent-red-light);background:var(--accent-red-subtle);box-shadow:0 4px 14px var(--accent-red-glow);transform:translateY(-2px)}.contact-icon--phone:hover .icon-label,.contact-icon--phone:focus-visible .icon-label{color:var(--accent-red-light)}.contact-icon-btn:focus-visible{outline:none}.contact-phone-text{font-family:var(--font-display);letter-spacing:.04em;padding-top:.25rem;font-size:.9rem;font-weight:600}.phone-number-link{color:var(--text-primary);transition:color var(--transition-fast);text-decoration:none}.phone-number-link:hover{color:var(--accent-red-light);text-decoration:underline}.modal-header{border-bottom:1px solid var(--border-subtle);justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.25rem;padding-bottom:1rem;display:flex}.modal-title-group{flex-direction:column;gap:.25rem;display:flex}.modal-tag{font-family:var(--font-display);letter-spacing:.12em;text-transform:uppercase;color:var(--accent-yellow);font-size:.75rem;font-weight:600}.modal-title{font-family:var(--font-display);color:var(--text-primary);letter-spacing:-.01em;font-size:1.45rem;font-weight:700}.modal-close-btn{border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-muted);cursor:pointer;width:34px;height:34px;transition:all var(--transition-fast);background:0 0;flex-shrink:0;justify-content:center;align-items:center;display:flex}.modal-close-btn:hover{border-color:var(--accent-green);color:var(--text-primary);background:#ffffff14}.modal-close-btn svg{width:17px;height:17px}.modal-body{padding:.75rem 0;position:relative}.modal-placeholder-box{border-radius:var(--radius-sm);text-align:center;background:#14171da6;border:1px dashed #d6dce540;flex-direction:column;align-items:center;gap:.75rem;padding:2rem 1.5rem;display:flex}.placeholder-icon{width:42px;height:42px;color:var(--accent-silver);opacity:.85}.placeholder-heading{font-family:var(--font-display);color:var(--text-primary);font-size:1.125rem;font-weight:600}.placeholder-note{color:var(--text-muted);max-width:420px;font-size:.875rem;line-height:1.55}.modal-footer{border-top:1px solid var(--border-subtle);color:var(--text-muted);font-size:.8125rem;font-family:var(--font-display);justify-content:space-between;align-items:center;margin-top:1.5rem;padding-top:1rem;display:flex}.modal-footer .btn-modal-close{border:1px solid var(--border-subtle);color:var(--text-secondary);font-family:var(--font-display);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast);background:#ffffff0d;padding:.4rem .85rem;font-size:.8125rem}.modal-footer .btn-modal-close:hover{background:var(--accent-green-subtle);border-color:var(--accent-green);color:var(--accent-green-light)}.modal-footer .btn-modal-close:active{background:var(--accent-red-subtle);border-color:var(--accent-red);color:var(--accent-red-light)}@keyframes heroTitleFade{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes dockItemEntrance{0%{opacity:0;transform:translateY(24px)scale(.82)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes floatPanelOne{0%{transform:rotate(-7deg)translate(0)}to{transform:rotate(-5deg)translate(25px,-35px)}}@keyframes floatPanelTwo{0%{transform:rotate(6deg)translate(0)}to{transform:rotate(8deg)translate(-30px,-25px)}}@keyframes floatPanelThree{0%{transform:rotate(-12deg)translate(0)}to{transform:rotate(-9deg)translate(-20px,30px)}}@media (width<=768px){.site-header{grid-template-columns:44px 1fr 44px;align-items:center;height:60px;padding:0 .85rem;display:grid}.header-brand{display:contents}#brand-puzzle-icon,.brand-puzzle-icon{grid-column:1;justify-content:center;justify-self:start;align-items:center;position:relative;flex-shrink:0!important;width:36px!important;min-width:36px!important;height:36px!important;min-height:36px!important;display:flex!important}.brand-puzzle-icon canvas{flex-shrink:0!important;width:36px!important;min-width:36px!important;height:36px!important;min-height:36px!important;display:block!important}.brand-text{text-align:center;white-space:nowrap;letter-spacing:.05em;text-overflow:ellipsis;grid-column:2;justify-self:center;min-width:0;font-size:clamp(1.25rem,5vw,1.38rem);font-weight:700;overflow:hidden}.header-specs{display:none!important}.header-avatar{border:1.5px solid var(--accent-yellow);width:38px;min-width:38px;height:38px;min-height:38px;box-shadow:0 0 10px var(--accent-yellow-glow);transition:transform var(--transition-fast), border-color var(--transition-fast);border-radius:50%;flex-shrink:0;grid-column:3;justify-content:center;justify-self:end;align-items:center;text-decoration:none;display:flex;overflow:hidden}.header-avatar:hover,.header-avatar:active{border-color:var(--accent-yellow-light);transform:scale(1.06)}.header-avatar-img{object-fit:cover;border-radius:50%;width:100%;height:100%;display:block}.main-wrapper{width:100%;padding:.5rem 0;overflow-x:hidden}.hero-stage{width:100%;max-width:100%;margin:0;padding:0}.hero-title{margin-bottom:clamp(.5rem,1.8dvh,1rem);padding:0 1rem;font-size:clamp(1.1rem,4.2vw,1.35rem)}.puzzle-hero-container{z-index:10;width:100vw;max-width:100%;height:clamp(320px,48dvh,440px);margin:0 auto;padding:0;position:relative}.scroll-zoom-cue{z-index:20;margin-top:clamp(.5rem,1.8dvh,1rem);position:relative}.site-footer{justify-content:center;align-items:center;padding:.75rem 1rem;display:flex}.footer-copy{display:none!important}.footer-socials{flex-wrap:wrap;justify-content:center;align-items:center;gap:1.25rem;width:100%;display:flex}.social-link{width:36px;min-width:36px;height:36px;min-height:36px}.social-link svg{width:17px;height:17px}.cv-modal-header{padding:.75rem max(1rem, env(safe-area-inset-right)) .75rem max(1rem, env(safe-area-inset-left));max-height:25dvh;overflow-y:auto}.cv-header-inner{gap:.75rem}.cv-header-profile-lockup{gap:.75rem;min-width:0}.cv-photo-wrapper{width:68px;height:68px;padding:2px}.cv-header-intro{min-width:0}.cv-modal-header .modal-close-btn{width:44px;min-width:44px;height:44px;min-height:44px}.cv-modal-body{padding:1.5rem max(1rem, env(safe-area-inset-right)) 3rem max(1rem, env(safe-area-inset-left))}.cv-contact-ribbon{flex-direction:column;align-items:flex-start;gap:.55rem;padding:.75rem 1rem}.contact-ribbon-item{overflow-wrap:anywhere;word-break:break-word;width:100%;font-size:.8125rem}.contact-ribbon-item a{overflow-wrap:anywhere;word-break:break-all}.cv-summary-section{margin-bottom:1.5rem;padding:1rem 1.1rem}.cv-summary-text{overflow-wrap:anywhere;word-break:break-word;font-size:.9375rem;line-height:1.6}.cv-layout-grid{grid-template-columns:1fr;gap:1.5rem}.cv-timeline{padding-left:1.25rem}.cv-timeline:before{left:4px}.timeline-flowing-light{left:5px}.timeline-marker{width:10px;height:10px;top:4px;left:-1.25rem}.timeline-role{overflow-wrap:anywhere;word-break:break-word;font-size:.98rem;line-height:1.35}.timeline-company{overflow-wrap:anywhere;word-break:break-word;font-size:.8125rem}.timeline-desc{overflow-wrap:anywhere;word-break:break-word;font-size:.9375rem;line-height:1.55}.cv-edu-header{flex-wrap:wrap;row-gap:.2rem}.cv-edu-degree{font-size:.875rem}.cv-edu-institution{overflow-wrap:anywhere;word-break:break-word;font-size:.8125rem}.cv-skills-chips,.cv-lang-item{flex-wrap:wrap;gap:.4rem}.cv-modal-footer{padding:1rem max(1rem, env(safe-area-inset-right)) max(1.25rem, env(safe-area-inset-bottom)) max(1rem, env(safe-area-inset-left))}.cv-footer-inner{flex-direction:column;align-items:stretch;gap:.85rem}.cv-footer-spec{text-align:center;flex-wrap:wrap;justify-content:center;font-size:.75rem}.cv-footer-actions{flex-direction:row;gap:.65rem;width:100%;display:flex}.btn-cv-download,.cv-footer-actions .btn-modal-close{text-align:center;flex:1;justify-content:center;min-height:44px;padding:.5rem .75rem;font-size:.8125rem}#modal-portfolio .cover-photo img,.cover-photo img{object-position:var(--cover-photo-position-mobile);transform:scale(var(--cover-photo-zoom-mobile));transform-origin:var(--cover-photo-position-mobile)}html.portfolio-page-active,body.portfolio-page-active,#modal-portfolio main{scroll-snap-type:y mandatory}#modal-portfolio section.page{scroll-snap-stop:always;justify-content:flex-start;padding:clamp(48px,6.5vh,64px) clamp(16px,4vw,24px) clamp(18px,2.5vh,28px)}#modal-portfolio section.cover,#modal-portfolio section.thankyou{padding:0}#modal-portfolio .page-inner{justify-content:flex-start;gap:clamp(10px,2vh,16px);height:100%}#modal-portfolio .proj-hero{aspect-ratio:4/3;width:100%;height:auto;max-height:clamp(180px,40vh,420px);margin:0 auto}#modal-portfolio .proj-thumbs .photo,#modal-portfolio .proj-thumbs .photo-slot{aspect-ratio:4/3;height:auto;max-height:clamp(90px,18vh,180px)}#modal-portfolio .drafting-hero-wrap{flex-direction:column;width:100%;display:flex}#modal-portfolio .drafting-hero-wrap .drafting-hero{aspect-ratio:4/3;width:100%;height:auto;max-height:clamp(180px,40vh,420px);margin:0 auto}#modal-portfolio .drafting-thumbs{grid-template-columns:repeat(2,1fr);gap:clamp(10px,2vh,16px);width:100%;display:grid}#modal-portfolio .drafting-thumbs .drafting-item:first-child{flex-direction:column;grid-column:1/-1;width:100%;display:flex}#modal-portfolio .drafting-thumbs .drafting-item:first-child .photo{aspect-ratio:4/3;width:100%;height:auto;max-height:clamp(180px,40vh,420px);margin:0 auto}#modal-portfolio .drafting-thumbs .drafting-item:nth-child(2),#modal-portfolio .drafting-thumbs .drafting-item:nth-child(3){flex-direction:column;grid-column:span 1;width:100%;display:flex}#modal-portfolio .drafting-thumbs .drafting-item:nth-child(2) .photo,#modal-portfolio .drafting-thumbs .drafting-item:nth-child(3) .photo{aspect-ratio:4/3;width:100%;height:auto;max-height:clamp(90px,18vh,180px)}#modal-portfolio #p-render .proj-thumbs{grid-template-columns:repeat(2,1fr);gap:clamp(10px,2vh,16px);width:100%;display:grid}#modal-portfolio #p-render .proj-thumbs .photo:first-child,#modal-portfolio #p-render .proj-thumbs .photo:nth-child(2){aspect-ratio:4/3;grid-column:1/-1;width:100%;height:auto;max-height:clamp(180px,40vh,420px);margin:0 auto}#modal-portfolio #p-render .proj-thumbs .photo:nth-child(3),#modal-portfolio #p-render .proj-thumbs .photo:nth-child(4){aspect-ratio:4/3;grid-column:span 1;width:100%;height:auto;max-height:clamp(90px,18vh,180px)}#modal-portfolio .proj-head .label{font-size:clamp(1.35rem,5vw,1.8rem)}#modal-portfolio .proj-head .num{font-size:clamp(1.6rem,6.2vw,2.2rem)}#modal-portfolio .proj-desc{font-size:clamp(13px,3.6vw,14.5px)}#modal-portfolio .proj-meta{font-size:clamp(11.5px,3.2vw,13px)}#modal-portfolio .thankyou-photo,#modal-portfolio .thankyou-photo.photo{z-index:1;border:none;border-radius:0 0 0 28px;width:100%;height:auto;position:absolute;inset:0 0 clamp(220px,36vh,290px);overflow:hidden}#modal-portfolio .thankyou-photo img{object-fit:cover;width:100%;height:100%;display:block;position:absolute;inset:0}#modal-portfolio .thankyou-body{z-index:2;background:linear-gradient(180deg, #0e111600 0%, #0e1116e0 18%, var(--bg-primary) 36%);text-align:center;box-sizing:border-box;flex-direction:column;align-items:center;gap:clamp(14px,2.5vh,20px);width:100%;max-width:560px;height:auto;margin-top:auto;margin-left:auto;margin-right:auto;padding:clamp(24px,4vh,36px) clamp(20px,5vw,36px);display:flex;position:relative}#modal-portfolio .thankyou-title,#modal-portfolio .thankyou-contact{text-align:center;width:100%}#modal-portfolio .thankyou-actions{flex-wrap:wrap;justify-content:center;align-items:center;gap:10px;width:100%;display:flex}#modal-portfolio .thankyou-back{text-align:center;justify-content:center;align-self:auto}html.service-page-active,body.service-page-active{scroll-padding-top:65px;touch-action:auto!important;background-color:var(--bg-primary)!important;height:auto!important;min-height:100dvh!important;overflow:hidden auto!important}body.service-page-active .blueprint-background,body.service-page-active .facade-drift-canvas,body.service-page-active .site-header,body.service-page-active .main-wrapper,body.service-page-active .site-footer{visibility:hidden!important;pointer-events:none!important;z-index:-10!important;opacity:0!important;width:100vw!important;height:100dvh!important;position:fixed!important;top:0!important;left:0!important;overflow:hidden!important}body.service-page-active #modal-service.active{background:var(--bg-primary)!important;-webkit-backdrop-filter:none!important;opacity:1!important;visibility:visible!important;pointer-events:auto!important;z-index:50!important;flex-direction:column!important;width:100%!important;min-height:100dvh!important;padding:0!important;display:flex!important;position:relative!important;inset:auto!important;overflow:visible!important}body.service-page-active #modal-service .modal-container,body.service-page-active #modal-service .service-modal-container{width:100%!important;max-width:100%!important;height:auto!important;min-height:100dvh!important;max-height:none!important;box-shadow:none!important;opacity:1!important;background:0 0!important;border:none!important;border-radius:0!important;flex-direction:column!important;margin:0!important;padding:0!important;display:flex!important;position:relative!important;overflow:visible!important;transform:none!important}body.service-page-active #modal-service .modal-header,body.service-page-active #modal-service .service-modal-header{z-index:100;-webkit-backdrop-filter:blur(18px);border-bottom:1px solid var(--border-subtle);border-top:3px solid var(--accent-red);width:100%;padding:.85rem max(1rem, env(safe-area-inset-right)) .85rem max(1rem, env(safe-area-inset-left));box-sizing:border-box;background:#12161ef5;flex-shrink:0;justify-content:space-between;align-items:center;margin-bottom:0;display:flex;position:sticky;top:0;box-shadow:0 8px 30px #00000073}body.service-page-active #modal-service .modal-title-group{flex-direction:column;gap:.2rem;min-width:0;display:flex}body.service-page-active #modal-service .modal-tag{letter-spacing:.1em;font-size:.72rem}body.service-page-active #modal-service .modal-title{font-size:clamp(1.25rem,4.5vw,1.55rem);line-height:1.2}body.service-page-active #modal-service .modal-close-btn{border-radius:var(--radius-sm);border:1px solid var(--border-subtle);width:44px;min-width:44px;height:44px;min-height:44px;color:var(--text-secondary);background:#ffffff0d;flex-shrink:0;justify-content:center;align-items:center;display:flex}body.service-page-active #modal-service .modal-body,body.service-page-active #modal-service .service-modal-body{box-sizing:border-box;width:100%;max-width:720px;margin:0 auto;height:auto!important;max-height:none!important;padding:1.5rem max(1rem, env(safe-area-inset-right)) 2.75rem max(1rem, env(safe-area-inset-left))!important;flex:1 0 auto!important;overflow:visible!important}body.service-page-active #modal-service .service-card{gap:1rem;padding:1.1rem 1.25rem}body.service-page-active #modal-service .service-card-title{font-size:1.05rem;line-height:1.35}body.service-page-active #modal-service .service-card-subtitle{font-size:.84rem;line-height:1.7}body.service-page-active #modal-service .service-detail-title{font-size:1.2rem;line-height:1.35}body.service-page-active #modal-service .service-intro{font-size:.9rem;line-height:1.8}body.service-page-active #modal-service .service-feature-item{gap:.65rem;padding:.75rem .9rem}body.service-page-active #modal-service .feature-text{font-size:.875rem;line-height:1.75}body.service-page-active #modal-service .service-contact-block{padding:1.1rem 1.15rem}body.service-page-active #modal-service .modal-footer,body.service-page-active #modal-service .service-modal-footer{padding:1rem max(1rem, env(safe-area-inset-right)) max(1.25rem, env(safe-area-inset-bottom)) max(1rem, env(safe-area-inset-left));-webkit-backdrop-filter:blur(18px);border-top:1px solid var(--border-subtle);box-sizing:border-box;background:#12161ef5;flex-shrink:0;width:100%;margin-top:auto}body.service-page-active #modal-service .service-footer-inner{flex-direction:column;align-items:stretch;gap:.85rem;width:100%;max-width:720px;margin:0 auto}body.service-page-active #modal-service .service-footer-spec{text-align:center;color:var(--text-muted);justify-content:center;font-size:.75rem}body.service-page-active #modal-service .service-modal-footer .service-back-arrow{vertical-align:middle;width:14px;height:14px;margin-right:6px;display:inline-block}body.service-page-active #modal-service .service-modal-footer .btn-text-desktop{display:none}body.service-page-active #modal-service .service-modal-footer .btn-text-mobile{display:inline}body.service-page-active #modal-service .service-footer-back-btn{width:100%;min-height:44px;font-family:var(--font-display);color:var(--text-primary);border:1px solid var(--border-medium);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast);background:#ffffff0f;justify-content:center;align-items:center;font-size:.8125rem;font-weight:600;display:flex}body.service-page-active #modal-service .service-footer-back-btn:hover{background:var(--accent-red-subtle);border-color:var(--accent-red);color:var(--accent-red-light)}}@media (width<=480px){.btn-cv-back span{display:none}.btn-cv-back{justify-content:center;padding:.48rem}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.facade-drift-canvas{display:none}#modal-portfolio section.page,#modal-portfolio section.page.is-active{opacity:1!important;transition:none!important;transform:none!important}}#modal-portfolio .photo>img,#modal-portfolio .cover-photo img{object-fit:cover;z-index:0;width:100%;height:100%;display:block;position:absolute;inset:0}#modal-portfolio .photo.has-img>svg,#modal-portfolio .photo.has-img>span{display:none}#modal-portfolio .photo:has(>img.loaded)>svg{display:none}#modal-portfolio .photo:has(>img.loaded)>span{display:none}.header-avatar,.cv-photo-wrapper,#modal-portfolio .photo,#modal-portfolio .cover-photo,#modal-portfolio .photo-slot{background-color:var(--bg-tertiary)}.header-avatar-img,.cv-photo-img,.puzzle-logo-mark img,#modal-portfolio .photo>img,#modal-portfolio .cover-photo img{opacity:0;transition:opacity .25s ease-in-out}.header-avatar-img.loaded,.cv-photo-img.loaded,.puzzle-logo-mark img.loaded,#modal-portfolio .photo>img.loaded,#modal-portfolio .cover-photo img.loaded{opacity:1}.timeline-company .timeline-project-link{color:inherit;text-underline-offset:3px;cursor:pointer;-webkit-text-decoration:underline #3ddc9780;text-decoration:underline #3ddc9780;transition:color .2s,text-decoration-color .2s}.timeline-company .timeline-project-link:after{content:" ↗";opacity:.7;font-size:.85em}.timeline-company .timeline-project-link:hover,.timeline-company .timeline-project-link:focus-visible{color:var(--accent-green-light);-webkit-text-decoration-color:var(--accent-green-light);text-decoration-color:var(--accent-green-light);outline:none}
