@import url("https://fonts.googleapis.com/css2?family=Newsreader:ital,opsz,wght@0,6..72,400..600;1,6..72,400..600&display=swap");
/* Layout concept: a lab notebook. Graph paper and a red margin rule frame the hero; content runs in a reading column with a facts margin on the left and notes on the right. */
:root{
  --paper:#F8F6F1;--sheet:#FDFCF9;--grid:#E2E7EC;--grid-5:#CFD7DF;
  --ink:#1A1D21;--mute:#565C64;--rule:#D9DDE1;
  --blue:#1F4E8C;--red:#B3261E;--hl:#F6DA5B;
  --serif:"Newsreader",Georgia,"Times New Roman",serif;
  --mono:"IBM Plex Mono",ui-monospace,Menlo,Consolas,monospace;
  --measure:64ch;
  color-scheme:light;
}
@font-face{font-family:"IBM Plex Mono";font-weight:500;font-style:normal;font-display:swap;src:url(data:font/woff2;base64,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) format("woff2")}

*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);font:400 18px/1.6 var(--serif);text-rendering:optimizeLegibility}
img{max-width:100%;height:auto;display:block}
a{color:var(--ink);text-decoration-thickness:1px;text-underline-offset:3px}
a:hover{color:var(--blue)}
:focus-visible{outline:2px solid var(--blue);outline-offset:3px;border-radius:2px}
h1,h2,h3{font-weight:400;line-height:1.15;text-wrap:balance;margin:0}
p{margin:0}
mark{background:linear-gradient(transparent 64%,var(--hl) 64%,var(--hl) 88%,transparent 88%);color:inherit;padding:0 .04em}

.wrap{max-width:1180px;margin:0 auto;padding-left:max(24px,env(safe-area-inset-left,0px));padding-right:max(24px,env(safe-area-inset-right,0px))}
.label{font:500 12px/1.4 var(--mono);letter-spacing:.1em;text-transform:uppercase}
.label.red{color:var(--red)}.label.blue{color:var(--blue)}.label.mute{color:var(--mute)}
.note{font-style:italic;color:var(--blue)}
.graph{background-color:var(--paper);background-image:
  linear-gradient(var(--grid-5) 1px,transparent 1px),linear-gradient(90deg,var(--grid-5) 1px,transparent 1px),
  linear-gradient(var(--grid) 1px,transparent 1px),linear-gradient(90deg,var(--grid) 1px,transparent 1px);
  background-size:120px 120px,120px 120px,24px 24px,24px 24px;background-position:-1px -1px}
.ko{background:var(--paper);box-decoration-break:clone;-webkit-box-decoration-break:clone;padding:0 .3em;margin-left:-.3em}

/* nav */
.nav{border-bottom:1px solid var(--rule);background:var(--sheet)}
.nav .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-block:14px}
.nav .home{font:500 13px var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--red);text-decoration:none}
.nav ul{display:flex;gap:22px;list-style:none;margin:0;padding:0;font:500 13px var(--mono);letter-spacing:.06em;text-transform:uppercase}
.nav ul a{text-decoration:none;color:var(--ink)}
.nav ul a[aria-current]{color:var(--blue);text-decoration:underline}

