:root{color-scheme:light;--navy:#101d33;--ink:#1d3561;--blue:#2f6ca3;--sky:#91c7f0;--muted:#4a5a70;--paper:#f4f6f8;--white:#fff;--line:#d7e1ec;--sans:"DM Sans","Segoe UI",sans-serif;--mono:"IBM Plex Mono",Consolas,monospace}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--white);color:var(--navy);font-family:var(--sans);line-height:1.55}img{display:block;max-width:100%}a{color:inherit}a:focus-visible{outline:3px solid #5dace7;outline-offset:4px}h1,h2,h3,p,dl,dd,figure{margin:0}.wrap{width:min(1104px,calc(100% - 56px));margin-inline:auto}.skip{position:absolute;top:-60px;left:14px;z-index:3;padding:10px 16px;background:#fff;color:var(--navy)}.skip:focus{top:12px}
.site-header{background:#fff;border-bottom:1px solid var(--line)}.nav-wrap,.footer-wrap{display:flex;justify-content:space-between;align-items:center;gap:20px;min-height:70px}.brand{display:inline-flex;align-items:center;gap:10px;color:var(--ink);font-size:24px;font-weight:800;letter-spacing:-.07em;text-decoration:none;white-space:nowrap}.brand-accent{color:var(--blue);font-weight:600}.mark{height:33px;width:33px;border-radius:8px;background:var(--ink);display:flex;align-items:end;justify-content:center;gap:3px;padding:8px}.mark i{width:4px;height:7px;border-radius:1px;background:#d9edfc}.mark i:nth-child(2){height:11px;background:#9bc9eb}.mark i:nth-child(3){height:17px;background:#72b5e8}.site-header nav,.hero-actions,.contact-links{display:flex;align-items:center;gap:clamp(13px,2.3vw,29px);flex-wrap:wrap}.nav-link{font-weight:700;text-decoration:none;color:var(--ink);font-size:14px}.nav-link:hover,.project-link:hover,.footer-wrap a:hover{text-decoration:underline;text-underline-offset:5px}.button{display:inline-flex;align-items:center;justify-content:center;gap:11px;min-height:44px;padding:8px 16px;border-radius:7px;background:var(--ink);color:#fff;border:1px solid var(--ink);text-decoration:none;font-size:14px;font-weight:800;white-space:nowrap}.button:hover{background:#295484;border-color:#295484}.button-small{min-height:38px;font-size:13px;padding-inline:13px}.button-light{background:#e9f4ff;border-color:#e9f4ff;color:var(--navy)}.button-light:hover{background:#cde6fa;border-color:#cde6fa}.button-outline{background:#fff;color:var(--ink);border-color:#aebfd1}.button-outline:hover{background:#edf5fc;color:var(--ink)}
.hero{position:relative;isolation:isolate;overflow:hidden;background:radial-gradient(ellipse at 85% 30%,#244a74 0%,#182f51 32%,#101d33 70%);color:#fff}.hero::before{content:"";position:absolute;z-index:-1;inset:0 0 0 49%;background:repeating-linear-gradient(132deg,#bcdcff13 0 1px,transparent 1px 33px);mask-image:linear-gradient(to right,transparent,#000)}.hero-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(225px,.8fr);align-items:center;gap:clamp(30px,6vw,92px);padding-block:clamp(46px,6vw,82px)}.eyebrow{font:600 11px/1.5 var(--mono);letter-spacing:.10em;text-transform:uppercase;color:#315e8a;display:flex;align-items:center;gap:10px}.hero .eyebrow{color:#b6dbf7}.line{display:inline-block;width:28px;height:1px;background:#86bce9}.hero h1{font-size:clamp(49px,6.9vw,94px);line-height:.99;letter-spacing:-.07em;margin:13px 0 20px;font-weight:800}.hero-description{color:#e1edf7;max-width:510px;font-size:clamp(16px,1.9vw,20px);line-height:1.55}.hero-actions{margin-top:26px;gap:21px}.text-link{font-size:14px;font-weight:700;color:#f4f9ff;text-underline-offset:5px}.portrait{justify-self:center;width:min(100%,300px);position:relative;padding:10px;border:1px solid #8ab8e0;background:#a9d6fa17;border-radius:15px;box-shadow:13px 13px 0 #c2dffa14}.portrait img{width:100%;height:auto;border-radius:9px;aspect-ratio:320/420;object-fit:cover}
.section{padding-block:clamp(34px,5vw,65px);scroll-margin-top:16px}.profile{display:grid;grid-template-columns:1fr 1.12fr;gap:clamp(28px,6vw,80px);align-items:center}.section h2{font-size:clamp(29px,4vw,46px);line-height:1.1;letter-spacing:-.055em;color:var(--ink);margin-top:7px}.section-intro>p:last-child{color:var(--muted);font-size:16px;max-width:570px;margin-top:11px}.credentials{border:1px solid var(--line);border-radius:11px;background:#f7f9fb;padding:5px 18px}.credentials>div{display:grid;grid-template-columns:minmax(112px,.8fr) 1.45fr;gap:12px;padding:15px 2px}.credentials>div+div{border-top:1px solid var(--line)}.credentials dt{color:#415975;font-size:13px;font-weight:700}.credentials dd{font-weight:800;color:var(--ink);font-size:15px}.credentials dd a{text-underline-offset:4px}.credentials small{display:block;font-size:12px;font-weight:600;color:var(--muted);margin-top:4px}
.projects{background:var(--paper);border-block:1px solid #e7eef5;scroll-margin-top:0}.project-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:23px}.project-card{background:#fff;border:1px solid var(--line);border-top:3px solid #4c89bc;border-radius:10px;padding:20px 21px;display:flex;flex-direction:column;align-items:flex-start;min-width:0}.project-label{font:600 11px/1.4 var(--mono);color:#315e8a;text-transform:uppercase;letter-spacing:.06em}.project-card h3{font-size:25px;letter-spacing:-.045em;margin:7px 0 4px;color:var(--ink)}.project-card p{color:var(--muted);max-width:49ch}.project-link{color:var(--ink);font-weight:800;font-size:14px;margin-top:13px;text-underline-offset:4px}.contact{display:flex;justify-content:space-between;align-items:center;gap:21px;flex-wrap:wrap}.contact-links{gap:10px}.site-footer{background:var(--navy);color:#d3e4f5}.footer-wrap{min-height:60px;font-size:13px}.footer-wrap span{font-weight:600}.footer-wrap a{text-underline-offset:4px}
@media(max-width:720px){.wrap{width:calc(100% - 36px)}.site-header nav{gap:9px}.nav-link{display:none}.nav-wrap{min-height:60px;gap:8px}.brand{font-size:21px}.mark{width:29px;height:29px;padding:6px}.hero-grid{grid-template-columns:minmax(0,1fr) minmax(130px,.55fr);gap:19px;padding-block:38px}.hero h1{font-size:clamp(38px,7vw,60px)}.hero-description{font-size:15px}.hero-actions{gap:12px;margin-top:18px}.hero-actions .button{font-size:13px;padding-inline:10px}.profile{grid-template-columns:1fr;gap:20px}.portrait{padding:7px}.project-grid{gap:12px}}
@media(max-width:490px){.hero-grid{grid-template-columns:1fr;padding-block:33px;gap:23px}.hero h1{font-size:clamp(40px,11vw,55px);margin:10px 0 13px}.desktop-break{display:none}.portrait{justify-self:start;width:min(72vw,245px);margin:0 0 8px}.hero-description{max-width:40ch}.project-grid{grid-template-columns:1fr}.footer-wrap{padding-block:11px;flex-wrap:wrap;gap:4px 13px}.credentials>div{grid-template-columns:1fr;gap:4px}.button-small{font-size:12px;padding-inline:9px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
