:root{--ink:#0b1220;--muted:#596579;--paper:#f5f7fb;--surface:#fff;--line:#dce3ed;--navy:#071426;--blue:#1769ff;--cyan:#73e6f5;--radius:18px;--shadow:0 18px 55px rgba(7,20,38,.09)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:16px;line-height:1.65;-webkit-font-smoothing:antialiased}body,input,textarea,button{font:inherit}h1,h2,h3,h4,h5,p,ul{margin-top:0}h1,h2,h3,h4,h5{font-weight:760;letter-spacing:-.025em}a{color:var(--blue);text-decoration:none}img{display:block;max-width:100%}.eyebrow{margin-bottom:.65rem;color:var(--blue);font-size:.78rem;font-weight:850;letter-spacing:.16em;text-transform:uppercase}
#header{position:fixed;z-index:10;inset:0 auto 0 0;width:17.5rem;overflow-y:auto;background:radial-gradient(circle at 30% 12%,rgba(0,184,217,.17),transparent 25%),var(--navy);color:#becbdd;box-shadow:12px 0 42px rgba(7,20,38,.1)}#header>header{padding:2.5rem 1.75rem 1.25rem;text-align:center}.resume-monogram{display:grid;place-items:center;width:2.65rem;height:2.65rem;margin:0 auto 1.35rem;border-radius:11px;background:linear-gradient(135deg,var(--blue),#00b8d9);color:#fff;font-size:.9rem;font-weight:850}.image.avatar{display:block;width:6.4rem;height:6.4rem;margin:0 auto 1rem;overflow:hidden;border:4px solid rgba(255,255,255,.13);border-radius:50%;box-shadow:0 12px 30px rgba(0,0,0,.24)}.avatar img{width:100%;height:100%;object-fit:cover}#logo{margin:0 0 .35rem;font-size:1.55rem;line-height:1.2}#logo a{color:#fff}#header>header p{margin:0;color:#9fafc4;font-size:.82rem;line-height:1.5}
#nav ul{margin:0;padding:0;list-style:none}#nav li{margin:0}#nav a{position:relative;display:block;padding:.57rem 2rem;color:#bdcada;font-size:.86rem;font-weight:680;transition:color .18s ease,background .18s ease,padding .18s ease}#nav a:hover,#nav a.active{padding-left:2.25rem;background:rgba(255,255,255,.07);color:#fff}#nav a.active:before{content:"";position:absolute;left:1.4rem;top:50%;width:5px;height:5px;border-radius:50%;background:var(--cyan);transform:translateY(-50%)}#nav .services-link{margin:.6rem 1.25rem 0;padding:.68rem .8rem;border:1px solid rgba(255,255,255,.25);border-radius:999px;text-align:center}#nav .services-link:hover{padding-left:.8rem;border-color:rgba(255,255,255,.5)}#header>footer{padding:1.2rem 1rem 2rem}.icons{display:flex;flex-wrap:wrap;justify-content:center;gap:.8rem;margin:0;padding:0;list-style:none}.icons li{margin:0}.icons a{color:#aebdd0;font-size:1.05rem}.icons .label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
#wrapper{margin-left:17.5rem}#main>section{position:relative;border:0;background:var(--paper)}#main>section:nth-child(even){background:#fff}#main>section>.container{width:min(1260px,calc(100% - 80px));margin-inline:auto;padding:6.5rem 0}
#about{min-height:680px;display:flex;align-items:center;overflow:hidden}#about:after{content:"";position:absolute;right:-14rem;top:-14rem;width:37rem;height:37rem;border:1px solid rgba(23,105,255,.09);border-radius:50%;box-shadow:0 0 0 6rem rgba(23,105,255,.022),0 0 0 12rem rgba(23,105,255,.014);pointer-events:none}#about .image.main{position:absolute;inset:0;background:linear-gradient(90deg,var(--paper) 28%,rgba(245,247,251,.74)),url('../../images/banner/banner-5a.webp') right center/100% auto no-repeat;opacity:.42}#about .container{position:relative;z-index:1}#about header.major{max-width:940px;margin:0 0 1.5rem}#about h2{max-width:900px;margin:0 0 1.2rem;font-size:clamp(3rem,5.4vw,5.8rem);line-height:.98;letter-spacing:-.05em}#about .lead{margin:0;color:var(--muted);font-size:1.08rem}#about .container>p:last-child{max-width:900px;margin-bottom:0;color:#465267;font-size:1.08rem;line-height:1.75}
#main section h2,#main section h3{margin-bottom:2.2rem;font-size:clamp(2.2rem,3.5vw,3.3rem);line-height:1.08}
#experience .item{display:grid;grid-template-columns:170px minmax(0,1fr);gap:0 2.25rem;padding:2.4rem;border:1px solid var(--line);border-radius:var(--radius);background:#fff;box-shadow:0 6px 24px rgba(7,20,38,.045)}#experience hr.spacer{height:1.4rem;margin:0;border:0}.job{grid-column:1;grid-row:1/10}.job .employer-image{display:flex;width:100%;min-height:80px;align-items:flex-start;justify-content:center}.job img{width:100%;max-height:76px;object-fit:contain;filter:saturate(.82)}.job-role,.description,.notes,#experience .features{grid-column:2;min-width:0}.job-role{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:1rem;padding:.15rem 0 .8rem;border-bottom:1px solid var(--line)}.job-role+.job-role{padding-top:.8rem}.job-title{font-size:1.15rem;font-weight:760}.job-date{color:var(--blue);font-size:.82rem;font-weight:740;white-space:nowrap}.description{padding-top:1rem;color:var(--muted)}.description p{margin-bottom:1rem}.notes{margin-top:.25rem;padding:1.2rem 1.3rem .5rem;border-radius:12px;background:#f6f8fb}.notes .title,#experience .features>.title{font-size:.78rem;letter-spacing:.11em;text-transform:uppercase}.notes ul{padding-left:1.2rem}.notes li{margin-bottom:.55rem;color:#475368}#experience .features{margin-top:1.4rem}#experience .features article{display:grid;grid-template-columns:90px minmax(0,1fr);gap:1.2rem;padding:1.2rem 0;border-top:1px solid var(--line)}#experience .features article .image{display:flex;align-items:flex-start;justify-content:center}#experience .features article img{max-width:85px;max-height:55px;object-fit:contain}#experience .features article h4{margin-bottom:.35rem;font-size:1.02rem}#experience .features article p{margin:0;color:var(--muted);font-size:.94rem}
#skills .feature-icons{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem;margin:0;padding:0;list-style:none}#skills .feature-icons li{position:relative;display:flex;min-width:0;min-height:70px;align-items:center;padding:.9rem 1rem .9rem 3.8rem;border:1px solid var(--line);border-radius:14px;background:#fff;color:var(--ink);font-weight:650;line-height:1.3}#skills .feature-icons li:before{position:absolute;left:1.35rem;color:var(--blue);font-family:"Font Awesome 5 Free";font-weight:900;font-size:1.15rem}
#certifications .features{display:grid;gap:1.2rem}#certifications .features article{display:grid;grid-template-columns:160px minmax(0,1fr);gap:2.2rem;padding:2.1rem;border:1px solid var(--line);border-radius:var(--radius);background:#fff}#certifications article>.image{display:flex;align-items:flex-start;justify-content:center}#certifications article>.image img{width:auto;max-width:145px;max-height:82px;object-fit:contain}#certifications article>.inner{min-width:0}.certification{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:1rem;padding:.55rem 0;border-bottom:1px solid #edf1f6}.cert-title{font-weight:650}.cert-date{color:var(--muted);font-size:.82rem;white-space:nowrap}.badges{display:grid;grid-template-columns:repeat(auto-fill,minmax(145px,1fr));gap:.8rem;margin-top:1.4rem}.cert{position:relative;min-width:0;height:218px;padding:1.15rem .6rem .7rem;border:1px solid var(--line);border-radius:12px;background:#fbfcfe;text-align:center}.cert .badge{display:flex;height:100%;flex-direction:column;align-items:center}.cert img{width:auto;max-width:110px;max-height:105px;margin:0 auto .6rem;object-fit:contain}.cert span{display:block;overflow:hidden;color:#475368;font-size:.76rem;line-height:1.25}.cert .verify{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;border-radius:12px;background:rgba(255,255,255,.88);opacity:0;transition:opacity .18s ease}.cert:hover .verify,.cert:focus-within .verify{opacity:1}.button,input[type=submit],input[type=reset]{display:inline-flex;min-height:48px;align-items:center;justify-content:center;padding:.75rem 1.25rem;border:1px solid transparent;border-radius:999px;background:var(--blue);color:#fff;font-weight:750;line-height:1.1;cursor:pointer}
#contact{background:radial-gradient(circle at 90% 10%,rgba(0,184,217,.14),transparent 26%),var(--navy)!important;color:#b9c8da}#contact h3{max-width:780px;color:#fff}#contact .eyebrow{color:var(--cyan)}form{margin-top:2rem}.row.gtr-uniform{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.col-12{grid-column:1/-1}.col-6{grid-column:span 1}input[type=text],input[type=email],textarea{width:100%;min-width:0;padding:.95rem 1rem;border:1px solid rgba(255,255,255,.18);border-radius:12px;outline:0;background:rgba(255,255,255,.07);color:#fff}textarea{min-height:150px;resize:vertical}input:focus,textarea:focus{border-color:var(--cyan);box-shadow:0 0 0 3px rgba(115,230,245,.12)}input::placeholder,textarea::placeholder{color:#9faec2;opacity:1}#captcha{display:inline-block;max-height:48px;border-radius:7px}form a{color:var(--cyan)}.actions{display:flex;gap:.7rem;margin:0;padding:0;list-style:none}input[type=reset]{border-color:rgba(255,255,255,.28);background:transparent}.error,.success{display:block;margin:.35rem 0;padding:.8rem 1rem;border-radius:9px}.error{background:#5e1d28;color:#ffd9df}.success{background:#164c43;color:#d7fff7}
#footer{margin-left:17.5rem;padding:2rem 24px;background:#040b14;color:#8999ae;text-align:center}#footer .container{width:min(1260px,100%);margin:auto}.copyright{display:flex;justify-content:center;margin:0;padding:0;list-style:none;font-size:.85rem}
@media(max-width:1050px){#header{width:15.5rem}#wrapper,#footer{margin-left:15.5rem}#main>section>.container{width:min(100% - 48px,1260px)}#experience .item{grid-template-columns:135px minmax(0,1fr);gap:0 1.6rem}#skills .feature-icons{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:780px){#header{position:sticky;top:0;width:100%;height:76px;overflow:hidden;display:flex;align-items:center;padding:0 16px}#header>header{display:flex;align-items:center;gap:.65rem;padding:0}.resume-monogram{margin:0}.image.avatar,#header>header p{display:none}#logo{font-size:1rem;white-space:nowrap}#header>nav{margin-left:auto}#nav ul{display:flex;align-items:center}#nav a{padding:.5rem .45rem;font-size:.76rem}#nav a:hover,#nav a.active{padding-left:.45rem;background:transparent}#nav a.active:before,#nav li:nth-child(3),#nav li:nth-child(4),#nav li:nth-child(5){display:none}#nav .services-link{margin:0 0 0 .3rem;padding:.5rem .7rem}#header>footer{display:none}#wrapper,#footer{margin-left:0}#main>section>.container{width:min(100% - 32px,1260px);padding:5rem 0}#about{min-height:620px}#about .image.main{background-size:auto 100%;background-position:75% center}#about h2{font-size:clamp(2.8rem,10vw,4.6rem)}#experience .item{grid-template-columns:1fr;gap:1.4rem}.job{grid-column:1;grid-row:auto;width:150px}.job-role,.description,.notes,#experience .features{grid-column:1}.job-role{grid-template-columns:1fr}.job-date{white-space:normal}#certifications .features article{grid-template-columns:1fr}#certifications article>.image{justify-content:flex-start}}
@media(max-width:520px){#nav li:first-child{display:none}.resume-monogram{width:2.35rem;height:2.35rem}#main>section>.container{padding:4rem 0}#skills .feature-icons{grid-template-columns:1fr}.badges{grid-template-columns:repeat(2,minmax(0,1fr))}.certification{grid-template-columns:1fr;gap:.15rem}.row.gtr-uniform{grid-template-columns:1fr}.col-6{grid-column:1}.actions{flex-direction:column}.actions input{width:100%}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}

/* Resume refinement: wider working area, reliable icons and contained contact controls. */
#header>footer .icons{gap:.45rem}
#header>footer .icons a{display:grid;width:34px;height:34px;place-items:center;border:1px solid rgba(255,255,255,.13);border-radius:9px;color:#aebdd0;font-size:.95rem;transition:border-color .18s ease,color .18s ease,background .18s ease}
#header>footer .icons a:hover{border-color:rgba(115,230,245,.55);background:rgba(115,230,245,.08);color:var(--cyan)}
#contact form{width:100%;max-width:980px;margin-top:2rem}
#contact textarea{min-height:170px}
#contact .captcha-preview{display:flex;align-items:center}
#contact .captcha-image{display:flex;min-width:0;align-items:center;gap:.8rem}
#contact .captcha-image a{white-space:nowrap;font-size:.86rem}
#contact #captcha{display:block;width:210px;height:48px;max-width:100%;flex:0 1 210px;border-radius:7px;object-fit:contain;background:#fff}
#contact .actions{margin-top:1rem}
#footer{margin-left:0}

@media(max-width:960px){
	#header{position:sticky;top:0;width:100%;height:76px;overflow:hidden;display:flex;align-items:center;padding:0 16px}
	#header>header{display:flex;align-items:center;gap:.65rem;padding:0}
	.resume-monogram{margin:0}
	.image.avatar,#header>header p{display:none}
	#logo{font-size:1rem;white-space:nowrap}
	#header>nav{margin-left:auto}
	#nav ul{display:flex;align-items:center}
	#nav a{padding:.5rem .45rem;font-size:.76rem}
	#nav a:hover,#nav a.active{padding-left:.45rem;background:transparent}
	#nav a.active:before,#nav .nav-experience,#nav .nav-skills,#nav .nav-certifications{display:none}
	#nav .services-link{margin:0 0 0 .3rem;padding:.5rem .7rem}
	#header>footer{display:none}
	#wrapper{margin-left:0}
	#main>section>.container{width:min(100% - 40px,1260px);padding:5rem 0}
	#about{min-height:620px}
	#about .image.main{background-size:auto 100%;background-position:75% center}
	#about h2{font-size:clamp(2.8rem,10vw,4.6rem)}
	#experience .item{grid-template-columns:1fr;gap:1.4rem}
	.job{grid-column:1;grid-row:auto;width:150px}
	.job-role,.description,.notes,#experience .features{grid-column:1}
	.job-role{grid-template-columns:1fr}
	.job-date{white-space:normal}
	#certifications .features article{grid-template-columns:1fr}
	#certifications article>.image{justify-content:flex-start}
}

@media(max-width:620px){
	#nav .nav-about{display:none}
	#contact .captcha-image{align-items:flex-start;flex-direction:column}
}
