.about-letter-page{padding-top:80px}.ad-letter-header h1{font-weight:650;line-height:1.4;letter-spacing:-.04em}.about-letter-page :is(a,button):focus-visible{outline:2px solid var(--primary);outline-offset:4px}@media(max-width:767px){.about-letter-page{padding-top:68px}}.ad-letter{max-width:740px;margin:0 auto;padding:54px 0}.ad-letter-header{display:flex;gap:22px;align-items:center;padding-bottom:30px;border-bottom:1px solid var(--border)}.ad-letter-header img{border-radius:50%;width:76px;height:76px;object-fit:cover;object-position:72% center}.ad-letter-header h1{font-size:30px;margin:0 0 8px}.ad-letter-header p{font-size:13px;color:var(--muted-foreground)}.ad-letter-body{padding-top:12px}.ad-letter-body>p{font-size:17px;line-height:2.05;margin:23px 0;color:var(--muted-foreground)}.ad-letter-body strong{font-weight:600;color:var(--foreground)}.ad-letter-body h2{font-size:22px;font-weight:600;margin:40px 0 12px}.ad-letter-body p a{color:var(--primary);text-underline-offset:5px;text-decoration:underline;text-decoration-color:var(--border)}.ad-letter-sign{display:flex;flex-direction:column;gap:8px;margin-top:34px}.ad-letter-sign strong{font-size:23px}.ad-letter-sign span{font-size:13px;color:var(--muted-foreground)}.ad-letter-sign a{font-size:13px;color:var(--primary);margin-top:14px}@media(max-width:767px){.ad-letter{padding:32px 0}.ad-letter-header{gap:15px;align-items:start}.ad-letter-header img{width:56px;height:56px}.ad-letter-header h1{font-size:24px}.ad-letter-header p{line-height:1.7}.ad-letter-body>p{font-size:16px}.ad-letter-body h2{font-size:21px}}.ad-letter-experience{margin:28px 0 10px}.ad-letter-experience section{margin-bottom:27px}.ad-letter-experience .ad-letter-date{font-size:12px;letter-spacing:.025em;color:var(--muted-foreground);margin-bottom:7px;font-variant-numeric:tabular-nums}.ad-letter-experience h3{font-size:16px;font-weight:600;line-height:1.7}.ad-letter-experience h3 span{font-weight:400;color:var(--muted-foreground);font-size:14px}.ad-letter-experience section>p:last-child{font-size:15px;line-height:1.95;color:var(--muted-foreground);margin-top:8px}.ad-letter-certificates{margin:24px 0;list-style:none;padding:0}.ad-letter-certificates li{border-bottom:1px solid var(--border)}.ad-letter-certificates a{display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding:13px 0;font-size:14px;line-height:1.7}.ad-letter-cert-org{font-size:12px;color:var(--muted-foreground);text-align:right}.ad-letter-certificates a:hover,.ad-letter-talks a:hover>span{color:var(--primary)}.ad-letter-publication{display:flex;gap:22px;align-items:center;margin:26px 0}.ad-letter-publication img{width:74px;height:100px;object-fit:contain}.ad-letter-publication>span{display:flex;flex-direction:column;gap:8px}.ad-letter-publication strong{font-size:16px;font-weight:500}.ad-letter-publication small{font-size:12px;color:var(--muted-foreground)}.ad-letter-publication .text-link{font-size:13px}.ad-letter-talks{list-style:none;margin:20px 0;padding:0}.ad-letter-talks li+li{margin-top:20px}.ad-letter-talks a>span{display:block;line-height:1.8}.ad-letter-talks small{display:block;font-size:12px;color:var(--muted-foreground);margin-top:4px}.ad-letter-socials{margin-top:36px;padding-top:25px;border-top:1px solid var(--border);scroll-margin-top:100px}.ad-letter-socials>p{font-size:13px;color:var(--muted-foreground)}.ad-letter-socials nav{display:flex;gap:19px;flex-wrap:wrap;margin-top:20px}.ad-letter-socials nav a{display:flex;align-items:center;flex-direction:column;justify-content:center;gap:9px;min-width:44px;min-height:54px;color:var(--muted-foreground);border-radius:5px}.ad-letter-socials nav a:hover{color:var(--primary);background:var(--accent)}.ad-letter-socials nav a>span{font-size:10px;line-height:1.3}.ad-letter-socials nav a:focus-visible{outline:2px solid var(--primary);outline-offset:4px}@media(max-width:767px){.ad-letter-experience h3 span{display:block;font-size:13px}.ad-letter-certificates a{align-items:start;flex-direction:column;gap:3px}.ad-letter-cert-org{text-align:left}.ad-letter-socials nav{gap:12px}.ad-letter-socials nav a{min-width:44px}.ad-letter-publication{gap:16px}.ad-letter-publication strong{font-size:14px}}.ad-letter-direct-contact{display:grid;gap:12px;margin:0 0 27px;font-size:14px;line-height:1.7}.ad-letter-direct-contact>div{display:grid;grid-template-columns:112px minmax(0,1fr);gap:16px}.ad-letter-direct-contact dt{color:var(--muted-foreground)}.ad-letter-direct-contact dd{margin:0;overflow-wrap:anywhere}.ad-letter-direct-contact a:hover{color:var(--primary)}.ad-experience-trigger{cursor:pointer;padding:4px 0;margin-bottom:4px}.ad-career-overlay{position:fixed;inset:0;z-index:80;background:rgb(0 0 0/.35);animation:ad-overlay-in .18s ease-out}.ad-career-drawer{position:fixed;inset:0 0 0 auto;z-index:81;width:min(600px,100%);height:100dvh;background:var(--background);color:var(--foreground);box-shadow:-12px 0 48px rgb(0 0 0/.12);display:flex;flex-direction:column;animation:ad-drawer-in .22s ease-out}.ad-career-heading{display:flex;align-items:start;justify-content:space-between;gap:20px;padding:30px 32px 24px;border-bottom:1px solid var(--border);flex-shrink:0}.ad-career-heading h2{font-size:24px;font-weight:600;line-height:1.5}.ad-career-heading p{font-size:13px;color:var(--muted-foreground);line-height:1.8;margin-top:8px}.ad-career-close{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:40px;height:40px;border-radius:8px;cursor:pointer;color:var(--muted-foreground)}.ad-career-close:hover{background:var(--muted);color:var(--foreground)}.ad-career-close:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.ad-career-body{padding:4px 32px 24px;overflow-y:auto;overscroll-behavior:contain;min-height:0}.ad-career-body .ad-letter-experience section+section{border-top:1px solid var(--border);padding-top:24px}.ad-letter-talks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.ad-letter-talks li+li{margin-top:0}.ad-letter-talks li{min-width:0}.ad-letter-talks a{display:flex;flex-direction:column;justify-content:flex-start;gap:8px;height:100%;padding:14px 16px;border:1px solid var(--border);border-radius:8px;background:var(--card);transition:border-color .15s}.ad-letter-talks a:hover{border-color:var(--primary)}.ad-letter-talks a>span{font-size:15px;font-weight:500;line-height:1.75}.ad-letter-talks small{margin-top:0;font-size:11px;line-height:1.8}@keyframes ad-drawer-in{0%{transform:translateX(100%)}to{transform:translateX(0)}}@keyframes ad-overlay-in{0%{opacity:0}to{opacity:1}}@media(max-width:560px){.ad-letter-talks{grid-template-columns:1fr}.ad-letter-talks a{padding:13px 15px}.ad-career-heading{padding:24px 20px 20px}.ad-career-body{padding:0 20px 24px}}.ad-letter-socials nav button{display:flex;align-items:center;flex-direction:column;justify-content:center;gap:9px;min-width:44px;min-height:54px;color:var(--muted-foreground);border-radius:5px;cursor:pointer}.ad-letter-socials nav button>span{font-size:10px;line-height:1.3}.ad-letter-socials nav button:hover{color:var(--primary);background:var(--accent)}.ad-letter-socials nav button:focus-visible{outline:2px solid var(--primary);outline-offset:4px}.ad-follow-lightbox{position:fixed;z-index:81;top:50%;left:50%;transform:translate(-50%,-50%);width:min(420px,calc(100% - 32px));max-height:calc(100dvh - 32px);overflow-y:auto;padding:30px 28px 26px;border-radius:12px;background:var(--card);color:var(--foreground);text-align:center;box-shadow:0 16px 60px #0003}.ad-follow-lightbox h2{font-size:22px;font-weight:600;line-height:1.5;padding-inline:22px}.ad-follow-close{position:absolute;right:8px;top:8px}.ad-follow-name{font-size:14px;color:var(--muted-foreground);margin-top:8px}.ad-follow-qr{display:block;width:auto;max-width:100%;height:auto;max-height:min(350px,45dvh);margin:20px auto;background:white;object-fit:contain;border-radius:4px}.ad-follow-lightbox [id]{line-height:1.8}.ad-follow-lightbox p[id]{font-size:14px}.ad-follow-hint{font-size:12px;color:var(--muted-foreground);line-height:1.8;margin-top:10px}.ad-follow-lightbox>a{margin-top:18px}.ad-follow-lightbox a:focus-visible{outline:2px solid var(--primary);outline-offset:4px}