:root{font-family:DM Sans,system-ui,sans-serif;color:#202b38;background:#f6f7f9;font-synthesis:none;--ink: #202b38;--muted: #626d7b;--accent: #385dc6;--line: #dfe4eb;--surface: rgba(255, 255, 255, .82);--radius: 24px;--ease: cubic-bezier(.22, 1, .36, 1)}*{box-sizing:border-box}html{scroll-behavior:smooth;scrollbar-gutter:stable}body{margin:0;min-width:280px}body.modal-open{overflow:hidden}button,input,textarea,select{font:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer;color:inherit}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}figure,h1,h2,h3,h4,p{margin:0}p{line-height:1.7}button{border:0}[hidden],#app .is-hidden{display:none!important}:focus-visible{outline:3px solid var(--accent);outline-offset:5px}::selection{background:#dbe5ff;color:#203766}#app{position:relative;isolation:isolate;min-height:100svh;overflow:clip}#app:before{content:"";position:absolute;inset:0 0 auto;height:1050px;z-index:-2;pointer-events:none;background:radial-gradient(ellipse at 85% 35%,#dde8f8 0,transparent 46%),radial-gradient(ellipse at 9% 15%,#eaf1eb 0,transparent 43%)}#app:after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;opacity:.25;background-image:radial-gradient(#b6c0d0 .65px,transparent .65px);background-size:7px 7px;-webkit-mask-image:linear-gradient(#000,transparent 1100px);mask-image:linear-gradient(#000,transparent 1100px)}.dot-row{display:none}.skip-link{position:fixed;top:-70px;left:16px;padding:12px 18px;background:#fff;z-index:100;border-radius:10px}.skip-link:focus{top:12px}.site-header{position:relative;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:24px;width:min(1240px,calc(100% - 96px));margin:auto;min-height:104px;border-bottom:1px solid var(--line)}.wordmark{font-family:Manrope,sans-serif;font-size:35px;font-weight:800;letter-spacing:-3px;padding:6px 10px 10px 0}.wordmark span,.footer-dot,.name-period{color:var(--accent)}.top-bar{display:flex;align-items:center;gap:6px}.top-bar a{position:relative;padding:12px 17px;border-radius:10px;color:var(--muted);font-size:13px;font-weight:600;transition:background .18s,color .18s}.top-bar a.active{color:var(--ink);background:#fff;box-shadow:0 2px 8px #202b3806}.top-bar .nav-contact{border:1px solid #cdd4df;color:var(--ink);margin-left:18px;display:flex;gap:18px}.menu-toggle{display:none}[data-panel]{width:min(1160px,calc(100% - 96px));margin:0 auto;padding:64px 0 80px;min-height:calc(100svh - 204px);animation:panel-in .5s var(--ease) both}.hero{display:grid;grid-template-columns:1.2fr 1fr;align-items:center;column-gap:70px;row-gap:64px;padding-top:clamp(56px,8vh,110px);padding-bottom:28px}.hero-copy{min-width:0}.eyebrow{display:flex;align-items:center;gap:9px;font-size:11px;font-weight:700;letter-spacing:.13em;color:var(--muted);text-transform:uppercase}.hero-copy>.eyebrow{display:inline-flex;background:#fff9;border:1px solid #d9e3dd;border-radius:30px;padding:7px 12px;font-size:10px;letter-spacing:.07em;margin-bottom:28px}.status-dot{flex:0 0 6px;width:6px;height:6px;background:#488263;border-radius:50%;box-shadow:0 0 0 3px #48826312}h1,h2,h3,h4{font-family:Manrope,system-ui,sans-serif}.hero h1{font-size:clamp(44px,5.1vw,72px);line-height:1.12;letter-spacing:-.065em;font-weight:800}.hero-role{margin-top:22px;font-family:Manrope,sans-serif;font-size:clamp(25px,2.65vw,37px);line-height:1.35;letter-spacing:-.045em;font-weight:500}.hero-role>span{color:#788699}.hero-intro{max-width:435px;color:var(--muted);font-size:15px;margin-top:22px}.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}.button{display:inline-flex;align-items:center;justify-content:center;gap:24px;min-height:48px;padding:13px 21px;border:1px solid transparent;border-radius:10px;font-size:13px;font-weight:600;line-height:1.4;transition:transform .22s var(--ease),background .22s,box-shadow .22s}.button.primary,.send-button{background:var(--ink);color:#fff;box-shadow:0 4px 8px #202b3810}.button.secondary{background:#ffffff6b;border-color:#cdd4df}.social-links{display:flex;flex-wrap:wrap;gap:24px;margin-top:31px}.social-links a{display:inline-flex;align-items:center;gap:7px;color:var(--muted);font-size:11px;min-height:34px;transition:color .18s}.social-icon{width:16px;height:16px;object-fit:contain;opacity:.7}.resume-download-icon{position:relative;border-bottom:1.5px solid currentColor;width:12px;height:13px}.resume-download-icon:before{content:"";position:absolute;width:1.5px;height:8px;background:currentColor;left:5px;top:-1px}.resume-download-icon:after{content:"";position:absolute;width:5px;height:5px;border:solid currentColor;border-width:0 1.5px 1.5px 0;transform:rotate(45deg);left:3px;top:1px}.hero-visual{position:relative;width:100%;max-width:420px;justify-self:end;padding:15px 10px 35px}.profile-frame{position:relative;width:100%;aspect-ratio:.94;border:7px solid #fff;border-radius:160px 160px 24px 24px;overflow:hidden;background:#dce7ef;box-shadow:0 24px 60px #3f59771a;transform:rotate(3deg)}.profile-frame img{width:100%;height:100%;object-fit:cover;object-position:50% 50%}.visual-orbit{position:absolute;inset:-12px -15px 52px;border:1px solid #c8d4e1;border-radius:180px 180px 40px 40px;transform:rotate(-5deg)}.profile-note{position:absolute;left:-36px;bottom:54px;display:flex;align-items:center;gap:12px;padding:16px 20px;background:#fffffff2;border:1px solid white;border-radius:14px;box-shadow:0 12px 32px #20376615;font-size:10px;color:var(--muted);animation:note-in .7s .15s var(--ease) both}.profile-note strong{display:block;color:var(--ink);font-size:13px;margin-top:4px;font-weight:600}.note-icon{display:grid;place-items:center;width:37px;height:37px;color:var(--accent);background:#edf1fb;border-radius:10px;font-size:16px;font-weight:600}.visual-caption{position:absolute;bottom:0;width:100%;display:flex;align-items:center;justify-content:center;gap:9px;color:var(--muted);font-size:10px}.hero-stack{grid-column:1 / -1;display:flex;align-items:center;gap:45px;padding:28px 0;border-top:1px solid var(--line)}.hero-stack>span{font-size:9px;letter-spacing:.14em;color:var(--muted);white-space:nowrap}.hero-stack>div{display:flex;flex:1;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px 28px;color:#69778b;font-family:Manrope,sans-serif;font-weight:700;font-size:17px;letter-spacing:-.03em}.site-footer{display:flex;justify-content:space-between;align-items:center;gap:20px;min-height:100px;width:min(1240px,calc(100% - 96px));margin:auto;border-top:1px solid var(--line);font-size:11px;color:var(--muted)}.site-footer>span{font-family:Manrope,sans-serif;font-weight:800;color:var(--ink);font-size:14px}.site-footer a{display:inline-flex;gap:18px;min-height:44px;align-items:center}.skills-header,.projects-header,.certifications-header{margin-bottom:36px}.skills-header h2,.projects-header h2,.certifications-header h2,.contact-form h2,.about-intro-card h2{font-size:clamp(30px,3.6vw,46px);line-height:1.18;letter-spacing:-.045em;font-weight:700}.skills-header .eyebrow,.projects-header .eyebrow,.certifications-header .eyebrow,.contact-form .eyebrow{margin-bottom:14px}.skills-header>p:not(.eyebrow),.projects-header>p:not(.eyebrow),.certifications-header-copy>p:not(.eyebrow){max-width:620px;font-size:14px;color:var(--muted);margin-top:16px}.about-intro-card,.about-focus-grid article,.about-direction-card,.project-card,.certification-card,.learning-certification-card,.contact-form,.contact-card{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface)}.about-page{display:grid;grid-template-columns:1fr 300px;grid-template-areas:"intro direction" "focus focus";gap:24px;align-content:start}.about-intro-card{grid-area:intro;padding:40px}.about-kicker{color:var(--accent);font-size:11px;letter-spacing:.13em;text-transform:uppercase;font-weight:700;margin-bottom:20px}.about-intro-card h2{font-size:clamp(28px,3vw,40px);margin-bottom:24px}.about-intro-card>p:not(.about-kicker),.about-direction-card p,.about-focus-grid p{color:var(--muted);font-size:14px}.about-intro-card p+p{margin-top:16px}.about-direction-card{grid-area:direction;padding:30px;background:#e8eef7;align-self:start}.about-direction-card h3{margin-bottom:18px}.about-focus-grid{grid-area:focus;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;counter-reset:focus}.about-focus-grid article{padding:26px}.about-focus-grid article:before{counter-increment:focus;content:"0" counter(focus);display:block;color:var(--accent);font-size:11px;margin-bottom:28px}.about-focus-grid h3{font-size:16px;line-height:1.5;margin-bottom:12px}.skills-groups{display:grid;gap:32px}.skill-group{min-width:0}.skill-divider{display:flex;align-items:center;gap:16px;margin-bottom:12px}.skill-divider h3{font-size:14px;white-space:nowrap}.skill-divider span:first-child{display:none}.skill-divider span:last-child{flex:1;height:1px;background:var(--line)}.skill-row-shell{position:relative;min-width:0}.skill-card-row{display:flex;gap:12px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x proximity;padding:8px 2px 16px;scrollbar-width:thin;scrollbar-color:#bdc9dc transparent}.skill-card{flex:0 0 116px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;min-height:122px;padding:18px 10px;background:var(--surface);border:1px solid var(--line);border-radius:16px;scroll-snap-align:start;transition:transform .22s var(--ease),border-color .22s,box-shadow .22s}.skill-logo{width:43px;height:43px;object-fit:contain}.skill-logo-placeholder{display:grid;place-items:center;width:43px;height:43px;border-radius:10px;background:#edf1fb;font-weight:800;color:var(--accent)}.skill-card p{text-align:center;font-size:11px;font-weight:600}.skill-row-control{position:absolute;top:43px;z-index:2;width:44px;height:44px;border-radius:50%;background:#fff;box-shadow:0 3px 14px #202b3820;border:1px solid var(--line)}.skill-row-control.previous{left:-16px}.skill-row-control.next{right:-16px}.skill-row-control:before{content:"";display:block;width:7px;height:7px;border:solid var(--ink);border-width:1.5px 1.5px 0 0;transform:rotate(45deg);margin:auto}.skill-row-control.previous:before{transform:rotate(-135deg)}.project-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.project-card{overflow:hidden;display:flex;flex-direction:column;transition:box-shadow .24s,transform .24s var(--ease)}.project-media{margin:16px 16px 0;aspect-ratio:16 / 9;overflow:hidden;border-radius:14px;background:#eef2f7}.project-media button,.project-architecture-figure button{width:100%;height:100%;display:block;padding:0;background:#fff;cursor:zoom-in}.project-media img{width:100%;height:100%;object-fit:contain;transition:transform .4s var(--ease)}.project-copy{padding:26px;display:flex;flex-direction:column;flex:1}.project-kicker{color:var(--accent);text-transform:uppercase;font-size:10px;font-weight:700;letter-spacing:.11em;margin-bottom:8px}.project-copy h3{font-size:22px;letter-spacing:-.035em;line-height:1.3;margin-bottom:12px}.project-copy>p:not(.project-kicker){font-size:13px;color:var(--muted)}.project-tags{display:flex;flex-wrap:wrap;gap:6px;margin:20px 0 24px}.project-tags span{padding:5px 9px;background:#edf1f6;border-radius:6px;font-size:10px;color:#52637a}.project-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:auto}.project-actions .button{min-height:44px;font-size:11px;padding:11px 16px}.project-detail-page{position:relative;padding:32px;border:1px solid var(--line);background:#ffffff80;border-radius:var(--radius)}.project-detail-page>h2{font-size:clamp(21px,3vw,32px);letter-spacing:-.035em;margin:0 48px 28px 0}.project-detail-layout{display:grid;grid-template-columns:minmax(0,1fr) 190px;align-items:start;gap:28px}.project-detail-content{min-width:0;padding:28px;border:1px solid var(--line);border-radius:16px;background:#fff}.project-detail-content h3{font-size:24px;margin-bottom:20px}.project-detail-content h4{font-size:16px;margin:24px 0 12px}.project-detail-content p,.project-detail-content ol{font-size:14px;line-height:1.8;color:var(--muted);overflow-wrap:anywhere}.project-detail-content p+p{margin-top:18px}.project-detail-content ol{padding-left:22px}.project-detail-content li+li{margin-top:8px}.project-detail-content a{color:var(--accent);text-decoration:underline}.project-architecture-figure{margin-bottom:24px;overflow:hidden;border:1px solid var(--line);border-radius:10px}.project-architecture-figure img{width:100%}.project-detail-menu{position:sticky;top:24px;display:flex;flex-direction:column;gap:8px}.project-detail-menu button,.project-detail-menu select{text-align:left;padding:13px 15px;border:1px solid var(--line);border-radius:9px;background:#fff;font-size:12px;min-height:44px;max-width:100%}.project-detail-menu button.active{background:var(--ink);color:#fff;border-color:var(--ink)}.certifications-header{display:flex;align-items:end;justify-content:space-between;gap:24px}.certification-segmented-control{display:flex;flex-shrink:0;gap:4px;background:#e9edf3;border:1px solid var(--line);border-radius:12px;padding:4px}.certification-segmented-control button{padding:10px 19px;min-height:40px;border-radius:8px;background:transparent;font-size:12px;color:var(--muted);transition:background .2s,box-shadow .2s}.certification-segmented-control button.active{background:#fff;color:var(--ink);box-shadow:0 2px 7px #202b3810}.certification-segmented-control button:disabled{display:inline-flex;align-items:center;gap:8px;color:#8a94a3;cursor:not-allowed}.segment-status{padding:3px 6px;border:1px solid #cfd6e1;border-radius:999px;font-size:8px;font-weight:700;letter-spacing:.06em;line-height:1;text-transform:uppercase}.certification-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.certification-card{display:grid;grid-template-columns:120px minmax(0,1fr);align-items:center;gap:26px;padding:30px}.certification-badge{margin:0}.certification-badge img{width:100%;aspect-ratio:1;object-fit:contain}.certification-copy h3{font-size:19px;letter-spacing:-.025em;line-height:1.4}.certification-copy p{color:var(--muted);font-size:12px;margin-top:9px}.certification-copy button{padding:10px 0;margin-top:10px;min-height:44px;font-size:12px;color:var(--accent);background:transparent;text-decoration:underline;text-underline-offset:4px}.certification-learning-list{display:grid;gap:20px}.learning-certification-card{display:grid;grid-template-columns:180px minmax(0,1fr);align-items:center;gap:16px 28px;padding:24px}.learning-certification-media{grid-row:span 2;padding:0;background:#fff;border:1px solid var(--line);border-radius:10px;overflow:hidden;cursor:zoom-in}.learning-certification-media img{width:100%}.learning-certification-symbol{display:grid;place-items:center;align-content:center;gap:12px;min-height:128px;padding:22px;background:linear-gradient(145deg,#f9fbff,#eef3fb);cursor:default}.learning-certification-symbol img{width:64px;height:64px;object-fit:contain}.learning-certification-symbol figcaption{color:#536176;font-size:9px;font-weight:800;letter-spacing:.12em;text-align:center;text-transform:uppercase}.learning-certification-copy h3{font-size:20px;line-height:1.4;margin-bottom:10px}.learning-certification-copy p{font-size:13px;color:var(--muted)}.learning-certification-date{font-size:11px;color:var(--accent)}.contact-page{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(0,1fr);gap:24px;align-items:start}.contact-form{padding:36px}.contact-form>p:not(.eyebrow):not(.form-status){font-size:13px;color:var(--muted);margin:18px 0 28px}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.contact-form label{display:flex;flex-direction:column;gap:9px;min-width:0;font-size:12px;font-weight:600}.contact-form>label{margin-top:20px}.contact-form input,.contact-form textarea{width:100%;min-width:0;background:#f8f9fb;border:1px solid #dce2eb;border-radius:9px;padding:13px 14px;font-size:14px;font-weight:400;color:var(--ink);transition:border-color .18s,box-shadow .18s}.contact-form input:focus,.contact-form textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #385dc614}.contact-form textarea{min-height:160px;resize:vertical;line-height:1.6}.contact-form ::placeholder{color:#778291;opacity:1}.form-actions{display:flex;justify-content:end;gap:12px;margin-top:24px}.form-actions button{padding:13px 22px;min-height:46px;border-radius:9px;font-size:12px;font-weight:600}.clear-button{background:#eef1f5}.send-button:disabled{opacity:.55;cursor:wait}.form-status{margin-top:20px;padding:12px;font-size:13px;border-radius:8px;background:#edf1fb;color:#294b9a}.form-status[data-state=error]{background:#fff1ee;color:#a43b27}.contact-success-toast{position:fixed;top:118px;right:max(24px,calc((100vw - 1240px)/2));z-index:60;display:grid;grid-template-columns:34px minmax(0,1fr) 32px;align-items:center;gap:13px;width:min(420px,calc(100vw - 48px));padding:16px;border:1px solid #bad8c6;border-radius:14px;background:#f4fbf7;box-shadow:0 16px 40px #202b3824;color:#214b34;animation:toast-in .28s var(--ease) both}.contact-success-icon{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#3f7d59;color:#fff}.contact-success-icon:before{content:"✓";font-size:18px;font-weight:700}.contact-success-toast strong{display:block;font-size:14px}.contact-success-toast p{margin-top:2px;color:#4e6859;font-size:12px;line-height:1.5}.contact-success-toast button{position:relative;width:32px;height:32px;border-radius:50%;background:transparent}.contact-success-toast button:before,.contact-success-toast button:after{content:"";position:absolute;top:50%;left:50%;width:13px;height:1.5px;background:#4e6859;transform:translate(-50%,-50%) rotate(45deg)}.contact-success-toast button:after{transform:translate(-50%,-50%) rotate(-45deg)}.contact-card{padding:30px}.social-contact-card{position:relative;overflow:hidden;background:linear-gradient(155deg,#fff,#f5f7fc)}.social-contact-card:before{content:"";position:absolute;top:-110px;right:-90px;width:230px;height:230px;border-radius:50%;background:radial-gradient(circle,#6f8fe726,#6f8fe700 70%);pointer-events:none}.social-contact-card h2{position:relative;font-size:27px;letter-spacing:-.04em}.social-contact-eyebrow{position:relative;margin-bottom:12px;color:var(--accent);font-size:10px;font-weight:800;letter-spacing:.14em}.social-contact-intro{position:relative;max-width:360px;margin-top:12px;color:var(--muted);font-size:13px;line-height:1.65}.contact-social-list{position:relative;display:grid;gap:10px;margin-top:26px}.contact-social-link{--platform: var(--accent);display:grid;grid-template-columns:42px minmax(0,1fr) 28px;align-items:center;gap:13px;min-height:66px;padding:11px 12px;border:1px solid #dfe4ed;border-radius:13px;background:#ffffffd9;box-shadow:0 4px 14px #24324a08;transition:border-color .18s,box-shadow .18s,transform .18s}.contact-social-link:hover,.contact-social-link:focus-visible{border-color:color-mix(in srgb,var(--platform) 42%,#dfe4ed);box-shadow:0 9px 22px #24324a12;transform:translate(4px);outline:none}.contact-social-link.instagram{--platform: #d94679}.contact-social-link.facebook{--platform: #1877f2}.contact-social-link.whatsapp{--platform: #25a967}.contact-social-link.linkedin{--platform: #0a66c2}.contact-social-link.github{--platform: #24292f}.contact-social-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:color-mix(in srgb,var(--platform) 11%,white);color:var(--platform)}.contact-social-icon svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.9}.contact-social-icon svg .social-icon-dot{fill:currentColor;stroke:none}.contact-social-icon img{width:22px;height:22px;object-fit:contain}.contact-social-letter{font-family:Arial,sans-serif;font-size:27px;font-weight:800;line-height:1}.contact-social-copy{display:grid;gap:3px;min-width:0}.contact-social-copy strong{color:var(--ink);font-size:13px}.contact-social-copy small{overflow:hidden;color:var(--muted);font-size:11px;text-overflow:ellipsis;white-space:nowrap}.contact-social-arrow{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;color:var(--platform);background:color-mix(in srgb,var(--platform) 9%,white);font-size:14px;transition:transform .18s}.contact-social-link:hover .contact-social-arrow,.contact-social-link:focus-visible .contact-social-arrow{transform:translate(2px,-2px)}.social-contact-note{position:relative;display:flex;align-items:center;gap:9px;margin-top:22px;padding-top:19px;border-top:1px solid var(--line);color:var(--muted);font-size:11px}.social-contact-note>span{width:8px;height:8px;border-radius:50%;background:#33a06f;box-shadow:0 0 0 4px #33a06f17}.certificate-dialog,.image-dialog{position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:24px}.certificate-backdrop{position:absolute;inset:0;background:#132237ad;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.certificate-modal{position:relative;width:min(100%,1060px);max-height:calc(100dvh - 48px);overflow:auto;overscroll-behavior:contain;padding:52px 20px 20px;border-radius:18px;background:#fff;box-shadow:0 24px 90px #0003;animation:panel-in .3s var(--ease) both}.certificate-modal img{width:100%;max-height:calc(100dvh - 130px);object-fit:contain}.certificate-close,.project-detail-close{position:absolute;top:10px;right:10px;width:40px;height:40px;border:1px solid var(--line);border-radius:50%;background:#fff}.certificate-close:before,.certificate-close:after,.project-detail-close:before,.project-detail-close:after{content:"";position:absolute;top:50%;left:50%;width:14px;height:1.5px;background:var(--ink);transform:translate(-50%,-50%) rotate(45deg)}.certificate-close:after,.project-detail-close:after{transform:translate(-50%,-50%) rotate(-45deg)}@keyframes panel-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes note-in{0%{opacity:0;transform:translateY(14px) rotate(-3deg)}to{opacity:1;transform:translateY(0) rotate(-3deg)}}@keyframes toast-in{0%{opacity:0;transform:translateY(-10px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}[data-reveal]{opacity:0;transform:translateY(16px);transition:opacity .6s var(--ease),transform .6s var(--ease);transition-delay:var(--reveal-delay, 0ms)}[data-reveal].is-visible{opacity:1;transform:translateY(0)}@media(hover:hover)and (pointer:fine){.top-bar a:hover{background:#ffffff90;color:var(--ink)}.button:hover{transform:translateY(-2px);box-shadow:0 6px 14px #202b3815}.button.primary:hover,.send-button:hover{background:#334863}.social-links a:hover,.site-footer a:hover{color:var(--accent)}.skill-card:hover{transform:translateY(-4px);border-color:#b2c3e0;box-shadow:0 8px 16px #202b3808}.project-card:hover{box-shadow:0 10px 26px #202b380a}.project-card:hover .project-media img{transform:scale(1.025)}}@media(max-width:1100px){.site-header,.site-footer,[data-panel]{width:calc(100% - 64px)}.top-bar a{padding:11px 12px}.hero{column-gap:48px}.hero h1{font-size:clamp(44px,5.5vw,62px)}.hero-visual{max-width:350px}.about-focus-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.certification-card{grid-template-columns:90px minmax(0,1fr);gap:20px;padding:24px}.contact-form,.contact-card{padding:26px}}@media(max-width:760px){.site-header{width:calc(100% - 40px);min-height:80px}.wordmark{font-size:30px}.menu-toggle{display:flex;align-items:center;gap:14px;min-height:44px;padding:10px 14px;background:#ffffffb3;border:1px solid var(--line);border-radius:9px;font-size:12px}.menu-icon{position:relative;width:16px;height:12px}.menu-icon:before,.menu-icon:after{content:"";position:absolute;left:0;width:16px;height:1.5px;background:var(--ink);transition:transform .2s}.menu-icon:before{top:3px}.menu-icon:after{bottom:2px}.menu-toggle[aria-expanded=true] .menu-icon:before{transform:translateY(2.5px) rotate(45deg)}.menu-toggle[aria-expanded=true] .menu-icon:after{transform:translateY(-3px) rotate(-45deg)}.top-bar{display:none;position:absolute;top:calc(100% + 8px);left:0;right:0;padding:12px;flex-direction:column;align-items:stretch;gap:5px;border:1px solid var(--line);border-radius:16px;background:#f9fafdfc;box-shadow:0 18px 50px #202b3820}.top-bar.is-open{display:flex;animation:panel-in .22s var(--ease) both}.top-bar a{min-height:46px;padding:14px 16px}.top-bar a.active{background:#e8eef9;color:var(--accent)}.top-bar .nav-contact{margin:4px 0 0;justify-content:space-between}[data-panel]{width:calc(100% - 40px);padding-top:40px;padding-bottom:48px;min-height:calc(100svh - 200px)}.hero{grid-template-columns:1fr;gap:44px}.hero-copy{max-width:540px}.hero h1{font-size:clamp(44px,8.5vw,62px)}.hero-role{font-size:clamp(26px,5.3vw,35px)}.hero-intro{font-size:14px}.hero-visual{justify-self:center;width:min(78%,340px)}.profile-note{left:-22px;padding:13px 16px}.hero-stack{flex-direction:column;align-items:flex-start;gap:20px;padding:24px 0 0}.hero-stack>div{width:100%;justify-content:flex-start;font-size:16px;gap:18px 27px}.site-footer{width:calc(100% - 40px);min-height:120px;flex-wrap:wrap;gap:4px 18px;padding:22px 0}.site-footer p{order:3;flex-basis:100%;font-size:10px}.about-page{grid-template-columns:1fr;grid-template-areas:"intro" "focus" "direction"}.about-intro-card,.about-direction-card{padding:26px}.about-focus-grid{gap:12px}.about-focus-grid article{padding:22px}.project-list{gap:16px}.project-copy{padding:20px}.project-copy h3{font-size:20px}.project-actions{flex-direction:column}.project-detail-page{padding:24px 18px}.project-detail-layout{grid-template-columns:1fr;gap:20px}.project-detail-menu{order:-1;position:static;flex-direction:row;overflow-x:auto;padding:4px 2px 12px}.project-detail-menu button,.project-detail-menu select{white-space:nowrap;flex-shrink:0}.project-detail-content{padding:22px}.certifications-header{align-items:start;flex-direction:column}.certification-grid{grid-template-columns:1fr}.certification-card{grid-template-columns:110px minmax(0,1fr);padding:26px}.learning-certification-card{grid-template-columns:120px minmax(0,1fr);gap:16px;padding:20px}.learning-certification-copy h3{font-size:17px}.contact-page{grid-template-columns:1fr}.contact-form input,.contact-form textarea{font-size:16px}.contact-success-toast{top:96px;right:20px;width:calc(100vw - 40px)}.skill-row-control.previous{left:-12px}.skill-row-control.next{right:-12px}.certificate-dialog,.image-dialog{padding:12px}.certificate-modal{max-height:calc(100dvh - 24px);padding:56px 12px 12px}}@media(max-width:480px){.hero-copy>.eyebrow{margin-bottom:24px;font-size:9px}.hero-actions{gap:10px}.hero-actions .button{flex:1;gap:12px;padding-inline:14px;font-size:12px}.social-links{gap:22px;margin-top:22px}.hero-visual{width:80%}.project-list{grid-template-columns:1fr}.project-actions{flex-direction:row}.project-actions .button{flex:1}.about-focus-grid{grid-template-columns:1fr}.about-focus-grid article:before{margin-bottom:16px}.field-grid{grid-template-columns:1fr;gap:20px}.contact-form,.contact-card{padding:24px 20px}.certification-card{grid-template-columns:80px minmax(0,1fr);gap:18px;padding:22px 18px}.certification-copy h3{font-size:17px}.learning-certification-card{grid-template-columns:1fr}.learning-certification-media{grid-row:auto;width:100%;max-width:240px}.project-detail-page{padding:8px 0 0;border:0;background:transparent}.project-detail-content{padding:20px}.project-detail-close{top:0;right:0}.form-actions button{padding-inline:18px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation:none!important;transition:none!important}[data-reveal]{opacity:1;transform:none}}
