:root{--bg:#111411;--panel:#1b201b;--text:#f3f5ee;--muted:#acb4a6;--line:#343b31;--accent:#b9f668}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:85px}body{margin:0;background:var(--bg);color:var(--text);font:16px/1.65 Arial,Helvetica,sans-serif}a{color:inherit;text-decoration:none}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:3px solid var(--accent);outline-offset:6px}a:hover{color:var(--accent)}.wrap{max-width:1280px;margin:auto;padding-left:64px;padding-right:64px}header{height:90px;max-width:1440px;margin:auto;padding:0 64px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{font-size:34px;font-weight:800;letter-spacing:-2px}.brand span{color:var(--accent)}nav{display:flex;gap:34px;font-size:14px}.resume{border:1px solid #64705c;padding:9px 19px;border-radius:6px;font-size:14px}.hero{padding-top:74px}.eyebrow{font-size:12px;font-weight:700;letter-spacing:1.7px}.eyebrow span{color:#687360;margin:0 13px}h1{font-size:clamp(58px,7.4vw,102px);line-height:1.04;letter-spacing:-5px;margin:33px 0 36px;font-weight:600}h1>span{color:var(--accent)}.hero-bottom{display:flex;justify-content:space-between;align-items:center;gap:30px}.hero-bottom p{max-width:510px;color:var(--muted);font-size:19px;margin:0}.button{display:inline-flex;align-items:center;gap:36px;border-radius:6px;padding:16px 22px;font-weight:700;white-space:nowrap}.primary{background:var(--accent);color:#14200b}.primary:hover{color:#14200b;background:#d1ff95}.count{font-size:13px;border-left:1px solid #7fab4c;padding-left:20px}.hero-foot{display:flex;justify-content:space-between;margin-top:67px;padding:19px 0;border-top:1px solid var(--line);font-size:11px;letter-spacing:1.3px;color:var(--muted)}section.work{padding-top:90px;padding-bottom:80px}.section-head{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:38px}.section-head p{font-size:14px;color:var(--muted);margin:0}h2{font-size:38px;line-height:1.18;letter-spacing:-1.4px;font-weight:500;margin:16px 0 0}.projects{display:grid;grid-template-columns:1fr 1fr;gap:58px 30px}.project-visual{height:340px;display:flex;flex-direction:column;justify-content:space-between;padding:26px 30px;color:#14200e;overflow:hidden;border-radius:5px;transition:transform .2s}.project-visual:hover{transform:translateY(-4px);color:#14200e}.lime{background:#b9f668}.blue{background:#88b9ff}.purple{background:#c3a4ed}.orange{background:#ecab7a}.visual-top,.visual-bottom{display:flex;justify-content:space-between;gap:10px;font-size:11px;font-weight:700;letter-spacing:.6px}.visual-bottom{border-top:1px solid #0003;padding-top:13px;font-size:13px}.visual-bottom span{font-weight:400;font-size:12px;letter-spacing:0}.project-word{font-size:58px;font-weight:700;letter-spacing:-2.8px;line-height:.99}.project-title{display:flex;justify-content:space-between;gap:20px;align-items:start;margin-top:21px}.project-title h3{font-size:21px;line-height:1.3;font-weight:500;margin:0}.project-title>span{color:#85917b;font-size:13px;padding-top:3px}.project p{color:var(--muted);margin:12px 0 18px}.tags{display:flex;flex-wrap:wrap;gap:8px}.tags span{border:1px solid var(--line);padding:4px 11px;border-radius:4px;font-size:12px;color:#c4ccbd}.text-link{display:inline-block;margin-top:20px;font-size:14px;border-bottom:1px solid #74806b;padding-bottom:3px}.about{display:grid;grid-template-columns:1fr 1fr;gap:70px;border-top:1px solid var(--line);padding-top:78px;padding-bottom:78px}.about p{color:var(--muted);margin:0 0 20px}.about .large{color:var(--text);font-size:23px;line-height:1.5}.skill-block{border-top:1px solid var(--line);padding-top:12px;margin-top:30px}.skill-block h3{font-size:14px;font-weight:500;margin:20px 0 12px}.experience{border-top:1px solid var(--line);padding-top:75px;padding-bottom:75px}.job{display:grid;grid-template-columns:1fr 1.4fr 1.4fr;gap:30px;border-top:1px solid var(--line);padding:27px 0}.job>span{font-size:12px;color:var(--muted);padding-top:5px;letter-spacing:.6px}.job h3{font-size:19px;font-weight:500;margin:0}.job small{display:block;color:var(--muted);font-size:13px;margin-top:4px}.job p{font-size:14px;color:var(--muted);margin:0}.education{border-top:1px solid var(--line);padding-top:28px;display:flex;justify-content:space-between;gap:25px;color:var(--muted);font-size:13px}.education p{margin:0}.contact{border-top:1px solid var(--line);padding-top:75px;padding-bottom:65px}.contact h2{font-size:70px;line-height:1.06;letter-spacing:-3px}.contact p{color:var(--muted)}.email{display:inline-block;color:var(--accent);font-size:clamp(18px,3vw,32px);border-bottom:1px solid #5e7a3e;margin-top:15px;overflow-wrap:anywhere}.contact-meta{display:flex;justify-content:space-between;font-size:14px;color:var(--muted);margin-top:45px}footer{border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding-top:25px;padding-bottom:25px;font-size:12px;color:var(--muted)}.skip{position:absolute;left:20px;top:-80px;background:var(--accent);color:#111;padding:10px;z-index:10}.skip:focus{top:10px}dialog{background:#1b211a;color:var(--text);border:1px solid #58624e;border-radius:12px;max-width:780px;width:calc(100% - 30px);max-height:88vh;padding:35px}dialog::backdrop{background:#050805dd;backdrop-filter:blur(7px)}.dialog-top{display:flex;justify-content:space-between;align-items:center;gap:20px}.dialog-top button{background:transparent;border:1px solid #64705c;color:var(--text);padding:9px 15px;border-radius:5px;cursor:pointer;font-size:14px}dialog h2{margin:25px 0;font-size:35px}dialog p,dialog li{color:#bbc4b5}dialog h3{font-size:18px;margin-top:25px}dialog li{margin-bottom:10px}.project-note{border-top:1px solid var(--line);padding-top:20px;font-size:14px}body.modal-open{overflow:hidden}@media(min-width:1500px){h1{font-size:106px}}@media(max-width:800px){.wrap{padding-left:28px;padding-right:28px}header{padding:0 28px;height:80px}nav{gap:19px}h1{letter-spacing:-3px}.hero{padding-top:50px}.hero-bottom{align-items:start;flex-direction:column}.hero-foot{gap:20px;margin-top:40px}.section-head{align-items:start;flex-direction:column;gap:15px}.projects{gap:40px 22px}.project-visual{height:290px;padding:20px}.project-word{font-size:48px}.visual-bottom span{display:none}.visual-top{font-size:10px}.about{gap:35px}.job{grid-template-columns:1fr 2fr}.job p{grid-column:2}.contact h2{font-size:55px}.education{flex-direction:column;gap:10px}}@media(max-width:560px){header{padding:0 20px}.wrap{padding-left:20px;padding-right:20px}nav{gap:17px;font-size:13px}.resume{display:none}.hero .eyebrow{font-size:10px;line-height:1.8;max-width:270px}.hero .eyebrow span{margin:0 6px}h1{font-size:55px;letter-spacing:-2.8px}.hero-bottom p{font-size:17px}.hero-foot{font-size:9px;letter-spacing:.5px}.hero-foot span:last-child{text-align:right}.projects{grid-template-columns:1fr}.project-visual{height:325px;padding:25px}.project-word{font-size:60px}.visual-bottom span{display:block}h2{font-size:32px}.about{grid-template-columns:1fr;gap:28px}.job{grid-template-columns:1fr;gap:8px}.job p{grid-column:auto}.contact h2{font-size:48px}.contact-meta{flex-direction:column;gap:18px}footer{gap:20px;flex-wrap:wrap}.section-head .text-link{margin-top:0}dialog{padding:24px}dialog h2{font-size:29px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.project-visual{transition:none}}
/* Workflow illustrations and wider professional portfolio */
.project-visual{height:380px;padding:22px;gap:18px}.app-preview{color:#203025;background:#fbfcf8;border-radius:9px;box-shadow:0 12px 30px #13231425;width:100%;max-width:420px;align-self:center;overflow:hidden;text-align:left;transform:rotate(-1deg)}.blue .app-preview,.orange .app-preview{transform:rotate(1deg)}.app-bar{padding:11px 15px;border-bottom:1px solid #e1e7dd;display:flex;justify-content:space-between;align-items:center;font-size:12px;background:#f2f5ed}.app-bar b{letter-spacing:.4px}.app-bar span{color:#5f6c58;font-size:12px}.preview-content{padding:16px 19px}.mini-label{font-size:10px;letter-spacing:1px;color:#69755f}.preview-content h4{font-size:22px;line-height:1.15;letter-spacing:-.6px;margin:7px 0 14px;font-weight:600}.flow-row{display:flex;gap:12px;font-size:11px;color:#6b7862;border-bottom:1px solid #e1e7dd;margin-bottom:6px}.flow-row span{padding-bottom:7px}.flow-row .selected{border-bottom:2px solid #547b31;color:#283d1a}.preview-row{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:9px 0;border-bottom:1px solid #edf0e7;font-size:12px}.pill{font-size:10px;background:#e9f0df;padding:2px 6px;border-radius:4px;color:#405931}.preview-action{font-size:11px;color:#405931;padding-top:11px}.kiosk-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.kiosk-grid>span{font-size:12px;border:1px solid #dbe6ef;background:#edf3fb;border-radius:5px;padding:11px}.kiosk-grid b{display:block;font-size:15px;color:#477db3;margin-bottom:5px}.id-stages>div{display:flex;align-items:center;gap:10px;border-bottom:1px solid #eee9e1;padding:7px 0;font-size:12px}.id-stages b{font-size:10px;color:#8a552d;background:#f5e6d8;border-radius:50%;padding:3px 6px}.id-stages em{font-style:normal;margin-left:auto;font-size:10px;color:#88705c}.preview-disclosure{font-size:13px;color:var(--muted);margin:-13px 0 25px}.digital-work{border-top:1px solid var(--line);padding-top:75px;padding-bottom:75px}.digital-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.digital-card{padding:30px;border:1px solid var(--line);border-radius:6px;background:#191e18}.service-symbol{display:flex;justify-content:space-between;align-items:start;font-size:45px;line-height:1.2;font-weight:700;letter-spacing:-2px;color:var(--accent);border-bottom:1px solid var(--line);padding-bottom:25px}.service-symbol span{font-size:12px;letter-spacing:0;color:var(--muted);font-weight:400}.digital-card:nth-child(2) .service-symbol{color:#c3a4ed}.digital-card:nth-child(3) .service-symbol{color:#88b9ff}.digital-card:nth-child(4) .service-symbol{color:#ecab7a}.digital-card h3{font-size:23px;font-weight:500;line-height:1.3;margin:24px 0 14px}.digital-card p{color:var(--muted);margin:0 0 24px}.service-process{display:flex;flex-wrap:wrap;gap:8px}.service-process span{font-size:12px;border:1px solid #434e3b;border-radius:4px;padding:4px 9px;color:#d5decb}.service-credit{font-size:12px;color:var(--muted);margin-top:25px}.tools-line{display:grid;grid-template-columns:1fr 3fr;gap:25px;margin-top:32px;padding-top:26px;border-top:1px solid var(--line);font-size:14px;color:var(--muted)}.tools-line>span{font-size:11px;letter-spacing:1px;padding-top:4px}.tools-line p{margin:0}@media(max-width:800px){nav{gap:15px}.project-visual{padding:16px;height:365px}.app-bar{padding:9px 11px}.app-bar span{font-size:10px}.preview-content{padding:15px 12px}.preview-content h4{font-size:19px}.flow-row{gap:9px;font-size:10px}.preview-row{font-size:11px}.digital-card{padding:24px}}@media(max-width:560px){nav{gap:12px;font-size:12px}.brand{font-size:30px}.project-visual{padding:22px;height:380px}.preview-content{padding:17px}.preview-content h4{font-size:23px}.digital-grid{grid-template-columns:1fr}.tools-line{grid-template-columns:1fr;gap:12px}.visual-top{font-size:10px}.app-bar span{font-size:11px}}@media(prefers-reduced-motion:no-preference){.project-visual .app-preview{transition:transform .25s}.project-visual:hover .app-preview{transform:rotate(0deg) translateY(-3px)}}
