:root{color-scheme:light;--ink:#19263e;--red:#c92735;--bg:#f3f6fc;--muted:#59677c}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-height:100vh;color:var(--ink);font-family:"Noto Sans JP",system-ui,-apple-system,"Yu Gothic",Meiryo,sans-serif;background:linear-gradient(125deg,#f9fbff 0%,#edf2fb 52%,#f8faff 100%);overflow-x:hidden}body:before{content:"";position:fixed;inset:0;z-index:-2;background:repeating-linear-gradient(130deg,transparent 0 190px,rgba(49,78,128,.025) 191px 255px,transparent 256px 440px);pointer-events:none}.corner{position:fixed;width:240px;height:220px;pointer-events:none;z-index:-1}.corner-top{top:0;left:0;background:linear-gradient(126deg,#233b61 0 48%,#c92735 48% 57%,transparent 57%);clip-path:polygon(0 0,100% 0,0 100%)}.corner-bottom{bottom:0;right:0;background:linear-gradient(126deg,transparent 0 39%,#c92735 39% 55%,#233b61 55%);clip-path:polygon(100% 0,100% 100%,0 100%)}.page{width:min(100% - 36px,680px);margin:0 auto;padding:58px 0 72px}.intro{text-align:center}.avatar{width:154px;height:154px;margin:0 auto 24px;border-radius:50%;box-shadow:0 12px 32px #233b6126;background:#fff;overflow:hidden}.avatar svg{display:block;width:100%;height:100%}h1{font-size:clamp(1.9rem,6vw,3rem);letter-spacing:-.04em;line-height:1.25;margin:0;font-weight:850}.slashes{color:var(--red);font-style:italic;letter-spacing:-.15em;padding-left:8px}.role{font-weight:700;font-size:clamp(.92rem,2.5vw,1.12rem);margin:12px 0 0}.accent-line{width:56px;height:4px;background:var(--red);margin:22px auto;border-radius:5px}.description{font-size:1rem;line-height:1.9;margin:0 auto 25px;max-width:540px}.tags{display:flex;flex-wrap:wrap;justify-content:center;gap:9px;margin:0 auto 42px}.tags span{background:#fff;border:1px solid #e2e9f5;border-radius:30px;padding:8px 14px;font-size:.83rem;font-weight:650;box-shadow:0 3px 12px #24395d10}.links{display:grid;gap:13px}.link-card{display:flex;align-items:center;min-height:94px;border:1px solid #e1e7f2;border-radius:19px;background:#ffffffed;box-shadow:0 6px 18px #253d6514;text-decoration:none;color:inherit;overflow:hidden;transition:transform .2s,box-shadow .2s,border-color .2s}.link-card:hover{transform:translateY(-3px);box-shadow:0 11px 25px #253d6523;border-color:#b8c8e2}.link-card:focus-visible{outline:3px solid var(--red);outline-offset:3px}.card-icon{width:99px;align-self:stretch;display:grid;place-items:center;clip-path:polygon(0 0,100% 0,79% 100%,0 100%);flex:none}.card-icon.navy{background:linear-gradient(135deg,#2d476f,#172841)}.card-icon.red{background:linear-gradient(135deg,#d83b48,#a9182b)}.card-icon svg{width:32px;height:32px;stroke:#fff;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.card-copy{display:flex;flex-direction:column;gap:5px;padding:15px 14px;min-width:0;flex:1}.card-copy strong{font-size:1.18rem}.card-copy small{font-size:.84rem;color:var(--muted);line-height:1.4}.arrow{font-size:2.1rem;font-weight:300;padding:0 21px 4px 5px}.profile-detail{margin-top:44px;background:#ffffffbf;border:1px solid #e1e7f2;border-radius:18px;padding:24px 28px;scroll-margin-top:24px}.profile-detail h2{font-size:1.2rem;margin:0 0 10px;padding-left:12px;border-left:4px solid var(--red)}.profile-detail p{margin:0;color:#44536b;line-height:1.9;font-size:.93rem}@media(max-width:520px){.page{padding:50px 0 52px}.avatar{width:126px;height:126px}.corner{width:145px;height:140px}.description{font-size:.9rem}.desktop-break{display:none}.tags{margin-bottom:32px}.tags span{font-size:.76rem;padding:7px 10px}.link-card{min-height:82px;border-radius:15px}.card-icon{width:76px}.card-icon svg{width:27px;height:27px}.card-copy{padding:12px 8px}.card-copy strong{font-size:1rem}.card-copy small{font-size:.75rem}.arrow{padding-right:13px}.profile-detail{padding:20px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.link-card{transition:none}}

/* About / credentials / links */
.profile-detail{margin-top:0;margin-bottom:20px}
.certifications{background:#ffffffd9;border:1px solid #e1e7f2;border-radius:18px;padding:25px 28px;margin-bottom:28px;box-shadow:0 6px 18px #253d650b}
.section-heading{display:flex;align-items:center;gap:11px}.section-heading h2{font-size:1.2rem;margin:0}.section-mark{width:5px;height:24px;background:var(--red);border-radius:4px}
.section-lead{font-size:.88rem;color:var(--muted);line-height:1.8;margin:10px 0 17px}
.cert-group{border-top:1px solid #e5eaf1;padding-top:14px;margin-top:13px}
.cert-group h3{font-size:.78rem;letter-spacing:.03em;color:#b52235;margin:0 0 9px}
.cert-group p{font-size:.92rem;font-weight:650;margin:0;line-height:1.65;overflow-wrap:anywhere}
.cert-group ul{padding-left:1.15em;margin:0;display:grid;gap:10px;font-size:.91rem;line-height:1.7}
.cert-group li::marker{color:#c92735}.cert-note{color:#52627a}
@media(max-width:520px){.certifications{padding:20px;margin-bottom:22px}.cert-group ul{font-size:.84rem}.cert-group p{font-size:.84rem}}

.avatar img{display:block;width:100%;height:100%;object-fit:cover;border-radius:50%}
