@font-face{font-family:Open Sans;src:url(/assets/OpenSans-Regular-BwBYGrgP.ttf)format("truetype");font-display:swap;font-weight:400}@font-face{font-family:Open Sans;src:url(/assets/OpenSans-Bold-DqBIp9kU.ttf)format("truetype");font-display:swap;font-weight:700}:root{--navy:#102a43;--navy-soft:#243f58;--blue:#1677a6;--blue-light:#d9eff7;--paper:#fbfcfd;--surface:#fff;--line:#dfe8ed;--muted:#5e7180;--shadow:0 18px 46px #102a4317}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--paper);min-width:320px;color:var(--navy);-webkit-font-smoothing:antialiased;margin:0;font-family:Open Sans,Arial,sans-serif;line-height:1.5}a{color:inherit;text-decoration:none}a:focus-visible{outline-offset:4px;outline:3px solid #f1b44c}h1,h2,h3,p{margin-top:0}.hero{background:var(--navy);color:#fff;position:relative;overflow:hidden}.hero:before,.hero:after{content:"";border:1px solid #ffffff17;border-radius:50%;position:absolute}.hero:before{width:620px;height:620px;top:-360px;right:-110px}.hero:after{width:390px;height:390px;bottom:-250px;right:240px}.hero-inner,main,footer{width:min(1180px,100% - 48px);margin:0 auto}.hero-inner{z-index:1;padding:72px 0 48px;position:relative}.identity{align-items:center;gap:28px;display:flex}.identity img{object-fit:cover;border:3px solid #fffc;border-radius:18px;width:96px;height:110px;box-shadow:0 12px 30px #00000040}.eyebrow,.section-number{color:#77d0ee;letter-spacing:.16em;text-transform:uppercase;margin:0 0 8px;font-size:.75rem;font-weight:700}h1{letter-spacing:-.05em;margin-bottom:7px;font-size:clamp(2.25rem,5vw,4.25rem);line-height:1}.intro{color:#b9d1dd;margin:0;font-size:clamp(1rem,2vw,1.25rem)}.hero-copy{color:#d9e6ec;max-width:720px;margin:38px 0 42px;font-size:1.05rem}.summary{color:#b9d1dd;border-top:1px solid #ffffff24;flex-wrap:wrap;gap:16px 36px;padding-top:25px;font-size:.87rem;display:flex}.summary span{align-items:baseline;gap:8px;display:flex}.summary strong{color:#fff;font-size:1.25rem}main{padding:74px 0 92px}.section+.section{margin-top:92px}.section-heading{justify-content:space-between;align-items:end;gap:32px;margin-bottom:30px;display:flex}.section-heading h2{letter-spacing:-.035em;margin:0;font-size:clamp(1.8rem,3vw,2.5rem);line-height:1.1}.section-heading>p{max-width:430px;color:var(--muted);text-align:right;margin:0;font-size:.95rem}.section-number{color:var(--blue)}.featured-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:18px;display:grid}.resume-card{border:1px solid var(--line);background:var(--surface);border-radius:18px;flex-direction:column;justify-content:space-between;min-height:260px;transition:border-color .18s,box-shadow .18s,transform .18s;display:flex;position:relative;overflow:hidden;box-shadow:0 5px 18px #102a430d}.resume-card:after{content:"";opacity:.12;border:1px solid;border-radius:50%;width:145px;height:145px;position:absolute;top:-55px;right:-55px}.resume-card:nth-child(-n+3){grid-column:span 2}.resume-card:nth-child(n+4){grid-column:span 3;min-height:225px}.resume-card:hover{box-shadow:var(--shadow);border-color:#b6cbd5;transform:translateY(-4px)}.card-topline,.card-body,.open-label{z-index:1;display:flex;position:relative}.card-topline{color:var(--muted);text-transform:uppercase;justify-content:space-between;align-items:center;padding:20px 22px 0;font-size:.78rem;font-weight:700}.card-icon{background:var(--blue-light);color:#0a658c;letter-spacing:.05em;border-radius:13px;place-items:center;width:46px;height:46px;font-size:.72rem;display:grid}.apple .card-icon{color:#263442;background:#e9ebef}.fullstack .card-icon{color:#276b43;background:#e3f2e8}.mobile .card-icon{color:#9c4f56;background:#f7e9e9}.concise .card-icon{color:#6e54a0;background:#eee8f8}.card-body{flex-direction:column;gap:8px;padding:28px 22px}.card-body strong{letter-spacing:-.025em;font-size:1.2rem}.card-body>span{color:var(--muted);font-size:.9rem}.open-label{border-top:1px solid var(--line);color:var(--blue);justify-content:space-between;align-items:center;padding:15px 22px;font-size:.82rem;font-weight:700}.open-label span{font-size:1rem;transition:transform .18s}.resume-card:hover .open-label span{transform:translate(2px,-2px)}.locale-list{border:1px solid var(--line);background:var(--surface);border-radius:18px;overflow:hidden;box-shadow:0 8px 28px #102a430d}.locale-group{grid-template-columns:minmax(260px,.85fr) minmax(0,1.6fr);align-items:center;gap:36px;padding:24px 26px;display:grid}.locale-group+.locale-group{border-top:1px solid var(--line)}.locale-heading{align-items:center;gap:16px;display:flex}.flag{width:45px;height:45px;color:var(--blue);letter-spacing:.08em;background:#f3f8fa;border:1px solid #cfe0e7;border-radius:50%;flex:none;place-items:center;font-size:.7rem;font-weight:700;display:grid}.locale-heading h3{margin:0 0 2px;font-size:1rem;line-height:1.25}.locale-heading p{color:var(--muted);margin:0;font-size:.8rem}.locale-links{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.locale-links a{border:1px solid var(--line);min-width:0;color:var(--navy-soft);border-radius:11px;justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;font-size:.82rem;transition:border-color .16s,background .16s,color .16s;display:flex}.locale-links a:hover{color:#0a658c;background:#f2f9fb;border-color:#9fc7d7}.locale-links b{color:var(--blue);text-transform:uppercase;margin-bottom:2px;font-size:.72rem;display:block}.locale-links a>span:first-child{min-width:0}.locale-links a>span:last-child{flex:none;font-size:1rem}footer{border-top:1px solid var(--line);color:var(--muted);justify-content:space-between;gap:24px;padding:26px 0 34px;font-size:.82rem;display:flex}footer p{margin:0}footer a{color:var(--blue)}@media (width<=900px){.resume-card:nth-child(-n+3),.resume-card:nth-child(n+4){grid-column:span 3}.locale-group{grid-template-columns:1fr;gap:18px}}@media (width<=640px){.hero-inner,main,footer{width:min(100% - 32px,1180px)}.hero-inner{padding:48px 0 34px}.identity{align-items:flex-start;gap:18px}.identity img{border-radius:13px;width:70px;height:82px}h1{font-size:2.1rem}.intro{font-size:.9rem}.hero-copy{margin:30px 0;font-size:.95rem}.summary{gap:10px 24px}main{padding:54px 0 68px}.section+.section{margin-top:66px}.section-heading{display:block}.section-heading>p{text-align:left;margin-top:12px}.featured-grid{grid-template-columns:1fr}.resume-card:nth-child(-n+3),.resume-card:nth-child(n+4){grid-column:auto;min-height:220px}.locale-group{padding:22px 18px}.locale-links{grid-template-columns:1fr}footer{flex-direction:column;gap:6px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.resume-card,.open-label span,.locale-links a{transition:none}}