/* buttons */
.btns{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.btn{display:inline-flex;align-items:center;gap:8px;font:500 13px var(--mono);letter-spacing:.08em;text-transform:uppercase;padding:12px 18px;border:1.5px solid var(--ink);border-radius:3px;text-decoration:none;color:var(--ink);background:var(--sheet)}
.btn.fill{background:var(--ink);color:var(--sheet)}
.btn:hover{border-color:var(--blue);color:var(--blue)}.btn.fill:hover{background:var(--blue);color:#fff}

/* hero */
.hero{border-bottom:1px solid var(--rule);position:relative}
.hero::before,.case-head::before{content:"";position:absolute;top:0;bottom:0;left:max(10px,calc(50% - 600px));width:3px;background:var(--red)}
.hero .wrap{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);grid-template-areas:"intro proof" "rest proof";column-gap:56px;align-items:center;padding-block:72px 64px}
.hero .intro{grid-area:intro;align-self:end}.hero .rest{grid-area:rest;align-self:start}.hero .proof{grid-area:proof}
.tabs .sm{display:none}
.hero h1{font-size:clamp(46px,6vw,76px);letter-spacing:0;line-height:1.12}
.hero .lede{margin-top:0;padding-top:22px;font-size:20px;max-width:34ch}
.hero .now{margin-top:14px;font-size:16px;color:var(--mute);max-width:44ch}
.hero .btns{margin-top:28px}
.hero .addr{margin-top:12px;font:500 13px var(--mono);color:var(--mute)}

/* proof panel */
.proof{background:var(--sheet);border:1.5px solid var(--ink);border-radius:4px;padding:22px 24px 18px;box-shadow:6px 6px 0 var(--grid-5)}
.tabs{display:flex;flex-wrap:wrap;gap:4px 18px;border-bottom:1px solid var(--rule);margin-bottom:18px}
.tabs button{appearance:none;background:none;border:0;padding:0 0 10px;margin-bottom:-1px;font:500 12px var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--mute);cursor:pointer;border-bottom:2px solid transparent;position:relative}
.tabs button[aria-selected=true]{color:var(--ink);border-bottom-color:var(--ink)}
.tabs button .tick{position:absolute;left:0;bottom:-2px;height:2px;background:var(--red);width:0}
.slide .big{font:400 clamp(40px,4.4vw,56px)/1 var(--serif);letter-spacing:-.02em}
.slide .cap{margin-top:8px;font-size:16px}
.slide svg{display:block;width:100%;height:auto;margin-top:14px}
.slide .src{display:flex;justify-content:space-between;margin-top:10px;font:500 12px var(--mono);letter-spacing:.06em;text-transform:uppercase}
.slide .src a{color:var(--red);text-decoration:none}
.proof-foot{display:flex;justify-content:space-between;align-items:center;margin-top:12px;font:500 11px var(--mono);color:var(--mute)}
.pause{appearance:none;background:none;border:1px solid var(--rule);border-radius:3px;font:500 11px var(--mono);letter-spacing:.06em;text-transform:uppercase;padding:4px 8px;color:var(--mute);cursor:pointer}

/* sections */
section.block{padding-block:72px;border-bottom:1px solid var(--rule)}
.sec-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:24px}
.sec-head h2{font-size:clamp(28px,3vw,36px);margin-top:8px}

/* log */
.filters{display:flex;flex-wrap:wrap;gap:8px}
.filters button{appearance:none;font:500 12px var(--mono);letter-spacing:.06em;text-transform:uppercase;padding:7px 12px;border-radius:20px;border:1px solid var(--grid-5);background:var(--sheet);color:var(--ink);cursor:pointer}
.filters button[aria-pressed=true]{background:var(--ink);color:var(--sheet);border-color:var(--ink)}
.log{list-style:none;margin:0;padding:0;border-top:1.5px solid var(--ink)}
.log li{border-bottom:1px solid var(--rule)}
.log a{display:grid;grid-template-columns:56px minmax(0,1.3fr) minmax(0,1fr) 150px;gap:20px;align-items:baseline;padding:18px 4px;text-decoration:none;color:var(--ink)}
.log a:hover{background:var(--sheet)}
.log a:hover .t{color:var(--blue)}
.log .n{font:500 14px var(--mono);color:var(--red)}
.log .t{font-weight:500;font-size:19px;line-height:1.3}
.log .t .ext{font:500 12px var(--mono);color:var(--mute);margin-left:6px}
.log .d{font-style:italic;color:var(--blue);font-size:16px}
.log .r{font:500 14px var(--mono);text-align:right}
.log .r small{display:block;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--mute);margin-top:2px}
.log li[hidden]{display:none}

