:root{color-scheme:light;--ink:#172033;--muted:#5f6b7c;--line:#dfe4ec;--paper:#f7f8fa;--surface:#fff;--white:#fff;--accent:#0b5cab;--accent-dark:#08477f;--navy:#0d1b2a;--shadow:0 12px 30px #17203314}*{box-sizing:border-box}body{background:var(--paper);color:var(--ink);text-rendering:optimizelegibility;margin:0;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:1rem;line-height:1.65}a{color:var(--accent);text-underline-offset:.2em;text-decoration-color:#0b5cab73;text-decoration-thickness:1px;transition:color .16s,text-decoration-color .16s}a:hover{color:var(--accent-dark);text-decoration-color:currentColor}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline-offset:3px;outline:3px solid #0b5cab4d}img{max-width:100%;height:auto;display:block}.hero{background-image:var(--hero-image);background-position:50%;background-size:cover;min-height:20rem}.hero__shade{min-height:inherit;color:var(--white);background:linear-gradient(110deg,#081626db,#08162691)}.nav{justify-content:space-between;align-items:center;gap:1.5rem;width:min(100% - 2rem,72rem);margin:0 auto;padding:1.25rem 0;display:flex}.brand,.nav a{color:#ffffffeb;text-decoration:none}.nav a:hover{color:var(--white)}.brand{letter-spacing:-.015em;font-size:clamp(1.1rem,2vw,1.35rem);font-weight:650}.nav__links{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.9rem;font-size:.94rem;font-weight:550;display:flex}.nav__linkedin{border:1px solid #ffffff7a;border-radius:.4rem;padding:.35rem .65rem}.nav__linkedin:hover{border-color:var(--white);background:#ffffff1a}.hero__content{text-align:center;width:min(100% - 2rem,64rem);margin:0 auto;padding:4.25rem 0 5.25rem}.hero__content h1{letter-spacing:-.045em;margin:0;font-size:clamp(2.4rem,7vw,5rem);font-weight:700;line-height:1}.hero__content p{color:#ffffffd6;max-width:45rem;margin:1.1rem auto 0;font-size:clamp(1.05rem,2vw,1.45rem);font-weight:400;line-height:1.55}.hero--compact{min-height:14rem}.hero--compact .hero__content{width:min(100% - 2rem,52rem);padding:2.5rem 0 3rem}.hero--compact .hero__content h1{font-size:clamp(2rem,4.5vw,3.8rem)}.hero--compact .hero__content p{margin-top:.65rem;font-size:clamp(.95rem,1.5vw,1.15rem)}main{min-height:35vh}.section{width:min(100% - 2rem,68rem);margin:0 auto;padding:4rem 0 5rem}.section--narrow{width:min(100% - 2rem,46rem)}.section h1,.section h2{line-height:1.2}.section>h1{letter-spacing:-.035em;margin:0 0 1.75rem;font-size:clamp(1.8rem,4vw,2.4rem);font-weight:700}.page-body{color:#394458;font-size:1.06rem}.page-body h1,.page-body h2,.page-body h3{color:var(--ink);letter-spacing:-.025em;margin-top:2.2rem;font-weight:700;line-height:1.2}.page-body p,.page-body li{max-width:72ch}.page-body--projects>p:first-child{color:#344157;font-size:1.15rem}.page-body--projects h2{border-top:1px solid var(--line);max-width:72ch;margin-top:3.5rem;padding-top:2rem;font-size:clamp(1.6rem,4vw,2.15rem)}.page-body--projects h3{max-width:72ch;color:var(--accent-dark);margin-top:2rem;font-size:clamp(1.15rem,3vw,1.4rem)}.post-list{gap:1.25rem;display:grid}.feature-card{border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow);border-radius:.9rem;grid-template-columns:minmax(16rem,42%) 1fr;align-items:center;gap:clamp(1.5rem,4vw,3rem);padding:clamp(1.25rem,3vw,2rem);display:grid;overflow:hidden}.feature-card img{aspect-ratio:4/3;object-fit:cover;border-radius:.65rem;width:100%}.feature-card h2{letter-spacing:-.035em;margin:0;font-size:clamp(1.7rem,4vw,2.5rem)}.feature-card p:not(.eyebrow){color:#4f5b6e}.eyebrow{color:var(--accent);letter-spacing:.1em;text-transform:uppercase;margin:0 0 .55rem;font-size:.78rem;font-weight:750}.text-link{margin-left:.85rem;font-size:.9rem;font-weight:650;display:inline-block}.post-summary{border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow);border-radius:.75rem;padding:1.25rem;overflow:hidden}.post-summary__inner{grid-template-columns:minmax(12rem,38%) 1fr;align-items:start;gap:1.6rem;display:grid}.post-summary img{aspect-ratio:16/10;object-fit:cover;border-radius:.5rem;width:100%}.post-summary h2{letter-spacing:-.025em;margin:0;font-size:clamp(1.4rem,3vw,1.85rem);font-weight:700}.post-summary h2 a{color:var(--ink);text-decoration:none}.post-summary h2 a:hover{color:var(--accent)}.post-summary p{color:#4f5b6e;margin:.65rem 0 0}.meta{color:var(--muted);letter-spacing:.035em;text-transform:uppercase;margin:0 0 .4rem;font-size:.82rem;font-weight:650}.button{border:1px solid var(--accent);background:var(--accent);min-height:2.6rem;color:var(--white);border-radius:.45rem;justify-content:center;align-items:center;margin-top:.85rem;padding:.65rem .95rem;font-size:.88rem;font-weight:650;line-height:1;text-decoration:none;transition:background-color .16s,border-color .16s,transform .16s;display:inline-flex}.button:hover{border-color:var(--accent-dark);background:var(--accent-dark);color:var(--white);transform:translateY(-1px)}.form{gap:.9rem;max-width:42rem;display:grid}.form label{color:#555;font-size:.9rem;font-weight:700}.form input,.form textarea{background:var(--surface);width:100%;color:var(--ink);font:inherit;border:1px solid #cbd3df;border-radius:.45rem;padding:.95rem 1rem}.form textarea{resize:vertical;min-height:9rem}.form button{background:var(--accent);color:var(--white);cursor:pointer;font:inherit;border:0;border-radius:.45rem;padding:.95rem 1rem;font-weight:650}.footer{border-top:1px solid var(--line);background:var(--surface);color:var(--muted);padding:2.75rem 1rem;font-size:.9rem}.footer__inner{grid-template-columns:minmax(15rem,1fr) auto;align-items:center;gap:1rem 2rem;width:min(100%,72rem);margin:0 auto;display:grid}.footer p{margin:0}.footer__name{color:var(--ink);font-size:1rem;font-weight:700}.footer__summary{max-width:36rem;margin-top:.2rem!important}.footer__links{flex-wrap:wrap;justify-content:flex-end;gap:.5rem 1rem;display:flex}.footer__copyright{border-top:1px solid var(--line);grid-column:1/-1;padding-top:1.25rem;font-size:.82rem;margin-top:.75rem!important}@media (width<=760px){.nav{flex-direction:column;align-items:flex-start}.nav__links{justify-content:flex-start}.post-summary__inner,.feature-card,.footer__inner{grid-template-columns:1fr}.footer__links{justify-content:flex-start}.hero--compact{min-height:12rem}.hero--compact .hero__content{padding:2rem 0 2.25rem}}
