:root{--ink:#0c1b2a;--muted:#5c6875;--line:#dfe5ea;--paper:#f7f9fb;--white:#fff;--accent:#0f6b5b;--accent2:#124e78;--warm:#e9f4f1;--max:1180px;--shadow:0 18px 50px rgba(12,27,42,.08)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--white);line-height:1.6}a{color:inherit;text-decoration:none}.wrap{width:min(var(--max),calc(100% - 40px));margin:auto}.topline{background:var(--ink);color:#dbe5ed;font-size:13px}.topline .wrap{display:flex;justify-content:space-between;gap:20px;padding:8px 0}.nav{position:sticky;top:0;z-index:20;background:rgba(255,255,255,.96);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}.navin{display:flex;align-items:center;justify-content:space-between;min-height:74px}.brand{display:flex;align-items:center;gap:12px;font-weight:800;letter-spacing:-.3px}.mark{width:40px;height:40px;border-radius:10px;background:var(--ink);color:#fff;display:grid;place-items:center;font-family:Georgia,serif;font-size:21px}.brand small{display:block;color:var(--muted);font-weight:600;font-size:11px;letter-spacing:.12em;text-transform:uppercase}.links{display:flex;align-items:center;gap:28px;font-size:14px;font-weight:650}.btn{display:inline-flex;align-items:center;justify-content:center;padding:12px 18px;border-radius:8px;border:1px solid var(--ink);font-weight:750;font-size:14px}.btn.primary{background:var(--ink);color:#fff}.btn.ghost{border-color:#cbd5dc;background:#fff}.hero{padding:92px 0 70px;background:linear-gradient(180deg,#fff 0%,#f7fafb 100%);border-bottom:1px solid var(--line)}.hero-grid{display:grid;grid-template-columns:1.12fr .88fr;gap:64px;align-items:center}.eyebrow{font-size:13px;text-transform:uppercase;letter-spacing:.16em;color:var(--accent);font-weight:850}.hero h1{font-size:clamp(42px,6vw,72px);line-height:1.02;letter-spacing:-.055em;margin:14px 0 24px;max-width:880px}.lead{font-size:19px;color:#44515d;max-width:720px}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:32px}.proofline{display:flex;flex-wrap:wrap;gap:18px;margin-top:32px;color:#52606d;font-size:13px}.proofline span:before{content:"✓";color:var(--accent);font-weight:900;margin-right:7px}.terminal{background:#0b1722;color:#c7d6e2;border-radius:14px;box-shadow:var(--shadow);overflow:hidden;border:1px solid #213342}.termbar{padding:12px 15px;background:#111f2b;border-bottom:1px solid #263744;color:#889bab;font-size:12px}.termcontent{padding:25px;font-family:"SFMono-Regular",Consolas,monospace;font-size:13px;line-height:1.9}.green{color:#82d2b5}.blue{color:#79b8e8}.section{padding:82px 0}.section.alt{background:var(--paper)}.kicker{font-size:12px;text-transform:uppercase;letter-spacing:.16em;font-weight:850;color:var(--accent)}h2{font-size:clamp(30px,4vw,46px);line-height:1.1;letter-spacing:-.035em;margin:10px 0 16px}.intro{max-width:760px;color:var(--muted);font-size:17px}.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:38px}.card{border:1px solid var(--line);border-radius:12px;padding:27px;background:#fff}.card h3{font-size:19px;margin:9px 0}.card p{color:var(--muted);font-size:14px;margin:0}.num{font-size:12px;color:var(--accent);font-weight:900;letter-spacing:.1em}.service-list{display:grid;grid-template-columns:1fr 1fr;gap:0 46px;margin-top:36px}.service-row{padding:23px 0;border-top:1px solid var(--line);display:grid;grid-template-columns:44px 1fr;gap:14px}.service-row b{display:block;margin-bottom:5px}.service-row p{margin:0;color:var(--muted);font-size:14px}.icon{width:36px;height:36px;border-radius:8px;background:var(--warm);display:grid;place-items:center;color:var(--accent);font-weight:900}.split{display:grid;grid-template-columns:.9fr 1.1fr;gap:70px;align-items:start}.factbox{border-left:4px solid var(--accent);background:var(--paper);padding:28px 30px}.factbox strong{font-size:28px;display:block;letter-spacing:-.03em}.factbox p{margin:5px 0 0;color:var(--muted)}.tags{display:flex;flex-wrap:wrap;gap:9px;margin-top:24px}.tag{border:1px solid var(--line);background:#fff;padding:7px 10px;border-radius:999px;font-size:12px;font-weight:700;color:#43515e}.steps{counter-reset:step;display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:36px}.step{padding:22px;border-top:3px solid var(--ink);background:#fff}.step:before{counter-increment:step;content:"0" counter(step);font-size:12px;color:var(--accent);font-weight:900}.step b{display:block;margin:10px 0 5px}.step p{font-size:13px;color:var(--muted);margin:0}.cta{background:var(--ink);color:#fff;border-radius:16px;padding:44px;display:flex;align-items:center;justify-content:space-between;gap:30px}.cta h2{margin:0 0 8px;font-size:34px}.cta p{margin:0;color:#c3d0da}.cta .btn{background:#fff;color:var(--ink);border-color:#fff;white-space:nowrap}.footer{padding:52px 0 26px;background:#08131d;color:#c0ccd6}.footgrid{display:grid;grid-template-columns:1.3fr .7fr .7fr;gap:40px}.footer h4{color:#fff;margin:0 0 12px}.footer a,.footer p{font-size:13px;color:#9faeb9}.footbottom{border-top:1px solid #21313e;margin-top:35px;padding-top:20px;font-size:12px;color:#7f909c;display:flex;justify-content:space-between}.pagehero{padding:70px 0;background:var(--paper);border-bottom:1px solid var(--line)}.pagehero h1{font-size:50px;letter-spacing:-.04em;margin:8px 0 12px}.content{max-width:850px}.content h2{font-size:30px;margin-top:42px}.content h3{font-size:20px;margin-top:28px}.content p,.content li{color:#4e5b67}.contact-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:55px}.contact-card{border:1px solid var(--line);border-radius:12px;padding:28px}.contact-card label{display:block;font-weight:700;font-size:13px;margin:16px 0 6px}.contact-card input,.contact-card textarea,.contact-card select{width:100%;border:1px solid #cdd6dd;border-radius:7px;padding:12px;font:inherit;background:#fff}.contact-card textarea{min-height:140px;resize:vertical}.note{font-size:12px;color:var(--muted)}.mobile{display:none}
@media(max-width:860px){.topline{display:none}.links{display:none}.mobile{display:inline-flex}.hero{padding-top:58px}.hero-grid,.split,.contact-grid{grid-template-columns:1fr;gap:38px}.hero h1{font-size:48px}.grid3{grid-template-columns:1fr}.service-list{grid-template-columns:1fr}.steps{grid-template-columns:1fr 1fr}.footgrid{grid-template-columns:1fr}.cta{display:block}.cta .btn{margin-top:22px}.terminal{order:-1}.pagehero h1{font-size:40px}}@media(max-width:520px){.wrap{width:min(var(--max),calc(100% - 28px))}.hero h1{font-size:39px}.steps{grid-template-columns:1fr}.section{padding:62px 0}.cta{padding:30px}.footbottom{display:block}.footbottom span{display:block;margin-top:8px}}


/* v2 profile pages */
.nav .links{gap:20px}.profile-hero{padding:76px 0 58px;background:linear-gradient(135deg,#f8fbfc 0%,#eef6f4 100%);border-bottom:1px solid var(--line)}
.profile-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:54px;align-items:center}.profile-hero h1{font-size:clamp(42px,6vw,68px);line-height:1.02;letter-spacing:-.05em;margin:12px 0 20px}.statgrid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.stat{border:1px solid var(--line);background:#fff;border-radius:12px;padding:20px}.stat strong{display:block;font-size:28px;letter-spacing:-.03em}.stat span{font-size:12px;color:var(--muted)}
.timeline{position:relative;margin-top:30px}.timeline:before{content:"";position:absolute;left:10px;top:5px;bottom:5px;width:2px;background:var(--line)}.role{position:relative;padding:0 0 30px 42px}.role:before{content:"";position:absolute;left:3px;top:7px;width:16px;height:16px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 5px #e7f2ef}.role h3{margin:0;font-size:21px}.role .meta{font-size:13px;color:var(--accent2);font-weight:750;margin:4px 0 8px}.role p{margin:0;color:var(--muted)}
.cert-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:32px}.cert{border:1px solid var(--line);border-radius:14px;padding:24px;background:#fff;min-height:190px}.cert-badge{width:46px;height:46px;border-radius:12px;background:var(--ink);color:#fff;display:grid;place-items:center;font-weight:900;margin-bottom:18px}.cert h3{font-size:19px;line-height:1.25;margin:0 0 8px}.cert p{color:var(--muted);font-size:13px;margin:0}.cert .serial{display:block;margin-top:12px;font-size:11px;color:var(--accent);font-weight:800;letter-spacing:.04em}
.quote-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px;margin-top:30px}.quote{border:1px solid var(--line);border-radius:14px;background:#fff;padding:28px}.quote blockquote{font-family:Georgia,serif;font-size:21px;line-height:1.45;margin:0 0 22px;color:#243441}.quote .who{font-weight:800}.quote .title{font-size:13px;color:var(--muted)}
.tech-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:28px}.tech{padding:18px;border:1px solid var(--line);border-radius:10px;background:#fff}.tech b{display:block;font-size:14px}.tech span{font-size:12px;color:var(--muted)}
.notice{border:1px solid #cfe0dc;background:#f2f8f6;padding:18px 20px;border-radius:10px;color:#36514b;font-size:13px}.smallcaps{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--accent);font-weight:850}
@media(max-width:900px){.profile-grid{grid-template-columns:1fr}.cert-grid{grid-template-columns:1fr 1fr}.tech-grid{grid-template-columns:1fr 1fr}}@media(max-width:620px){.cert-grid,.quote-grid,.tech-grid,.statgrid{grid-template-columns:1fr}}

/* v3 certification icons */
.cert-grid-six{grid-template-columns:repeat(3,1fr)}
.cert-with-icon{display:flex;gap:18px;align-items:flex-start;min-height:215px}
.cert-with-icon img{width:68px;height:68px;flex:0 0 68px;border-radius:16px;box-shadow:0 8px 22px rgba(12,27,42,.10)}
.cert-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:30px}
.mini-cert{display:flex;align-items:center;gap:13px;border:1px solid var(--line);border-radius:12px;padding:14px;background:#fff;transition:transform .15s ease,box-shadow .15s ease}
.mini-cert:hover{transform:translateY(-2px);box-shadow:var(--shadow)}
.mini-cert img{width:48px;height:48px;border-radius:11px;flex:0 0 48px}
.mini-cert b{display:block;font-size:14px}.mini-cert small{display:block;color:var(--muted);font-size:11px;margin-top:2px}
@media(max-width:900px){.cert-grid-six,.cert-strip{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.cert-grid-six,.cert-strip{grid-template-columns:1fr}.cert-with-icon{min-height:auto}}

/* v4 supplied certification images and featured projects */
.cert-with-icon img{object-fit:contain;background:#fff;padding:3px}
.mini-cert img{object-fit:contain;background:#fff;padding:2px}
.project-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:34px}
.project-card{border:1px solid var(--line);border-radius:14px;padding:30px;background:#fff;box-shadow:0 8px 30px rgba(12,27,42,.05)}
.project-card h2{font-size:27px;margin:8px 0 12px}
.project-card p{color:var(--muted);margin:0}
.project-type{display:inline-block;font-size:11px;font-weight:850;text-transform:uppercase;letter-spacing:.13em;color:var(--accent)}
@media(max-width:760px){.project-grid{grid-template-columns:1fr}}

/* v5 AWS-native contact form */
.hp-field{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.form-status{min-height:24px;margin-top:14px;font-size:13px;font-weight:700}
.form-status.success{color:#176b4a;background:#edf8f3;border:1px solid #b9dfcf;border-radius:7px;padding:10px 12px}
.form-status.error{color:#8a2430;background:#fff2f3;border:1px solid #efc4c9;border-radius:7px;padding:10px 12px}
.contact-card button:disabled{opacity:.65;cursor:not-allowed}