/* about */
.about{display:grid;grid-template-columns:240px minmax(0,1fr);gap:48px;align-items:start}
.about img{border:1.5px solid var(--ink);border-radius:3px;width:100%}
.about .body{display:grid;gap:16px;max-width:var(--measure);font-size:19px}

/* footer */
.contact{padding-block:72px}
.contact h2{font-size:clamp(32px,4vw,44px)}
.contact .addr{margin-top:14px;font:500 15px var(--mono)}
.contact .btns{margin-top:24px}
.foot{border-top:1px solid var(--rule);padding-block:24px;font:500 12px var(--mono);color:var(--mute);letter-spacing:.06em}
.foot .wrap{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px}

/* case study */
.case-head{position:relative;border-bottom:1px solid var(--rule)}
.case-head .wrap{padding-block:56px 48px;max-width:1180px}
.case-head h1{font-size:clamp(38px,5vw,60px);letter-spacing:-.02em;margin-top:12px;max-width:20ch}
.case-head .dek{margin-top:16px;font-size:20px;max-width:52ch}
.case{display:grid;grid-template-columns:220px minmax(0,1fr);gap:56px;padding-block:56px 72px}
.spec{position:sticky;top:24px;align-self:start;border-top:1.5px solid var(--ink);padding-top:14px}
.spec dl{margin:12px 0 0;display:grid;gap:12px}
.spec dt{font:500 11px var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--mute)}
.spec dd{margin:2px 0 0;font-size:16px;line-height:1.4}
.spec .res dt{color:var(--red)}.spec .res dd{font-weight:600}
.spec .tag{display:inline-block;margin-top:4px;font:500 11px var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--blue)}
.body{display:grid;gap:44px;min-width:0}
.step{display:grid;grid-template-columns:minmax(0,var(--measure)) minmax(0,190px);gap:36px;align-items:start}
.step .txt{display:grid;gap:14px;min-width:0}
.step h2{font:500 13px var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--red)}
.step ul{margin:0;padding-left:1.1em;display:grid;gap:8px}
.step .result{font:600 clamp(32px,3.6vw,44px)/1.1 var(--serif);letter-spacing:-.01em}
.margin-note{font-style:italic;color:var(--blue);font-size:16px;line-height:1.45;border-left:2px solid var(--blue);padding-left:12px;margin-top:4px}
figure{margin:0}
figure img{border:1px solid var(--rule);border-radius:3px}
figcaption{margin-top:8px;font:500 12px var(--mono);letter-spacing:.06em;color:var(--mute)}
.chartfig svg{display:block;width:100%;max-width:520px;height:auto;background:var(--sheet);border:1px solid var(--rule);border-radius:3px;padding:10px}
.flow{display:block;width:100%;height:auto;background:var(--sheet);border:1px solid var(--rule);border-radius:3px}
.next-exp{display:flex;justify-content:space-between;flex-wrap:wrap;gap:16px;align-items:center;border-top:1.5px solid var(--ink);padding-top:20px}
.next-exp a{font-weight:600;font-size:20px}

/* resume */
.rhead{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:20px}
.rhead h1{font-size:clamp(40px,5vw,60px);letter-spacing:-.02em}
.rgrid{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:56px;padding-block:48px 72px}
.tl{list-style:none;margin:0;padding:0;border-top:1.5px solid var(--ink)}
.tl>li{display:grid;grid-template-columns:150px minmax(0,1fr);gap:28px;padding:24px 0;border-bottom:1px solid var(--rule)}
.tl .when{font:500 12px/1.5 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--mute);border-left:3px solid var(--red);padding-left:12px}
.tl .when.past{border-left-color:var(--rule)}
.tl h3{font-size:21px}
.tl .org{color:var(--mute);font-size:17px;margin-top:2px}
.tl .desc{font-style:italic;color:var(--blue);font-size:16px;margin-top:4px}
.tl ul{margin:12px 0 0;padding-left:1.1em;display:grid;gap:6px;font-size:17px}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.chips a{font:500 12px var(--mono);letter-spacing:.06em;text-transform:uppercase;text-decoration:none;color:var(--red);border:1px solid var(--red);border-radius:20px;padding:5px 10px}
.chips a:hover{background:var(--red);color:#fff}
.side{display:grid;gap:28px;align-content:start;position:sticky;top:24px}
.side h2{font:500 12px var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--blue);border-top:1.5px solid var(--ink);padding-top:12px}
.side p{margin-top:8px;font-size:16px;line-height:1.55}
.rsum{max-width:var(--measure);font-size:19px;margin-top:18px}

