:root{--ink:#182126;--paper:#f6f7f5;--muted:#5d686d;--line:#d9deda;--accent:#d9f078;--dark:#11191c;--max:1180px;font-family:Inter,Arial,Helvetica,sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;font-size:16px;line-height:1.65}a{color:inherit;text-underline-offset:5px}button,input,textarea{font:inherit}a:focus-visible,button:focus-visible{outline:3px solid #7b951b;outline-offset:5px}::selection{background:var(--accent);color:var(--ink)}.wrap{width:min(var(--max),calc(100% - 80px));margin:auto}.skip{position:absolute;left:20px;top:-100px;background:var(--accent);padding:12px;z-index:100}.skip:focus{top:10px}.dark{background:var(--dark);color:#f7f8f4}.header{display:flex;justify-content:space-between;align-items:center;gap:24px;padding-block:25px;border-bottom:1px solid #ffffff25}.brand{text-decoration:none;font-size:20px;font-weight:750;letter-spacing:-.04em}.brand span{color:var(--accent)}nav{display:flex;gap:28px;align-items:center;font-size:14px}nav a{text-decoration:none}nav a:hover{text-decoration:underline}.nav-cv{border:1px solid #829087;padding:8px 15px}.hero{display:grid;grid-template-columns:1.1fr 1fr;gap:80px;align-items:center;padding:66px 0 74px}.eyebrow{text-transform:uppercase;letter-spacing:.13em;font-size:12px;font-weight:700;margin:0 0 22px}.hero .eyebrow{color:var(--accent)}h1,h2,h3{line-height:1.1;letter-spacing:-.045em;margin:0;font-weight:650}h1{font-size:clamp(48px,6.6vw,88px)}.hero h1 span{display:block;color:#acb6b7}.hero .lead{font-size:18px;color:#bdc7c8;max-width:520px;margin:28px 0 30px;line-height:1.7}.actions{display:flex;gap:12px;flex-wrap:wrap}.button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:11px 20px;font-size:14px;font-weight:650;text-decoration:none;border:1px solid #6f7f83;border-radius:3px;transition:background .2s,transform .2s}.button:hover{transform:translateY(-2px);background:#ffffff12}.button.primary{background:var(--accent);border-color:var(--accent);color:#172119}.light-button{background:var(--ink);color:white;border-color:var(--ink)}.light-button:hover{background:#344246}.hero-note{font-size:13px;color:#97a6a8;margin:25px 0 0}.portrait{margin:0;position:relative}.portrait img{display:block;width:100%;height:455px;object-fit:cover;object-position:center 48%;border-radius:4px}.portrait figcaption{display:flex;justify-content:space-between;gap:15px;font-size:12px;margin-top:13px;color:#a7b2b5}.proof{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #ffffff25;padding:26px 0 32px;gap:30px}.proof strong{display:block;font-size:22px;font-weight:550;letter-spacing:-.03em}.proof span{color:#a4b3b5;font-size:13px}.section{padding:80px 0}.section-heading{display:flex;justify-content:space-between;gap:25px;align-items:end;margin-bottom:36px}.section h2{font-size:clamp(32px,4vw,48px)}.section-heading p{max-width:360px;color:var(--muted);margin:0;font-size:15px}.project-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}.project-card{border:1px solid var(--line);background:white;border-radius:4px;overflow:hidden;transition:transform .2s,border-color .2s}.project-card:hover{transform:translateY(-4px);border-color:#819287}.project-card a{display:block;text-decoration:none;padding:30px;height:100%}.card-top{display:flex;align-items:center;justify-content:space-between;gap:15px;color:var(--muted);font-size:12px;margin-bottom:45px}.card-top b{font:13px monospace;color:#59684b}.project-card h3{font-size:30px;margin-bottom:15px}.project-card p{color:var(--muted);margin:0 0 25px;max-width:440px}.tags{display:flex;flex-wrap:wrap;gap:8px}.tags span{font-size:12px;padding:4px 9px;background:#edf1e9;border-radius:2px;color:#425039}.card-foot{display:flex;justify-content:space-between;gap:15px;border-top:1px solid var(--line);margin-top:28px;padding-top:17px;font-size:13px}.card-foot span:last-child{font-weight:600}.about{border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1.3fr;gap:80px}.about p{color:var(--muted);margin:0 0 22px}.education{margin-top:30px;padding-left:20px;border-left:3px solid #96ac4d}.education strong{display:block}.education span{color:var(--muted);font-size:14px}.skill-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:35px}.skill-grid h3{font-size:18px;letter-spacing:-.02em;margin-bottom:16px}.skill-grid p{font-size:14px;color:var(--muted)}.ongoing{display:grid;grid-template-columns:repeat(2,1fr);gap:35px;margin-top:35px}.ongoing h3{font-size:22px}.ongoing p{color:var(--muted)}.label{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:#617c20}.contact{padding:70px 0}.contact h2{font-size:clamp(34px,4vw,52px);max-width:600px}.contact p{color:#b7c3c4;max-width:630px}.contact .actions{margin-top:28px}.footer{display:flex;justify-content:space-between;gap:20px;padding-block:25px;border-top:1px solid #ffffff25;font-size:13px;color:#adbbbd}.footer a{margin-left:18px}.preview-banner{padding:9px 24px;background:#dfebbd;color:#354324;text-align:center;font-size:13px}.page-header{padding:60px 0 48px;border-bottom:1px solid var(--line)}.page-header h1{font-size:clamp(40px,5.4vw,70px);max-width:850px}.page-header .lead{font-size:20px;color:var(--muted);max-width:780px;margin-top:22px}.page-header .actions{margin-top:25px}.breadcrumbs{font-size:14px;margin-bottom:30px;color:var(--muted)}.facts{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;padding:26px 0;border-bottom:1px solid var(--line)}.facts small{display:block;color:var(--muted);margin-bottom:4px}.case-body{display:grid;grid-template-columns:190px minmax(0,1fr);gap:70px;padding:55px 0}.case-body aside{font-size:14px;color:var(--muted)}.case-body aside a{display:block;margin-bottom:10px}.case-copy{max-width:780px}.case-copy section{margin-bottom:45px;scroll-margin-top:25px}.case-copy h2{font-size:27px;margin-bottom:18px}.case-copy p,.case-copy li{color:#465359}.case-copy li{margin-bottom:10px}.flow{display:flex;list-style:none;padding:0;gap:10px;flex-wrap:wrap;counter-reset:step}.flow li{counter-increment:step;flex:1;min-width:130px;border:1px solid var(--line);padding:18px;font-size:14px}.flow li:before{content:counter(step,decimal-leading-zero);display:block;font:12px monospace;color:#6b7a57;margin-bottom:12px}.case-photo{width:min(100%,440px);height:auto;display:block;border-radius:4px}.cv-layout{display:grid;grid-template-columns:minmax(0,1fr) 250px;gap:70px;padding:50px 0}.cv-main section{margin-bottom:40px}.cv-main h2{font-size:24px;margin-bottom:20px}.cv-entry{padding:20px 0;border-top:1px solid var(--line)}.cv-entry h3{font-size:20px;letter-spacing:-.025em}.cv-entry p{margin:8px 0}.cv-entry .meta{color:var(--muted);font-size:14px}.cv-entry ul{padding-left:21px}.cv-entry li{margin-bottom:8px}.cv-aside{font-size:14px;overflow-wrap:anywhere}.cv-aside h2{font-size:19px;margin-bottom:16px}.cv-aside>div{margin-bottom:32px}.cv-aside img{width:150px;height:150px}.cv-aside a{display:block;margin-bottom:10px}.print-button{background:transparent;cursor:pointer}.fine{font-size:13px;color:var(--muted)}.no-js-note{padding:20px}#print-cv{margin-top:12px}dialog{max-width:600px;padding:30px;border:1px solid var(--line)}@media(max-width:850px){.wrap{width:calc(100% - 40px)}.hero{gap:35px}.portrait img{height:380px}.hero h1{font-size:60px}.about{gap:35px}.cv-layout{gap:35px;grid-template-columns:1fr 210px}.case-body{grid-template-columns:140px 1fr;gap:30px}}@media(max-width:600px){.header{align-items:flex-start;gap:12px;padding-block:20px}.brand{font-size:18px;white-space:nowrap}nav{gap:14px;font-size:13px;flex-wrap:wrap;justify-content:flex-end}.nav-cv{padding:3px 7px}.hero{grid-template-columns:1fr;gap:32px;padding:42px 0}.hero h1{font-size:62px}.hero .lead{font-size:17px}.portrait img{height:390px;object-position:center 42%}.proof{gap:14px}.proof strong{font-size:18px}.proof span{font-size:12px}.section{padding:55px 0}.section-heading{display:block}.section-heading p{margin-top:20px}.project-grid,.about,.skill-grid,.ongoing,.cv-layout{grid-template-columns:1fr}.project-card a{padding:25px}.card-top{margin-bottom:32px}.about{gap:30px}.footer{flex-direction:column}.footer a{margin:0 18px 0 0}.facts{grid-template-columns:1fr;gap:15px}.case-body{display:block;padding-top:30px}.case-body aside{display:flex;gap:20px;margin-bottom:30px;flex-wrap:wrap}.cv-layout{gap:25px}.page-header .lead{font-size:18px}.contact{padding:50px 0}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}@media print{.dark,.preview-banner,.skip,.actions,.cv-aside,.breadcrumbs,.case-body aside{display:none!important}.wrap{width:100%}.cv-layout,.case-body{display:block;padding:15px 0}body{font-size:11pt;background:white;color:black}.page-header{padding:0 0 12px}.page-header h1{font-size:30pt}.page-header .lead{font-size:12pt}.cv-main section{margin-bottom:20px}a{color:inherit;text-decoration:none}.cv-entry{break-inside:avoid}h2,h3{break-after:avoid}.tags span{border:1px solid #ddd}}
.contact-columns{display:grid;grid-template-columns:1fr 1fr;gap:70px}.contact-form{display:grid;gap:15px}.contact-form label{font-size:14px;display:grid;gap:7px;color:#c5cecf}.contact-form input,.contact-form textarea{width:100%;padding:12px;background:#1c272b;border:1px solid #5e7176;border-radius:3px;color:#fff}.contact-form button{cursor:pointer;justify-self:start}.contact-form button:disabled{opacity:.6;cursor:wait}.contact-form [role=status]{font-size:14px;margin:0;min-height:24px}.contact-form .trap{display:none}@media(max-width:750px){.contact-columns{grid-template-columns:1fr;gap:40px}}
/* Revised proposal: a compact editorial opening, grounded in the actual competition. */
.hero{gap:65px;padding:52px 0 50px;align-items:center;min-height:540px}.hero h1{font-size:clamp(50px,6.8vw,87px);line-height:1.03;letter-spacing:-.065em;font-weight:600}.hero h1 em{font-style:normal;color:var(--accent)}.hero .eyebrow{font-size:12px;letter-spacing:.12em;margin-bottom:24px}.hero .lead{font-size:17px;line-height:1.75;max-width:440px;margin:26px 0}.hero-note{font-size:12px;letter-spacing:.025em;margin-top:22px}.hero .button{padding:13px 23px}.portrait{padding-bottom:8px;isolation:isolate}.portrait-index{display:flex;justify-content:space-between;color:#a9b8ba;font:11px monospace;text-transform:uppercase;letter-spacing:.08em;margin-bottom:13px}.portrait img{height:440px;border-radius:2px;object-position:center 43%;filter:saturate(.72);box-shadow:20px 20px 0 -1px #253134}.portrait:after{content:'';position:absolute;inset:26px -20px 20px 20px;border:1px solid #61716a;z-index:-1}.portrait figcaption{font-size:11px;line-height:1.6;margin-top:20px}.portrait figcaption b{font-weight:400;color:#7e9498}.award-plate{position:absolute;right:-23px;bottom:95px;display:grid;grid-template-columns:auto auto;align-items:center;column-gap:16px;background:var(--accent);color:#1e2a1e;padding:17px 22px;box-shadow:0 8px 26px #101a1640;transform:rotate(-3deg)}.award-plate strong{font-size:54px;font-weight:600;line-height:1;letter-spacing:-.07em;grid-row:1/3}.award-plate sup{font-size:23px}.award-plate span{font-size:10px;letter-spacing:.07em;line-height:1.45;font-weight:700}.award-plate small{font-size:10px;letter-spacing:.15em;margin-top:4px}.proof{padding:26px 0 30px;gap:40px}.proof>div+div{border-left:1px solid #ffffff20;padding-left:35px}.proof .proof-index{font:10px monospace;letter-spacing:.07em;color:#97aa91;display:block;margin-bottom:10px}.proof strong{font-size:22px;line-height:1.25;margin-bottom:6px}.proof span{font-size:12px}.project-card{position:relative}.project-card .card-top{margin-bottom:35px}.project-card:nth-child(1){border-top:3px solid #65864f}.project-card:nth-child(2){border-top:3px solid #496b86}.project-card:nth-child(3){border-top:3px solid #b1914a}.project-card:nth-child(4){border-top:3px solid #65779c}.project-card:hover .card-top b{color:#223729}.project-card h3{font-size:32px}.preview-banner{background:#263633;color:#d5e1dc;font-size:12px;padding:6px 20px}.hero>div{animation:enter .65s ease both}.portrait{animation:enter .8s .08s ease both}@keyframes enter{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@media(min-width:1100px){.hero{grid-template-columns:1.2fr 1fr}.portrait img{height:450px}}@media(max-width:1000px){.hero{gap:38px;grid-template-columns:1.15fr 1fr}.hero h1{font-size:60px}.portrait img{height:410px}.award-plate{right:-10px;bottom:90px;padding:13px 18px}.hero .lead{font-size:16px}.proof{gap:20px}.proof>div+div{padding-left:20px}.proof strong{font-size:20px}}@media(max-width:700px){.hero{grid-template-columns:1fr;gap:38px;padding-top:38px}.hero h1{font-size:clamp(48px,10vw,70px)}.hero .lead{max-width:520px;font-size:17px}.portrait{max-width:520px;width:100%}.portrait img{height:460px}.proof{grid-template-columns:1fr;gap:20px}.proof>div+div{border-left:0;border-top:1px solid #ffffff20;padding:20px 0 0}.proof strong{font-size:24px}.proof .proof-index{margin-bottom:7px}.proof span{font-size:13px}}@media(max-width:400px){.portrait img{height:380px}.hero h1{font-size:46px}.award-plate strong{font-size:46px}.award-plate{right:-7px}.hero .actions .button{padding:11px 16px}}

/* Comfortable navigation and reading on narrow screens. */
@media screen and (max-width:600px){
 .header{display:grid;grid-template-columns:1fr;gap:14px;padding-block:20px 14px}
 .brand{font-size:22px}
 .header nav{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;width:100%;justify-content:stretch}
 .header nav a{display:flex;min-height:44px;align-items:center;justify-content:center;font-size:13px;border-radius:3px}
 .header .nav-cv{background:var(--accent);color:var(--ink);border-color:var(--accent);white-space:nowrap}
 .page-header{padding:38px 0 32px;overflow-wrap:anywhere}
 .page-header h1{font-size:clamp(36px,10vw,52px)}
 .page-header .lead{line-height:1.6}
 .actions{display:grid;grid-template-columns:1fr;width:100%}
 .button{min-height:48px}
 .cv-main,.case-copy,.project-card{min-width:0;overflow-wrap:anywhere}
 .cv-main h2{font-size:26px;line-height:1.2}
 .cv-entry{padding:24px 0}
 .cv-entry h3{font-size:22px;line-height:1.25}
 .cv-entry li,.case-copy li{line-height:1.8;margin-bottom:12px}
 .cv-aside{border-top:1px solid var(--line);padding-top:30px}
 .cv-aside a{min-height:44px;display:flex;align-items:center}
 .case-body aside{gap:8px}
 .case-body aside a{padding:8px 12px;background:#e9eee4;min-height:44px;display:flex;align-items:center;border-radius:3px;margin:0}
 .card-foot{flex-wrap:wrap}
 .footer div{display:flex;gap:20px}.footer a{min-height:44px;display:flex;align-items:center;margin:0}
}
