:root{--ink:#0d1726;--ink-soft:#3b4757;--paper:#f3f0e9;--paper-2:#e9e3d9;--accent:#b86d3d;--line:rgba(13,23,38,.16);--white:#fffdf8}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:"DM Sans",sans-serif;font-size:16px;line-height:1.5}a{color:inherit}.page-shell{width:min(1440px,100%);margin:0 auto;overflow:hidden}.site-header{min-height:92px;padding:0 5vw;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{width:44px;height:44px;border:1px solid var(--ink);display:grid;place-items:center;text-decoration:none;font-family:"Manrope",sans-serif;font-weight:700;letter-spacing:-.04em}.nav{display:flex;gap:34px}.nav a{text-decoration:none;font-size:14px;color:var(--ink-soft);transition:color .2s ease}.nav a:hover{color:var(--ink)}.menu-toggle{display:none;border:0;background:transparent}.hero{min-height:680px;padding:7vw 5vw 6vw;display:grid;grid-template-columns:minmax(0,1.45fr) minmax(300px,.55fr);gap:8vw;align-items:end}.eyebrow,.section-label{margin:0 0 28px;color:var(--accent);font-size:12px;font-weight:600;letter-spacing:.14em}.hero h1{max-width:900px;margin:0;font-family:"Manrope",sans-serif;font-size:clamp(58px,8.8vw,128px);line-height:.9;letter-spacing:-.065em;font-weight:600}.hero h1 span{color:var(--accent)}.hero-text{max-width:650px;margin:38px 0 0;color:var(--ink-soft);font-size:clamp(18px,1.5vw,22px)}.hero-actions{margin-top:38px;display:flex;align-items:center;gap:28px}.button{display:inline-flex;min-height:52px;align-items:center;justify-content:center;padding:0 24px;text-decoration:none;font-weight:600;font-size:14px}.button-primary{background:var(--ink);color:var(--white)}.text-link{text-decoration:none;font-size:14px;font-weight:600}.text-link span{margin-left:6px}.hero-card{min-height:420px;background:var(--ink);color:var(--white);padding:32px;display:flex;flex-direction:column;justify-content:space-between}.monogram{font-family:"Manrope",sans-serif;font-size:84px;line-height:1;letter-spacing:-.08em;color:var(--accent)}.hero-card-bottom p{color:rgba(255,255,255,.68);font-size:14px}.status{margin-top:28px;padding-top:20px;border-top:1px solid rgba(255,255,255,.16);font-size:13px;display:flex;align-items:center;gap:10px}.status span{width:8px;height:8px;background:#8caf86;border-radius:50%}.ticker{background:var(--accent);overflow:hidden;white-space:nowrap}.ticker-track{width:max-content;padding:16px 0;display:flex;gap:22px;animation:scroll 26s linear infinite;font-family:"Manrope",sans-serif;font-size:12px;font-weight:700;letter-spacing:.1em}.ticker-track i{font-style:normal;opacity:.6}@keyframes scroll{to{transform:translateX(-50%)}}.section{padding:9vw 5vw;border-bottom:1px solid var(--line)}.two-column{display:grid;grid-template-columns:1fr 2fr;gap:8vw}.section-copy{max-width:850px}.section-copy h2,.experience-heading h2,.contact-section h2{margin:0;font-family:"Manrope",sans-serif;font-size:clamp(40px,5vw,72px);line-height:1.03;letter-spacing:-.045em;font-weight:600}.section-copy p{max-width:760px;margin:28px 0 0;color:var(--ink-soft);font-size:20px;line-height:1.55}.cards{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.focus-card{min-height:250
	px;padding:28px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;flex-direction:column}.focus-card>span{color:var(--accent);font-size:12px}.focus-card h3{margin: margin: 42px 0 14px;font-family:"Manrope",sans-serif;font-size:26px;letter-spacing:-.025em}.focus-card p{margin:0;color:var(--ink-soft);font-size:15px}.experience-section{background:var(--ink);color:var(--white)}.experience-section .section-label{color:#d99a73}.experience-heading{display:grid;grid-template-columns:1fr 2fr;gap:8vw;margin-bottom:72px}.experience-list{border-top:1px solid rgba(255,255,255,.16)}.experience-item{padding:34px 0;display:grid;grid-template-columns:1fr 2fr;gap:8vw;border-bottom:1px solid rgba(255,255,255,.16)}.experience-meta p{margin:0 0 8px;font-weight:600}.experience-meta span,.experience-body p{color:rgba(255,255,255,.6)}.experience-meta span{font-size:13px}.experience-body h3{margin:0 0 14px;font-family:"Manrope",sans-serif;font-size:26px}.experience-body p{max-width:720px;margin:0;font-size:16px}.quote-section{padding:10vw 5vw;background:var(--paper-2)}.quote-section blockquote{max-width:1100px;margin:0;font-family:"Manrope",sans-serif;font-size:clamp(42px,6.3vw,90px);line-height:1.02;letter-spacing:-.05em;font-weight:500}.contact-section{padding:9vw 5vw}.contact-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:8vw;align-items:end}.contact-details>p{color:var(--ink-soft);margin:0 0 16px}.contact-email{display:inline-block;font-family:"Manrope",sans-serif;font-size:clamp(26px,3vw,42px);text-decoration-thickness:1px;text-underline-offset:7px}.social-link{display:block;width:fit-content;margin-top:30px;text-decoration:none;font-weight:600}footer{padding:26px 5vw;display:flex;justify-content:space-between;border-top:1px solid var(--line);color:var(--ink-soft);font-size:12px}footer p{margin:0}.reveal{opacity:0;transform:translateY(20px);animation:reveal .8s ease forwards}.delay-1{animation-delay:.08s}.delay-2{animation-delay:.16s}.delay-3{animation-delay:.24s}@keyframes reveal{to{opacity:1;transform:translateY(0)}}@media(max-width:980px){.hero{grid-template-columns:1fr;min-height:auto;padding-top:100px}.hero-card{min-height:300px}.two-column,.experience-heading,.experience-item,.contact-grid{grid-template-columns:1fr;gap:34px}.cards{grid-template-columns:repeat(2,1fr)}}@media(max-width:700px){.site-header{min-height:76px}.nav{position:fixed;inset:76px 0 auto 0;background:var(--paper);border-bottom:1px solid var(--line);flex-direction:column;gap:0;padding:14px 5vw 24px;transform:translateY(-140%);transition:transform .25s ease;z-index:10}.nav.open{transform:translateY(0)}.nav a{padding:14px 0;font-size:16px}.menu-toggle{display:block;width:38px;height:38px;padding:9px 6px}.menu-toggle span{display:block;height:1px;background:var(--ink);margin:6px 0}.hero{padding:80px 5vw 60px}.hero h1{font-size:clamp(54px,16vw,84px)}.hero-actions{align-items:flex-start;flex-direction:column;gap:20px}.section,.quote-section,.contact-section{padding:90px 5vw}.cards{grid-template-columns:1fr}.focus-card{min-height:240px}footer{gap:20px;flex-direction:column}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.ticker-track,.reveal{animation:none}.reveal{opacity:1;transform:none}}

/* Bilingual header + Japanese typography */
.header-right { display:flex; align-items:center; gap:28px; }
.language-toggle { display:flex; align-items:center; gap:7px; font-size:12px; letter-spacing:.04em; color:var(--ink-soft); white-space:nowrap; }
.lang-button { appearance:none; border:0; padding:3px 0; background:transparent; color:var(--ink-soft); font:inherit; cursor:pointer; opacity:.55; transition:opacity .2s ease,color .2s ease; }
.lang-button:hover,.lang-button.active { opacity:1; color:var(--ink); }
.lang-button.active { font-weight:600; }
html[lang="ja"] body { font-family:"Noto Sans JP","DM Sans",sans-serif; line-height:1.8; }
html[lang="ja"] .hero h1,
html[lang="ja"] .section-copy h2,
html[lang="ja"] .experience-heading h2,
html[lang="ja"] .contact-section h2,
html[lang="ja"] .quote-section blockquote,
html[lang="ja"] .focus-card h3,
html[lang="ja"] .experience-body h3 { font-family:"Noto Sans JP",sans-serif; letter-spacing:-.035em; }
html[lang="ja"] .hero h1 { line-height:1.12; }
html[lang="ja"] .section-copy p,
html[lang="ja"] .experience-body p,
html[lang="ja"] .focus-card p { line-height:1.85; }
@media (max-width:700px) { .header-right { gap:14px; } .language-toggle { margin-left:auto; } .nav { padding-top:18px; } }
/* Full-bleed hero portrait */
.hero-photo-card {
  padding: 0;
  overflow: hidden;
  position: relative;
  background: transparent;
}

.profile-photo {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
  display: block;
}

.photo-shade {
  position: absolute;
  inset: 0;
}

.photo-caption {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  padding: 32px;
  z-index: 2;
}