@media (max-width:900px){
  .hero .wrap{grid-template-columns:1fr;grid-template-areas:"intro" "proof" "rest";row-gap:24px;padding-block:36px 48px}
  .hero .lede{padding-top:0}
  .log a{grid-template-columns:40px minmax(0,1fr);gap:4px 14px}
  .log .d{grid-column:2}.log .r{grid-column:2;text-align:left}
  .about{grid-template-columns:1fr;gap:24px}.about img{max-width:220px}
  .case{grid-template-columns:1fr;gap:32px}
  .spec{position:static}
  .spec dl{grid-template-columns:repeat(2,minmax(0,1fr))}
  .step{grid-template-columns:1fr;gap:12px}
  .rgrid{grid-template-columns:1fr}.side{position:static}
  .tl>li{grid-template-columns:1fr;gap:10px}
}
@media (max-width:520px){
  body{font-size:17px}
  .nav ul{gap:14px}
  .hero::before,.case-head::before{left:8px}
  .proof{padding:16px 16px 12px;box-shadow:4px 4px 0 var(--grid-5)}
  .tabs{flex-wrap:nowrap;gap:14px}.tabs .lg{display:none}.tabs .sm{display:inline}
  .slide .cap{font-size:15px}.slide svg{margin-top:8px}
  .hero h1{font-size:44px}
  .btn.more{display:none}
  .proof-foot span{display:none}
  section.block{padding-block:52px}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
@media print{
  .nav,.btns,.chips,.foot,.pause{display:none!important}
  body{background:#fff;font-size:11pt}
  .rgrid{grid-template-columns:1fr;padding:0}
  .side{position:static}
  .tl>li{break-inside:avoid;padding:10px 0}
}

.artifact{margin-top:22px;padding:24px;background:var(--sheet);border:1px solid var(--rule)}
.artifact p+p{margin-top:16px}.artifact img{margin:16px auto;max-height:620px;width:auto}
.artifact details{border-top:1px solid var(--rule);padding:18px 0}.artifact summary{font-family:var(--mono);font-size:13px;cursor:pointer;color:var(--blue)}
.artifact details p{margin-top:15px}.decision{padding:20px;border-left:2px solid var(--blue);background:var(--sheet)}
.mini-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:20px}.mini-grid div{padding:16px;border:1px solid var(--rule);font-size:15px;line-height:1.5}.mini-grid b{display:block;color:var(--red);font:500 12px var(--mono);margin-bottom:12px}
.skip-link{position:absolute;left:20px;top:-80px;background:var(--sheet);padding:12px;z-index:30}.skip-link:focus{top:8px}
@media(max-width:620px){.mini-grid{grid-template-columns:1fr}.artifact{padding:16px}}

/* Quiet graph-paper background; denser grid remains confined to project headers. */
body{background-color:var(--paper);background-image:linear-gradient(rgba(31,78,140,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(31,78,140,.045) 1px,transparent 1px);background-size:32px 32px;font-optical-sizing:auto}
.hero .now .current-role{color:var(--blue)}
.body .txt{line-height:1.75}.body .txt p+p{margin-top:18px}
.case-head h1{line-height:1.15;letter-spacing:0}.hero .lede{line-height:1.6}
.slide .big,.result{font-weight:400}.next-exp a{font-weight:500}
@media print{body{background:white;background-image:none}.print-resume{display:none!important}}
