:root { --bg:#fff; --fg:#0a0a0a; --muted:#5a5a5a; --line:#e9e9e9; --accent:#111; }
*{box-sizing:border-box} html,body{margin:0;padding:0}
html{scroll-behavior:smooth}
body{background:var(--bg);color:var(--fg);font-family:"Noto Sans",system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;line-height:1.6; -webkit-user-select:none;user-select:none;-webkit-touch-callout:none}
.container{max-width:1120px;margin:0 auto;padding:0 20px; overflow-wrap:anywhere}
.site-header{position:sticky;top:0;background:rgba(255,255,255,.8);backdrop-filter:saturate(1.2) blur(8px);border-bottom:1px solid var(--line);z-index:10}
.nav{display:flex;align-items:center;justify-content:space-between;height:64px;position:relative}
.brand{font-weight:700;letter-spacing:.04em;text-decoration:none;color:var(--fg)}
.nav-links a{color:var(--fg);opacity:.8;text-decoration:none;margin-left:20px;transition:opacity .2s;position:relative}
.nav-links a::after{content:"";position:absolute;left:0;right:0;bottom:-6px;height:2px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .25s}
.nav-links a:hover::after{transform:scaleX(1)}
.progress{position:sticky;top:0;height:2px;background:#0a0a0a;transform-origin:left;transform:scaleX(0);z-index:11}
.scroll-hint{position:absolute;left:50%;bottom:10px;transform:translateX(-50%);font-size:.85rem;color:var(--muted);animation:hint 1.8s infinite}
@keyframes hint{0%,100%{transform:translate(-50%,0)}50%{transform:translate(-50%,6px)}}
.hero{position:relative;overflow:hidden;padding:72px 0}
.hero-inner{display:grid;grid-template-columns:1fr 1.2fr;gap:40px;align-items:center}
.hero-media{position:relative;aspect-ratio:4/5;border-radius:16px;overflow:hidden;box-shadow:0 20px 50px rgba(0,0,0,.144);transform:translateZ(0)}
.portrait{width:100%;height:100%;object-fit:cover;display:block;filter:saturate(1.05) contrast(1.02);pointer-events:none; -webkit-user-drag:none}
.hero-grid{position:absolute;inset:-2px;background:
  linear-gradient(to right, rgba(0,0,0,.04) 1px, transparent 1px) 0 0/24px 24px,
  linear-gradient(to bottom, rgba(0,0,0,.04) 1px, transparent 1px) 0 0/24px 24px;
mask:linear-gradient(180deg,#000 20%,transparent 85%);pointer-events:none;transform:translateZ(0)}
.hero-copy .updated{color:var(--muted);font-size:.9rem;margin:0 0 8px}
.name{font-size:clamp(28px,4vw,42px);margin:6px 0 8px}
.meta,.role{margin:0 0 12px;color:var(--muted)}
.role{font-weight:600;color:var(--fg)}
.cta{display:flex;gap:12px;margin:18px 0 12px}
.btn{appearance:none;border:1px solid var(--fg);background:var(--fg);color:#fff;border-radius:10px;padding:12px 18px;font-weight:600;text-decoration:none;transition:transform .15s ease, box-shadow .2s}
.btn:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(0,0,0,.144)}
.btn.ghost{background:transparent;color:var(--fg)}
.prefs{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:8px 16px;padding:0;margin:16px 0 0;list-style:none;color:var(--muted)}
.section{padding:72px 0;border-top:1px solid var(--line)}
.section-title{font-size:clamp(22px,2.6vw,28px);margin:0 0 24px}
.lead{font-size:1.05rem;color:var(--fg);opacity:.9;margin:0 0 10px}
.grid.two{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.card{border:1px solid var(--line);border-radius:12px;padding:18px;background:#fff;box-shadow:0 6px 18px rgba(0,0,0,.048)}
.card-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px}
.card .position{font-weight:600;margin:.2rem 0}
.time{font-family:"Space Mono",monospace;color:var(--muted);font-size:.9rem}
.list{margin:.4rem 0 0 1rem}
.chips{display:flex;flex-wrap:wrap;gap:10px; margin-bottom:16px}
.chip{border:1px dashed var(--line);padding:8px 12px;border-radius:999px;background:#fafafa;transition:transform .15s}
.chip:hover{transform:translateY(-2px)}
.grid.two.lang{gap:20px; margin-top:16px}
.contact .contact-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px}
.contact-item{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:12px;padding:14px;text-decoration:none;color:inherit;transition:background .2s}
.contact-item:hover{background:#fafafa}
.label{color:var(--muted);font-size:.9rem}
.value{font-weight:600}
.site-footer{border-top:1px solid var(--line);padding:20px 0;margin-top:32px}
.footer-inner{display:flex;justify-content:space-between;align-items:center}
.mono{font-family:"Space Mono",monospace;color:var(--muted)}
.hamburger{display:none;position:relative;width:40px;height:40px;border:0;background:transparent;cursor:pointer}
.hamburger span{display:block;height:2px;background:var(--fg);margin:6px 8px;border-radius:2px;transition:transform .2s, opacity .2s}
.hamburger.is-open span:nth-child(1){transform:translateY(8px) rotate(45deg)}
.hamburger.is-open span:nth-child(2){opacity:0}
.hamburger.is-open span:nth-child(3){transform:translateY(-8px) rotate(-45deg)}
.mobile-menu{display:none;position:fixed;top:64px;left:0;right:0;background:#fff;border-bottom:1px solid var(--line);box-shadow:0 12px 28px rgba(0,0,0,.12);z-index:1000}
.mobile-menu a{display:block;padding:14px 20px;color:inherit;text-decoration:none;border-top:1px solid var(--line)}
.mobile-menu.open{display:block;animation:drop .18s ease-out}
@keyframes drop{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}
@media (max-width:920px){ .hero-inner{grid-template-columns:1fr;gap:24px} .hero{padding:56px 0} }
@media (max-width:700px){
  .nav{height:56px}
  .nav-links{display:none}
  .hamburger{display:block}
  .mobile-menu{top:56px}
  .section{padding:56px 0}
  .prefs{grid-template-columns:1fr}
  .grid.two{grid-template-columns:1fr}
  .chips{gap:8px}
  .contact .contact-grid{grid-template-columns:1fr}
}
.reveal{opacity:0;transform:translateY(14px)}